Skip to content

fix: 피드백 목록 난이도·면접관·중단됨 표시와 정렬 기준·방향 선택 - #171

Merged
danjee2009 merged 6 commits into
devfrom
fix/feedback-display-sort
Oct 19, 2026
Merged

danjee2009 merged 6 commits into
devfrom
fix/feedback-display-sort

Conversation

@danjee2009

@danjee2009 danjee2009 commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

개요

Doc/면접완료-피드백-수정계획-2026-10-19.md의 Web 묶음 D(§2-4 일부, §2-5 Web, §2-6) 구현입니다.

선행 #167 병합 후 최신 dev를 통합하고 base를 dev로 변경해 병합 완료했습니다.
면접관 응답을 제공하는 API #109도 main 병합 및 로컬 반영 완료했습니다.

기준 커밋: origin/feature/#166-company-dataset 92d6cea

§2-4 "분석 대기" 잔류 — 범위 축소

  • 목록 상태 ABANDONED → "중단됨" (interviewDisplay.ts STATUS_LABELS)
  • 제외: 종합 화면의 평가 축 점수·빈 값 문구·음성 영역(§2-4 1~3번). 수정계획 머리말이 이 부분을 종합피드백-평가축-섹션노출-구현계획-2026-10-19.md로 대체했고, 그 계획은 병합된 PR #169에 이미 구현돼 있어 중복·충돌을 피하려고 이 PR에서 뺐습니다.

§2-5 면접관·난이도 (Web)

  • 난이도를 persona.career(경력)가 아니라 feedback.level ?? interview.persona?.level로 읽음: EASY 쉬움 / NORMAL 보통 / HARD 어려움, 없으면 "미제공" (getCareerLabel → getLevelLabel)
  • 성향은 기존대로 feedback.style ?? interview.persona?.type — API에 persona가 생기면 피드백 없는 면접도 표시
  • 면접관 이름: SOLO는 저장된 personaName 끝의 -{uuid}를 떼고 표시. MULTI는 personaName(예: TECH-<uuid>)을 쓰지 않고 "면접관 N명" 유지
  • persona는 옵셔널로 읽어 API PR 머지 전에도 깨지지 않음
  • FeedbackData에 level 추가. mode는 #169가 같은 타입에 추가하므로 중복 선언을 피하려고 넣지 않음

§2-6 피드백 목록 정렬

  • 기준(날짜·종합 점수) × 방향(내림·오름): 최신순 / 오래된 순 / 높은 점수순 / 낮은 점수순. 기본값 날짜·내림차순(최신순)
  • 비교는 표시 문자열이 아닌 createdAt 타임스탬프. 점수 없는 항목은 두 방향 모두 맨 뒤(그 안·동점은 최신순)
  • 정렬 함수 src/features/feedback-page/feedback-list/model/sortFeedbackList.ts로 분리, 위젯의 getDateTime·SortOrder 삭제
  • 상태는 URL 쿼리 ?sort=&order=(replace: true), 기본값이면 쿼리 생략, 잘못된 값은 기본값 → 종합 피드백에 들어갔다 뒤로 와도 유지
  • UI: 기준 셀렉트(aria-label="정렬 기준") + 방향 토글 버튼(aria-label="정렬 방향", 현재 조합 이름 표시). 기준을 바꾸면 내림차순으로

테스트

  • npm run lint 오류 0(기존 router.tsx 경고 1), npm run build 통과
  • 단위(node --test tests/*.test.mjs) 43개 통과 — 신규 interview-display.test.mjs(난이도·이름·중단됨), sort-feedback-list.test.mjs(네 조합, 같은 날 다른 시각, 점수 없음 맨 뒤, 동점 최신순, 쿼리 읽기/쓰기)
  • 브라우저(Playwright, API 모의, 워크트리 dev 서버): 신규 tests/feedback-list.browser.mjs 5개 시나리오 통과, 기존 feedback-polling.browser.mjs 22개 회귀 통과
  • 미검증: 실제 API·DB(56번) 연동 확인, API PR 머지 후 실제 면접관 이름 표시

🤖 Generated with Claude Code

통합 검증 (2026-10-19)

최신 dev와 #169·#170·#171 통합 후보에서 lint 오류 0(기존 router 경고 1), build 및 단위 테스트 51개 통과. dev 대상 원격 PR 검사 실행은 없어 로컬 검증 결과를 기록합니다. API #106·#109·#108은 main에 병합했으며 전체 테스트 888개 통과했습니다. 실서버 UI 검증 결과는 작업 폴더 Doc/PR-정리-2026-10-19.md에 기록합니다.

danjee2009 and others added 4 commits October 19, 2026 13:34
수정계획 §2-4 4번. 종합 화면의 평가 축·빈 값 문구·음성 영역(§2-4 1~3번)은
후속 계획(종합피드백-평가축-섹션노출-구현계획)과 PR #169가 우선해 이 PR에서 제외한다.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 난이도: getCareerLabel(career) → getLevelLabel(feedback.level ?? interview.persona.level)
- FeedbackData에 level 추가(mode는 PR #169가 같은 타입에 추가해 중복 선언을 피함)
- InterviewResponse.persona는 옵셔널로 읽음(API PR 머지 전에도 깨지지 않음)
- SOLO 면접관 이름은 저장값 끝의 -{uuid}를 떼고 표시, MULTI는 personaName을 쓰지 않고 "면접관 N명" 유지

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- sortFeedbackList(items, { key: date|score, order: asc|desc })로 분리, createdAt 타임스탬프로 비교
- 점수 없는 항목은 두 방향 모두 맨 뒤(그 안·동점은 최신순)
- 정렬 상태를 URL 쿼리 sort·order에 replace로 저장, 기본값이면 쿼리 생략, 잘못된 값은 기본값
- 기준 셀렉트(정렬 기준) + 방향 토글 버튼(정렬 방향), 기준을 바꾸면 내림차순으로

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 성향/난이도(피드백 없는 면접 포함), SOLO 이름 접미사 제거, MULTI 인원 수, 중단됨
- 정렬 기본값·쿼리 생략, 점수 정렬·방향 토글, 종합 진입 후 뒤로 유지, 잘못된 쿼리 기본값

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-19T04:38:51.353834Z dd7e300 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

- aria-label을 고정 "정렬 방향"에서 "정렬 방향: {현재 조합 이름}"으로 변경(예: 정렬 방향: 최신순)
- 브라우저 테스트 선택자·검증을 새 접근성 이름에 맞춤

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

@danjee2009 danjee2009 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

피드백 목록의 면접관·레벨 표시, SOLO 페르소나명 정리, 정렬 기본값과 점수 없는 항목 처리, 관련 테스트를 검토했습니다. 확인된 실질적 문제는 없습니다. 이 PR에는 CI 체크 결과가 표시되지 않았고, API·DB 데이터 연동은 검증하지 못했습니다(#109의 면접관 데이터에 의존).

@danjee2009
danjee2009 changed the base branch from feature/#166-company-dataset to dev October 19, 2026 04:44
@danjee2009
danjee2009 merged commit 954692b into dev Oct 19, 2026
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