diff --git a/src/features/mypage/ui/section/ProjectListSection.tsx b/src/features/mypage/ui/section/ProjectListSection.tsx index 60d1e5a..1760d98 100644 --- a/src/features/mypage/ui/section/ProjectListSection.tsx +++ b/src/features/mypage/ui/section/ProjectListSection.tsx @@ -70,9 +70,18 @@ export const ProjectListSection = () => { - navigate(DYNAMIC_ROUTE_PATHS.PROJECT_DETAIL(project.projectId)) - } + onClick={() => { + if (project.status === "IN_PROGRESS") { + navigate( + DYNAMIC_ROUTE_PATHS.UPLOAD_STEP_RESUME_ENTRY( + project.projectId, + ), + ); + return; + } + + navigate(DYNAMIC_ROUTE_PATHS.PROJECT_DETAIL(project.projectId)); + }} updatedAt={project.createdAt} status={project.status} roadmapType={project.roadmapType} diff --git a/src/features/upload/components/features/index.ts b/src/features/upload/components/features/index.ts new file mode 100644 index 0000000..56f8211 --- /dev/null +++ b/src/features/upload/components/features/index.ts @@ -0,0 +1 @@ +export * from "./upload-step"; diff --git a/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx b/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx new file mode 100644 index 0000000..308ec3c --- /dev/null +++ b/src/features/upload/components/features/upload-step/UploadStepIndicator.tsx @@ -0,0 +1,89 @@ +import { Box, Flex, Text } from "@chakra-ui/react"; + +import { ROADMAP_STEP_NAMES } from "@/entities"; + +type Props = { + current: number; + stepCodes: string[]; +}; + +export const UploadStepIndicator = ({ current, stepCodes }: Props) => { + return ( + + + {Array.from({ length: stepCodes.length - 1 }, (_, i) => ( + + ))} + + + + {stepCodes.map((code, i) => { + const stepId = i + 1; + const isActive = stepId === current; + const isDone = stepId < current; + + return ( + + + + + + {stepId} + + + + + + {ROADMAP_STEP_NAMES[code] ?? code} + + + ); + })} + + + ); +}; diff --git a/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx b/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx new file mode 100644 index 0000000..fa20850 --- /dev/null +++ b/src/features/upload/components/features/upload-step/UploadStepResultInput.tsx @@ -0,0 +1,57 @@ +import { Box, Text, Textarea, VStack } from "@chakra-ui/react"; + +type Props = { + value: string; + onChange: (value: string) => void; +}; + +export const UploadStepResultInput = ({ value, onChange }: Props) => { + return ( + + + 작업 결과 입력 + + + +