-
Couldn't load subscription status.
- Fork 3
Qi1 5 회원가입 레이아웃 제작 및 기능 구현 #12
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
The head ref may contain hidden characters: "QI1-5-\uD68C\uC6D0\uAC00\uC785-\uB808\uC774\uC544\uC6C3-\uC81C\uC791-\uBC0F-\uAE30\uB2A5-\uAD6C\uD604"
Conversation
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.
Summary of Changes
Hello @seungwoo505, 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!
This pull request primarily focuses on establishing the foundational UI and initial functionality for user authentication. I've developed a suite of reusable form components and a shared logo, which are then integrated into a new, comprehensive user registration page. This registration process includes form state management, client-side validation, and a framework for email and phone number verification. Additionally, I've enhanced the existing login page with improved styling, a password visibility toggle, social login options, and a new modal for ID/password recovery.
Highlights
- New Shared UI Components: I've introduced several reusable React components for form inputs, including a general input field (
InputField), an input field with an accompanying button (InputWithButton), a password input with a visibility toggle (PasswordInput), and a dedicated verification code input (VerificationInput). AUserLogocomponent for authentication screens has also been added. These components promote consistency and reusability across the application's authentication flows. - User Registration Form Implementation: A comprehensive signup page (
app/singUp/page.tsx) has been implemented. This page utilizes the newly created shared input components to collect user details such as name, nickname, email, and phone number, along with password creation and confirmation. It includes client-side validation and state management for the signup process. - Verification Flow Framework: The signup form incorporates a framework for email and phone number verification. While the actual backend verification logic is noted as partially implemented or mocked for now, the UI includes steps for sending verification codes, inputting them, and displaying timers and status indicators.
- Login Page Enhancements: The existing login page (
app/login/page.tsx) has received significant UI/UX improvements. This includes updated styling, a password visibility toggle, and the integration of social login buttons (Kakao, Naver) with responsive SVG assets. The layout has also been updated to use the newUserLogocomponent. - ID/Password Search Modal: A new
SearchModalcomponent has been added to the login page. This modal provides functionality for users to search for their ID or reset their password, featuring a tabbed interface to switch between these two options.
Using Gemini Code Assist
The 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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and 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 to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
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.
Code Review
이번 PR은 회원가입 및 로그인 페이지의 레이아웃과 기본 기능을 구현하는 변경 사항을 담고 있습니다. 여러 재사용 가능한 컴포넌트가 추가된 점은 좋으나, 몇 가지 중요한 개선점이 필요해 보입니다.
주요 피드백:
- Critical:
UserLogo컴포넌트의 하이드레이션 오류 가능성, API 엔드포인트 URL 하드코딩,PasswordInput컴포넌트 미사용으로 인한 코드 중복 문제가 있습니다. 이 부분들은 즉시 수정이 필요합니다. - High: 상태 관리에 매직 넘버를 사용하거나 타입 안정성이 부족한 부분이 있어 리팩토링이 필요합니다.
- Medium: 스타일 가이드에 명시된 파일명 규칙 위반, JSDoc 누락, 코드 중복 등 유지보수성을 저해하는 요소들이 있습니다.
전반적으로 컴포넌트 기반의 구조는 좋지만, 코드의 안정성과 유지보수성을 높이기 위해 제안된 사항들을 검토해주시기 바랍니다.
스타일 가이드:
리뷰는 제공된 'Toss TypeScript Style Guide'를 기반으로 작성되었습니다. 주요 검토 항목은 다음과 같습니다:
- 네이밍 컨벤션: 파일명
kebab-case(43-44행), 상수UPPER_SNAKE_CASE(40행) - 문서화: 모든 공개 함수/클래스에 JSDoc 작성 (47행)
- 타입 안정성: 엄격한 타입 사용 (11, 69행)
- 에러 처리: 사용자에게 의미 있는 에러 메시지 제공 (88행)
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.
넵
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.
확인했습니다!
📝 변경 사항
🔍 변경 사항 세부 설명
🕵️♀️ 요청사항
📷 스크린샷 (선택)