-
Notifications
You must be signed in to change notification settings - Fork 1
Feat(client): 리마인드, 북마크 페이지 tooltip 구현 #174
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| import CardImg from '@assets/card_img.svg'; | ||
| export default function InfoCard() { | ||
| return ( | ||
| <div className="common-shadow bg-white-bg w-[24.6rem] rounded-[12px] px-[1.6rem] py-[2.4rem]"> | ||
| <p className="sub2-sb text-font-black-1 mb-[1.6rem] text-center"> | ||
| 치삐가 고치고 있어요 <span aria-hidden>🚧</span> | ||
| </p> | ||
|
|
||
| <div className="mb-[1.6rem] flex justify-center"> | ||
| <img src={CardImg} alt="메타 정보가 없을 때 표시되는 안내 이미지" /> | ||
| </div> | ||
|
|
||
| <p className="caption2-m text-font-gray-3"> | ||
| 현재 제목과 이미지 자동 불러오기 기능은 개선 중이에요. 저장한 콘텐츠를 | ||
| 쉽게 구분하려면, 메모에 직접 제목이나 키워드를 기록해 두면 더 편리해요. | ||
| <span aria-hidden>📝</span> | ||
| </p> | ||
| </div> | ||
| ); | ||
| } |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,29 @@ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import { Icon } from '@pinback/design-system/icons'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| import InfoCard from './InfoCard'; | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| export default function Tooltip() { | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| return ( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="mt-[0.8rem] flex items-center"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <p className="body3-r text-font-gray-3"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 일부 콘텐츠는 제목·이미지가 불러와지지 않을 수 있어요. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </p> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div className="relative inline-flex items-center"> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <button | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| type="button" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| aria-describedby="info-card" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| className="peer rounded p-[0.4rem]" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <Icon name="ic_info" size={16} /> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </button> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <div | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| id="info-card" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| className="pointer-events-none absolute left-0 top-[calc(100%+8px)] z-[100] opacity-0 transition-opacity duration-150 peer-hover:opacity-100 peer-focus-visible:opacity-100" | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| > | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| <InfoCard /> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+20
to
+24
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 고정 ID로 인한 중복 위험 Line [21]에서 예: -import { Icon } from '@pinback/design-system/icons';
-import InfoCard from './InfoCard';
+import { Icon } from '@pinback/design-system/icons';
+import { useId } from 'react';
+import InfoCard from './InfoCard';
export default function Tooltip() {
+ const infoCardId = useId();
+
return (
@@
- <button
- type="button"
- aria-describedby="info-card"
+ <button
+ type="button"
+ aria-describedby={infoCardId}
className="peer rounded p-[0.4rem]"
>
@@
- <div
- id="info-card"
+ <div
+ id={infoCardId}
className="pointer-events-none absolute left-0 top-[calc(100%+8px)] z-[100] opacity-0 transition-opacity duration-150 peer-hover:opacity-100 peer-focus-visible:opacity-100"
>📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| </div> | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ); | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| } | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아이콘 버튼 접근성 레이블 누락
Line [13]의 버튼은 아이콘만 포함하고 있어 스크린 리더에서 이름이 비어 있습니다.
aria-label등을 추가해 의도를 명확히 알려 주세요.예:
🤖 Prompt for AI Agents