Repository navigation
[REFACTOR] 설정 페이지 공용 Button 적용과 타이머 아이콘 상태별 세트 교체 #321
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
d9210ce
48a6c8f
97df411
8f922b2
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 |
|---|---|---|
| @@ -1,7 +1,7 @@ | ||
| import { PlayButton } from "./PlayButton"; | ||
| import { PlayIcon } from "../../../icons/generated/Play"; | ||
| import { ControlPauseActiveIcon } from "../../../icons/generated/ControlPauseActive"; | ||
| import { ControlPlayActiveIcon } from "../../../icons/generated/ControlPlayActive"; | ||
|
Comment on lines
+2
to
+3
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. 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win 새 아이콘 import를 절대 경로로 바꾸세요. Line 2-3은 상대 경로를 사용합니다. 이 파일에 적용되는 경로 지침은 절대 경로 import를 요구합니다. 저장소에서 설정한 절대 경로 alias를 사용하세요. 경로 지침의 “Use absolute imports” 규칙을 적용하세요. TypeScript 공식 모듈 문서도 참고할 수 있습니다. (typescriptlang.org) 🤖 Prompt for AI AgentsSource: Path instructions |
||
| import { PlayDisabledIcon } from "../../../icons/generated/PlayDisabled"; | ||
| import { StopIcon } from "../../../icons/generated/Stop"; | ||
|
|
||
| import type { Meta, StoryObj } from "@storybook/react"; | ||
|
|
||
|
|
@@ -47,7 +47,7 @@ export const Play: Story = { | |
| args: { variant: "play", size: "sm" }, | ||
| render: (args) => ( | ||
| <PlayButton {...args}> | ||
| <PlayIcon | ||
| <ControlPlayActiveIcon | ||
| width={args.size === "lg" ? 24 : 12} | ||
| height={args.size === "lg" ? 24 : 12} | ||
| /> | ||
|
|
@@ -59,7 +59,7 @@ export const Stop: Story = { | |
| args: { variant: "stop", size: "sm" }, | ||
| render: (args) => ( | ||
| <PlayButton {...args}> | ||
| <StopIcon | ||
| <ControlPauseActiveIcon | ||
| width={args.size === "lg" ? 24 : 12} | ||
| height={args.size === "lg" ? 24 : 12} | ||
| /> | ||
|
|
@@ -86,21 +86,21 @@ export const AllVariants: Story = { | |
| <div className="flex flex-col gap-6"> | ||
| <div className="flex items-center gap-4"> | ||
| <PlayButton variant="play" size="sm"> | ||
| <PlayIcon width={12} height={12} /> | ||
| <ControlPlayActiveIcon width={12} height={12} /> | ||
| </PlayButton> | ||
| <PlayButton variant="stop" size="sm"> | ||
| <StopIcon width={12} height={12} /> | ||
| <ControlPauseActiveIcon width={12} height={12} /> | ||
| </PlayButton> | ||
| <PlayButton variant="play" size="sm" disabled> | ||
| <PlayDisabledIcon width={12} height={12} /> | ||
| </PlayButton> | ||
| </div> | ||
| <div className="flex items-center gap-4"> | ||
| <PlayButton variant="play" size="lg"> | ||
| <PlayIcon width={24} height={24} /> | ||
| <ControlPlayActiveIcon width={24} height={24} /> | ||
| </PlayButton> | ||
| <PlayButton variant="stop" size="lg"> | ||
| <StopIcon width={24} height={24} /> | ||
| <ControlPauseActiveIcon width={24} height={24} /> | ||
| </PlayButton> | ||
| <PlayButton variant="play" size="lg" disabled> | ||
| <PlayDisabledIcon width={24} height={24} /> | ||
|
|
||
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.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🔎 Supported by static analysis
🏁 Script executed:
Repository: Team-Timo/Timo-client
Length of output: 14956
🏁 Script executed:
Repository: Team-Timo/Timo-client
Length of output: 24025
🏁 Script executed:
Repository: Team-Timo/Timo-client
Length of output: 42138
🏁 Script executed:
Repository: Team-Timo/Timo-client
Length of output: 330
🏁 Script executed:
Repository: Team-Timo/Timo-client
Length of output: 41575
🏁 Script executed:
Repository: Team-Timo/Timo-client
Length of output: 6365
실행 중 버튼에
pause레이블을 사용하세요.pause 아이콘은 실제 동작과 맞습니다. 하지만 실행 중인 타이머의 버튼은
variant="stop"때문에 스크린 리더에정지로 읽힙니다. 현재 타이머가 해당 할 일과 일치하는 경우 Home·Today·상세 모달의 핸들러는"PAUSE"를 요청하고, Focus 화면도 실행 중인 타이머에"PAUSE"를 요청합니다.pausevariant를 추가하고 네 화면 및 Storybook 예시에서 사용하세요. WAI-ARIA Button Pattern도 참고할 수 있습니다.수정 제안
📍 Affects 5 files
apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/home/_components/todo-card/HomeTodoCard.tsx#L145-L145(this comment)apps/timo-web/app/[locale]/(main)/(with-time-sidebar)/today/_components/TodayTodoCard.tsx#L138-L138apps/timo-web/app/[locale]/(main)/focus/_components/FocusTaskItem.tsx#L80-L80apps/timo-web/components/todo-modal/detail/DetailTodoTaskFields.tsx#L108-L108packages/timo-design-system/src/components/button/play-button/PlayButton.stories.tsx#L62-L62🤖 Prompt for AI Agents