[PR] 과제 업로드 단계 페이지(UploadStepPage) 리펙토링#64
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! 이 PR은 업로드 스텝 페이지의 구조를 개선하고 사용자 경험을 향상시키는 데 중점을 둡니다. 페이지의 UI와 로직을 모듈화하여 코드의 가독성과 유지보수성을 크게 높였으며, 진행 중인 프로젝트를 사용자가 중단했던 지점부터 쉽게 재개할 수 있도록 새로운 진입 흐름을 도입했습니다. 또한, 공통적으로 사용되는 기능들을 별도의 컴포넌트나 훅으로 분리하여 코드 재사용성을 증대시켰습니다. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request introduces a significant refactoring and enhancement of the project upload step functionality. It modularizes the UploadStepPage by extracting UI components (UploadStepIndicator, UploadStepResultInput, UploadStepContentSection, UploadStepHeaderSection) and custom hooks (useUploadStepData, useUploadStepNavigation, useUploadStepProject, useUploadStepResumeRedirect, useUploadStepSubmission) to manage step-specific logic, data fetching, navigation, and submission. A new BackButton component and a useClipboardCopy hook are also added for reusability. The changes also update routing to support dynamic step navigation and a resume feature for in-progress projects, redirecting users to their last uncompleted step. There are no review comments to address.
📌 요약 (Summary)
✅ 주요 변경 사항 (Key Changes)
UploadStepPage를 헤더 섹션과 본문 섹션으로 나눴습니다.🛠 상세 구현 내용 (Implementation Details)
1. 업로드 step 페이지 구조 정리
UploadStepPage는 라우트 확인과 섹션 조립만 하도록 정리했습니다.UploadStepHeaderSection으로 분리했습니다.UploadStepContentSection으로 분리했습니다.2. 업로드 step 로직 분리
useUploadStepProject- step 정보 계산useUploadStepData- 현재 step 데이터 조회useUploadStepNavigation- 이전 단계 이동useUploadStepSubmission- 결과 저장과 완료 처리이렇게 나눠, 한 hook에 몰려있던 일을 나눴습니다.
3. 진행 중인 프로젝트 이어하기
IN_PROGRESS상태의 프로젝트를 누르면 상세 페이지가 아니라 업로드 step 페이지로 이동하도록 바꿨습니다.resume진입으로 들어온 경우에만, 사용자가 마지막으로 이어서 해야 하는 step으로 이동합니다.4. 경로와 공통 코드 정리
BackButton으로 분리했습니다.useClipboardCopyhook으로 분리했습니다.🚨 트러블 슈팅 (Trouble Shooting)
default.mp4
resume은 "처음 들어올 때만" 동작하도록 바꿨습니다.enabled조건을 분리해서 해결했습니다.📎 알려진 이슈 및 참고 사항 (Known Issues & Notes)
UploadStepIndicator는 나중에 다른 화면에서도 같이 쓰게 되면, 위치를 다시 올릴지 검토할 수 있습니다.🖼 스크린샷 (Screenshots)
default.mp4
#️⃣ 관련 이슈 (Related Issues)