Skip to content

LC-3016 마이페이지 피드백 페이지 구현#2298

Draft
yeji424 wants to merge 32 commits intomainfrom
LC-3016-마이페이지-피드백-페이지-구현

Hidden character warning

The head ref may contain hidden characters: "LC-3016-\ub9c8\uc774\ud398\uc774\uc9c0-\ud53c\ub4dc\ubc31-\ud398\uc774\uc9c0-\uad6c\ud604"
Draft

LC-3016 마이페이지 피드백 페이지 구현#2298
yeji424 wants to merge 32 commits intomainfrom
LC-3016-마이페이지-피드백-페이지-구현

Conversation

@yeji424
Copy link
Copy Markdown
Collaborator

@yeji424 yeji424 commented May 1, 2026

연관 작업

yeji424 added 8 commits May 1, 2026 17:37
- 네비게이션 아이템 타입을 UI와 분리
- activeStatus 조건문을 pathname 기반 비교 함수로 교체
- subItems로 중첩 메뉴 구조 확장 가능하도록 설계
- layout에 CategoryTabs 탭 추가
- 모바일: 기본, 데스크톱: full
- 더미데이터 사용
- 라이브 피드백 페이지에 배치
- LiveFeedbackPage 쿼리 파라미터 + fixed 오버레이 제거, router.push로 전환
- 상세 페이지 진입 시 모바일 NavBar, CategoryTabs 숨김 처리
- useMemo/useCallback으로 카드 리스트 불필요한 리렌더 방지
@yeji424 yeji424 self-assigned this May 1, 2026
@github-actions github-actions Bot changed the title Lc 3016 마이페이지 피드백 페이지 구현 LC-3016 마이페이지 피드백 페이지 구현 May 1, 2026
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이번 PR은 미션 피드백 기능을 위해 서면/라이브 피드백 레이아웃과 페이지, FeedbackMissionCard 컴포넌트를 구현하고, NavBar에 서브 메뉴 기능을 추가했습니다. 리뷰를 통해 temp 폴더 사용 지양 및 도메인 기반 폴더 구조 준수, 매직 넘버와 매직 스트링의 상수화, 중첩 삼항 연산자 개선 등 스타일 가이드 준수 사항이 지적되었습니다. 또한 Next.js Image 컴포넌트 활용, CSS 클래스 오타 수정, 상세 페이지 판별 로직의 일관성 유지와 같은 코드 품질 개선 제안이 이루어졌습니다.


import { Suspense } from 'react';

import LiveFeedbackPage from '@/temp/feedback/LiveFeedbackPage';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

현재 컴포넌트가 src/temp/ 폴더에서 임포트되고 있습니다. 저장소 가이드라인의 도메인 기반 폴더 구조 원칙에 따라, 해당 기능은 src/domain/challenge/feedback/ 폴더 내에 위치해야 합니다. temp 폴더 사용을 지양하고 올바른 도메인 폴더로 이동해 주세요.

References
  1. 도메인 기반 폴더 구조 가이드라인에 따라 모든 기능 코드는 domain/{도메인}/ 폴더 내에 배치되어야 합니다. (link)

Comment thread apps/web/src/common/ui/CategoryTabs.tsx Outdated
Comment thread apps/web/src/domain/challenge/feedback/FeedbackMissionCard.tsx
Comment thread apps/web/src/domain/challenge/feedback/FeedbackMissionCard.tsx Outdated
Comment thread apps/web/src/domain/challenge/feedback/dummy.ts Outdated
: pathname.endsWith('guides')
? 'GUIDE'
: 'DASHBOARD';
const isDetailPage = /\/feedback\/live\/[^/]+$/.test(pathname);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

isDetailPage를 판별하는 로직이 정규표현식으로 구현되어 있습니다. FeedbackLayout에서 사용된 startsWith 방식과 상이하여 일관성이 떨어지며, URL 구조 변경 시 유지보수가 어려울 수 있습니다. 공통 유틸리티로 추출하거나 로직을 통일하는 것을 권장합니다.

Comment thread apps/web/src/temp/feedback/LiveFeedbackPage.tsx Outdated
@yeji424 yeji424 marked this pull request as draft May 1, 2026 16:05
yeji424 added 18 commits May 2, 2026 02:43
- 서면/라이브 피드백 페이지에서 추천 프로그램 섹션 노출
- 개별 미션 피드백 상세(/missions/.../feedback)는 기존대로 미노출 유지
- 주 표시 바, 예약 시간표, 예약 내역 바
- 오타 수정
- 삼향연상자 지양
- 타입체크오류 수정
- 멘토 선택 Swiper 제거
- assignedMentor 추가
- Reservation mentor 필드 제거
- MentorSection, TimeSlotSection, ReservationInfoSection props 정리
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant