FC-DEV-FinalProject / final-fe-team4

4조 프론트엔드 깃허브
0 stars 2 forks source link

[feat] 마이페이지 퍼블리싱 #139 #169

Closed sjgaru-dev closed 1 week ago

sjgaru-dev commented 1 week ago

close #139

다른 페이지에서 재활용은 없을 거 같아서 한 페이지에 몰아넣었습니다. 컨벤션 안 맞거나 틀린 부분 있으면 편하게 알려주세요. 바로 반영하겠습니다.

Sourcery에 의한 요약

사용자 프로필 및 비밀번호 설정을 관리하기 위한 새로운 'MyPage' 컴포넌트를 추가하고, '/mypage' 경로를 포함하도록 라우터를 업데이트합니다.

새로운 기능:

개선 사항:

Original summary in English ## Summary by Sourcery Add a new 'MyPage' component to manage user profiles and password settings, and update the router to include a '/mypage' route. New Features: - Introduce a new 'MyPage' component for user profile management, including tabs for profile information and password settings. Enhancements: - Add a new route '/mypage' to the router configuration to support navigation to the MyPage component.
sourcery-ai[bot] commented 1 week ago

리뷰어 가이드 by Sourcery

이 PR은 사용자 프로필 관리 기능을 갖춘 새로운 MyPage 컴포넌트를 구현합니다. 구현은 폼 처리를 위해 React Hook Form을 사용하며, 프로필 정보 및 비밀번호 설정을 위한 탭을 포함합니다. 이 페이지는 애플리케이션의 라우팅 시스템에 통합되어 있습니다.

새로운 MyPage 컴포넌트의 클래스 다이어그램

classDiagram
  class MyPage {
    - useState activeTab
    - useForm form
    + onSubmit(data: ProfileFormData)
  }
  class ProfileFormData {
    + string email
    + string name
    + string phone
  }
  MyPage --> ProfileFormData
  class MainHeader {
    + string name
    + string email
    + string imageUrl
    + onMyPage()
    + onSignout()
  }
  MyPage --> MainHeader
  class PageLayout {
    + string variant
    + MainHeader header
  }
  MyPage --> PageLayout

파일 수준 변경 사항

변경 사항 세부 사항 파일
새로운 MyPage 경로 및 컴포넌트 추가
  • 새로운 MYPAGE 상수 경로 추가
  • 라우터 구성에 새로운 경로 등록
src/routes/router.tsx
프로필 관리 기능을 갖춘 MyPage 컴포넌트 구현
  • 프로필 및 보안 섹션을 위한 탭 인터페이스 생성
  • 이메일, 이름, 전화번호 및 아바타 관리를 포함한 프로필 폼 구현
  • 현재 비밀번호 및 새 비밀번호 필드를 포함한 비밀번호 변경 폼 추가
  • 폼 상태 관리를 위한 React Hook Form과 통합
  • 필수 필드와 함께 폼 유효성 검사 표시기 추가
  • 일관된 간격 및 구분선이 있는 반응형 레이아웃 구현
src/pages/MyPage.tsx
모의 파일 제거
  • mockdown.cjs 및 mockup.cjs 파일 제거
mock/mockdown.cjs
mock/mockup.cjs

관련된 문제일 가능성 있음


팁 및 명령어 #### Sourcery와 상호작용하기 - **새로운 리뷰 트리거:** 풀 리퀘스트에 `@sourcery-ai review`라고 댓글을 남깁니다. - **토론 계속하기:** Sourcery의 리뷰 댓글에 직접 답글을 남깁니다. - **리뷰 댓글로부터 GitHub 이슈 생성:** 리뷰 댓글에 답글을 달아 Sourcery에게 이슈 생성을 요청합니다. - **풀 리퀘스트 제목 생성:** 풀 리퀘스트 제목 어디에나 `@sourcery-ai`를 작성하여 언제든지 제목을 생성합니다. - **풀 리퀘스트 요약 생성:** 풀 리퀘스트 본문 어디에나 `@sourcery-ai summary`를 작성하여 언제든지 PR 요약을 생성합니다. 이 명령어를 사용하여 요약이 삽입될 위치를 지정할 수도 있습니다. #### 경험 맞춤화하기 [대시보드](https://app.sourcery.ai)에 접속하여: - Sourcery가 생성한 풀 리퀘스트 요약, 리뷰어 가이드 등과 같은 리뷰 기능을 활성화하거나 비활성화합니다. - 리뷰 언어를 변경합니다. - 사용자 정의 리뷰 지침을 추가, 제거 또는 편집합니다. - 기타 리뷰 설정을 조정합니다. #### 도움 받기 - 질문이나 피드백이 있을 경우 [지원 팀에 문의](mailto:support@sourcery.ai)하세요. - 자세한 가이드와 정보를 보려면 [문서](https://docs.sourcery.ai)를 방문하세요. - [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) 또는 [GitHub](https://github.com/sourcery-ai)에서 Sourcery 팀을 팔로우하여 소식을 받아보세요.
Original review guide in English ## Reviewer's Guide by Sourcery This PR implements a new MyPage component with user profile management functionality. The implementation uses React Hook Form for form handling and includes tabs for profile information and password settings. The page is integrated into the application's routing system. #### Class diagram for the new MyPage component ```mermaid classDiagram class MyPage { - useState activeTab - useForm form + onSubmit(data: ProfileFormData) } class ProfileFormData { + string email + string name + string phone } MyPage --> ProfileFormData class MainHeader { + string name + string email + string imageUrl + onMyPage() + onSignout() } MyPage --> MainHeader class PageLayout { + string variant + MainHeader header } MyPage --> PageLayout ``` ### File-Level Changes | Change | Details | Files | | ------ | ------- | ----- | | Added new MyPage route and component |
  • Added new MYPAGE constant path
  • Registered new route in the router configuration
| `src/routes/router.tsx` | | Implemented MyPage component with profile management features |
  • Created tabbed interface for profile and security sections
  • Implemented profile form with email, name, phone, and avatar management
  • Added password change form with current and new password fields
  • Integrated with React Hook Form for form state management
  • Added form validation indicators with required fields
  • Implemented responsive layout with consistent spacing and separators
| `src/pages/MyPage.tsx` | | Removed mock files |
  • Removed mockdown.cjs and mockup.cjs files
| `mock/mockdown.cjs`
`mock/mockup.cjs` | ### Possibly linked issues - **#1**: PR implements MyPage UI, related to issue's user info view/edit feature. ---
Tips and commands #### Interacting with Sourcery - **Trigger a new review:** Comment `@sourcery-ai review` on the pull request. - **Continue discussions:** Reply directly to Sourcery's review comments. - **Generate a GitHub issue from a review comment:** Ask Sourcery to create an issue from a review comment by replying to it. - **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull request title to generate a title at any time. - **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in the pull request body to generate a PR summary at any time. You can also use this command to specify where the summary should be inserted. #### Customizing Your Experience Access your [dashboard](https://app.sourcery.ai) to: - Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others. - Change the review language. - Add, remove or edit custom review instructions. - Adjust other review settings. #### Getting Help - [Contact our support team](mailto:support@sourcery.ai) for questions or feedback. - Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information. - Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).
github-actions[bot] commented 1 week ago

Visit the preview URL for this PR (updated for commit 6d4de57):

https://aipark-four-t--169-7rsf4kv7.web.app

(expires Wed, 27 Nov 2024 16:43:35 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: 0a4b3ef6ecc2c695a6a0d6ade46651e032870a9f

dhkim511 commented 1 week ago

이름이랑 전화번호도 사진 처럼 상하 간격 맞게 띄워주시고 forms 폴더에 분리만 시켜주시면 될 것 같습니다! (EditProfileForm..?)

nakyeonko3 commented 1 week ago

아쉽지만

  1. 이메일 변경은 못하게 막고
  2. 사진 업로드 하는 부분도 삭제해주시면 될 것 같아요. image
sjgaru-dev commented 1 week ago

메인헤더에 있는 프로필 사진도 그럼 날라갈텐데, 좀 허전할 것 같습니다. 지금 지수이미지처럼 프론트에서 몇 개 넣고 랜덤으로 처리하면 백엔드 변경없이 가능할 것 같은데 어떠신가요? 근데 그냥 무조건 다 같은 이미지로 통일하거나 날리는게 제일 쉽긴하겠네요. ㅋㅋ