Skip to content

[Feat/#111] 내 내역 확인 화면 (열린피드백 작성내역·학생회비 납부내역·사물함 배정 상태) - #113

Open
sangrae2325 wants to merge 8 commits into
mainfrom
feat/#111-my-history-screens
Open

sangrae2325 wants to merge 8 commits into
mainfrom
feat/#111-my-history-screens

Conversation

@sangrae2325

@sangrae2325 sangrae2325 commented Oct 9, 2026 •

Copy link
Copy Markdown
Collaborator

#️⃣연관된 이슈

🎯 해결하려는 문제가 무엇인가요?

홈의 내 정보 목록(학생회비·열린피드백·사물함)에서 들어갈 화면이 없었다. Figma 홈 섹션(3147:145181)의 내 내역 화면 3종을 목데이터로 구현한다.

화면 주소 Figma 상태
열린피드백 작성내역 /my/feedbacks 목록 3147:147748, 빈 상태 3147:147818
작성내역 상세 /my/feedbacks/:feedbackId 답변완료 3147:147756, 답변대기 3147:147779
학생회비 납부내역 /my/fee 납부확인중 3147:147860, 확인필요 3147:147879, 납부완료 3147:147841
사물함 배정 상태 /my/locker 배정완료 3147:148357, 빈 상태 3147:148331
내 사물함(위치 보기) /my/locker/location Figma 없음 — 칸 선택 화면을 보기 전용으로

❓ 왜 해결해야 하나요?

홈에서 자기 납부·피드백·사물함 상태를 요약만 보고 자세한 내역을 확인할 곳이 없다. 홈 → 각 화면 라우터 연결 이슈를 하기 전에 들어갈 화면이 먼저 있어야 한다.

실제뷰

image image image image image image

⭐ 어떻게 해결했나요?

1. 데이터는 main 규칙대로 (entities/<도메인> + mockupApi + use() + 화면별 스켈레톤)

  • entities/feedbacks: fetchMyFeedbacks·fetchMyFeedback(id). 기존 features/feedbacks/constants/feedbacks.ts의 피드백 타입·목데이터도 여기로 옮겨 한 곳에 둔다. 열린피드백 목록·상세·검색은 import 경로만 바뀌었다
  • entities/fee: fetchFeePayments — 학기별 여러 건, 최신순
  • entities/lockers: fetchMyLockerAssignment — 신청 안 했으면 null
  • 각 목데이터 파일 위쪽 *_MOCK_STATE 값을 바꾸면 빈 상태·납부 상태별 화면을 볼 수 있다

2. 열린피드백 작성내역 (features/feedbacks)

  • 카드: 답변완료(초록)·답변대기(주황) 배지, 질문 3줄 말줄임, 작성일
  • 빈 상태: 그림 + 문구 + 열린피드백 작성하기 → /feedbacks/new
  • 상세: 답변완료면 답변 + 해당 회차 답변 모아보기 → /feedbacks/:id, 답변대기면 빈 상태 + 열린피드백 보러 가기 → /feedbacks
  • 답변 글의 **굵게** 처리(renderAnswerText)를 FeedbacksAnswerText로 꺼내 모아보기 상세와 같이 쓴다

3. 학생회비 납부내역 (features/fee, 신규)

  • 납부 카드: 상태 배지(납부확인중 주황·확인필요 빨강·납부완료 초록), 납부금액·납부일시·확인일시
  • 확인필요 건은 카드 아래에 학생회 확인 내용 + 문의하기(학생회 카카오톡 채널)

4. 사물함 배정 상태 + 위치 보기 (features/lockers)

  • 배정완료: 학기·신청일시·사용기한 카드 + 배정된 사물함 카드(사물함 위치 보기)
  • 빈 상태: 그림 + "{올해} 사물함 신청내역이 없어요"
  • 위치 보기: 칸 선택 화면의 칸 배치·미니맵·확대를 그대로 쓰는 보기 전용 화면
    • 다른 칸은 누를 수 없고 내 칸만 선택된 칸 모양(파란 배경 + 흰 번호)
    • 헤더 "내 사물함" + 실제 사진 보기, 하단은 버튼 없이 "내 사물함 A-7"
    • 범례는 "내 사물함" 하나, 처음 열 때 내 칸이 화면 밖이면 보일 만큼만 스크롤
    • 칸 선택 화면의 미니맵·범례·확대 스크롤 코드를 LockersMapView로 꺼내 두 화면이 같이 쓴다

5. 사물함 컴포넌트 이름 정리 (refactor 커밋)

  • 도메인 접두사 Lockers 뒤에 Locker가 또 붙어 겹치던 이름을 정리했다. 동작 변화 없음
전 후
LockersLockerCell·Grid·Legend·Minimap LockersCell·LockersGrid·LockersLegend·LockersMinimap
LockersLockerSelectScreen LockersCellSelectScreen

6. 문서 — wds-component-usage.md에 내 내역 화면 WDS 매핑 절 추가

🧩 이 PR의 한계 & 트레이드오프

  • 홈에서 들어가는 길은 없다. 홈 내 정보 목록·현황 더보기 연결은 라우터 연결 이슈에서 한 번에 한다. 지금은 주소로 직접 들어가야 한다
  • 문의하기는 아직 동작하지 않는다. 학생회 카카오톡 채널 주소를 받으면 features/fee/constants/fee.ts의 STUDENT_COUNCIL_KAKAO_CHANNEL_URL만 채우면 된다
  • 사물함 번호는 A-7. Figma는 B-25지만 칸 배치 목데이터가 A-1·A-2 구역만 있어서 위치 보기가 열리도록 A-1 구역 칸으로 맞췄다
  • 배정대기중(3147:148379)은 뺐다. 신청하면 바로 확정이라 이 상태가 없다
  • 기존 열린피드백 목록·상세는 아직 use() + 스켈레톤이 아니다. 데이터 위치만 옮겼고, 전환은 "데이터 로딩 규칙 적용" 이슈에서 사물함·홈 등과 같이 한다
  • 요일은 날짜로 계산해서 Figma 표기(예: 2026.09.05(화))와 다를 수 있다

⛓️ 기존 기능에 미치는 영향

  • 열린피드백 목록·상세·검색: 피드백 데이터 import 경로만 바뀜. 화면은 그대로
  • 열린피드백 모아보기 상세: 답변 강조 렌더링을 공용 컴포넌트로 바꿈. 출력은 같다
  • 사물함 칸 선택: 미니맵·확대 코드를 LockersMapView로 옮기고 파일 이름을 바꿈. 칸 70개 모두 선택 가능, 내 칸 초록 테두리 그대로인 것을 확인했다
  • 사물함 목데이터 A-7이 isMine이 되어, 신청 화면에서도 A-7이 내 칸(초록 테두리, 선택 불가)으로 보인다

🔀 Edge Case & 실패 시나리오

  • 없는 피드백 id로 상세에 들어오면 작성내역 목록으로 보낸다
  • 배정이 없거나 배정 구역의 칸 배치가 없는데 위치 보기로 들어오면 배정 상태 화면으로 보낸다
  • 주소로 바로 들어와 뒤로 갈 기록이 없으면 홈(상세는 목록, 위치 보기는 배정 상태)으로 보낸다
  • 내 칸이 서버에서 "선택 불가"로 와도 위치 보기에서는 내 칸으로 그린다
  • 납부금액·확인일시가 없으면 -

📋 검토한 대안과 선택 이유

  • 위치 보기를 새로 그리기 vs 칸 선택 화면 재사용: Figma가 없고 칸 배치·확대 동작이 같아서 재사용했다. 화면을 통째로 모드 분기하지 않고 칸 영역만 LockersMapView로 꺼내, 신청 화면의 확인 모달·제출 로직이 보기 화면에 섞이지 않게 했다
  • 내 내역 화면을 features/my에 모으기 vs 도메인별 폴더: 데이터·컴포넌트를 도메인과 같이 두려고 feedbacks·fee·lockers에 나눴다
  • 피드백 목데이터를 두 곳에 두기 vs 한 곳으로 옮기기: 같은 피드백이 두 곳에 있으면 어긋나서 entities/feedbacks로 합쳤다

💬 리뷰 포인트

  • [c] 사물함 칸 이름 정리(LockersCell 등)와 LockersMapView 분리 — 칸 선택 화면 동작이 그대로인지
  • [c] 피드백 데이터 이전 후 열린피드백 목록·상세·검색이 그대로인지
  • [a] 위치 보기 화면의 범례·처음 스크롤 동작

@coderabbitai

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f9081008-f3a9-4359-a3f1-8316082c7488

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sangrae2325
sangrae2325 marked this pull request as ready for review October 9, 2026 16:08
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