Skip to content

[feat] 내가 지원한 가게 목록 필터링 로직 수정 및 UI 개선#52

Merged
dohy-eon merged 5 commits into
devfrom
feat/ALT-252
Jun 14, 2026
Merged

[feat] 내가 지원한 가게 목록 필터링 로직 수정 및 UI 개선#52
dohy-eon merged 5 commits into
devfrom
feat/ALT-252

Conversation

@dohy-eon

@dohy-eon dohy-eon commented Jun 12, 2026

Copy link
Copy Markdown
Member

ID

  • ALT-252
  • ALT-253

변경 내용

  • 기존 필터링 속성(지원 완료, 열람, 미열람, 지원 취소)에서 전체, 제출됨, 수락됨, 취소됨으로 변경
  • 기타 UI 정리 및 필터링 버튼 터치 영역 확대

구현 사항

  • 열람/미열람 기준 제거 및 상태 개선
    • SHORTLISTED(서류 통과)를 submitted에 포함
    • REJECTED(불합격)를 cancelled 필터로 이동
    • EXPIRED, DELETED는 계속 cancelled에 포함
  • 수락(합격) 상태 뱃지 추가
    • ApplicationStatusBadge에 accepted 상태 추가
  • 필터 드롭다운 UX 개선
  • 로딩 UX 통일 (기존 로딩중... 에서 스피너로)
  • 기타 타입 일관성 정리
  • 페이지 레이아웃 및 UI 정리

구현 시연 (필요 시)

기존 변경
2026-06-12.9.29.05.mov
2026-06-12.9.46.36.mov

참고 사항 (필요 시)

  • UI는 더 깔끔하게 하고 싶은데 어쨌든 바뀔거 같아서 일단은 보류 했습니다
  • 필터링만 딱 수정하려고 했는데 상태처리나 다른 부분도 문제가 좀 있길래 같이 건드렸습니다.
  • 합격 상태 뱃지 만들면서 알림 페이지에서 dropdown hover가 선택 항목 색상 bg-main-50으로 되어있던데 이건 컬러토큰에 없어서 적용이 안되고 있길래 이부분도 같이 수정했어요(bg-main-100으로)

Summary by CodeRabbit

  • New Features

    • 지원 상태에 "합격" 및 "취소" 상태 표시 추가
  • Improvements

    • 필터 옵션 재구성 (all, submitted, accepted, rejected, cancelled)
    • 필터 선택 표시 및 동작 개선
    • 로딩/에러 UI를 스피너로 개선하고 더보기 영역 동작 향상
    • 상단 네비게이션 고정(sticky) 처리
  • Style

    • 필터 드롭다운 호버·선택 스타일 조정
  • Refactor

    • 네비게이션에서 햄버거 메뉴 제거 및 구조 단순화

@dohy-eon dohy-eon requested review from kim3360 and limtjdghks June 12, 2026 00:59
@dohy-eon dohy-eon self-assigned this Jun 12, 2026
@vercel

vercel Bot commented Jun 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
alter-client Ready Ready Preview, Comment Jun 12, 2026 5:13am

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 78a16c48-4f03-4175-b60f-f521190af718

📥 Commits

Reviewing files that changed from the base of the PR and between 3ebbd69 and 75e9be8.

⛔ Files ignored due to path filters (7)
  • src/assets/icons/nav/calendar.svg is excluded by !**/*.svg
  • src/assets/icons/nav/menu.svg is excluded by !**/*.svg
  • src/assets/icons/nav/store.svg is excluded by !**/*.svg
  • src/assets/icons/nav/swap.svg is excluded by !**/*.svg
  • src/assets/icons/nav/users.svg is excluded by !**/*.svg
  • src/assets/icons/nav/wallet.svg is excluded by !**/*.svg
  • src/assets/icons/nav/x.svg is excluded by !**/*.svg
📒 Files selected for processing (6)
  • src/features/user/home/applied-stores/hooks/useAppliedStoresViewModel.ts
  • src/features/user/home/applied-stores/types/application.ts
  • src/features/user/home/applied-stores/types/appliedStore.ts
  • src/shared/ui/common/HamburgerMenuDrawer.tsx
  • src/shared/ui/common/Navbar.tsx
  • src/shared/ui/home/ApplicationStatusBadge.tsx
💤 Files with no reviewable changes (1)
  • src/shared/ui/common/HamburgerMenuDrawer.tsx
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/features/user/home/applied-stores/types/appliedStore.ts

📝 Walkthrough

Walkthrough

ApplicationStatus 타입과 필터 매핑이 submitted/accepted/rejected/cancelled 중심으로 재구성되었습니다. 훅(getCardStatus, selectedFilter), 배지(BADGE_STYLE_MAP) 및 리스트·카드 컴포넌트 타입이 일치하도록 정렬되며, 관련 페이지들에 UI·렌더링 조정이 적용됩니다.

Changes

Application Status Refactoring & Filter Consolidation

Layer / File(s) Summary
Status contract & filter mapping
src/features/user/home/applied-stores/types/appliedStore.ts, src/features/user/home/applied-stores/types/application.ts
ApplicationStatusrejected 추가, FilterType'all' | ApplicationStatus로 단순화, AppliedStoreData에서 filterType 제거, FILTER_TO_API_STATUS 및 API→UI 매핑 재정의.
ViewModel: filter options & status transform
src/features/user/home/applied-stores/hooks/useAppliedStoresViewModel.ts
FILTER_OPTIONSall/submitted/accepted/rejected/cancelled로 재구성하고 getCardStatusaccepted/rejected/cancelled를 분리해 반환하며, selectedFilter를 뷰모델에 추가.
Badge component & list/card typing
src/shared/ui/home/ApplicationStatusBadge.tsx, src/features/user/home/applied-stores/ui/AppliedStoreCard.tsx, src/features/user/home/applied-stores/ui/AppliedStoreList.tsx, src/features/user/home/applied-stores/ui/AppliedStoreListItem.tsx
ApplicationStatusBadgeaccepted·cancelled 상태와 스타일 추가. 카드/리스트 컴포넌트들이 ApplicationStatusBadgeProps['status'] 타입을 참조하도록 정렬.
Applied Stores page & Home integration
src/pages/user/applied-stores/index.tsx, src/pages/user/home/index.tsx
AppliedStoresPage에 Spinner/MoreButton 도입, 필터 드롭다운·상단 sticky 래퍼·로딩 UI 재구성. UserHomePage는 getCardStatus(s.status) 사용으로 카드 상태 중앙화.
Navbar cleanup (hamburger removed)
src/shared/ui/common/Navbar.tsx
Navbar에서 햄버거 메뉴 토글·드로어 로직 제거 및 우측 영역 렌더링 단순화.
Manager & Notification style tweaks
src/pages/manager/home/index.tsx, src/pages/notification/index.tsx
ManagerHomePage 상단에 sticky top-0 z-10 bg-white 래퍼 추가 및 NotificationTypeFilter의 hover/active 스타일 조정.

🎯 3 (Moderate) | ⏱️ ~20 minutes

  • Possibly related PRs:
    • alter-app/alter-client#37: 네비게이션/드로어 관련 변경을 다루는 PR로, 이번 PR의 HamburgerMenuDrawer/Nav 변경과 관련 있음.

Suggested reviewers

  • kim3360
  • limtjdghks
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 15.38% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed 제목이 PR의 주요 변경사항(필터링 로직 수정 및 UI 개선)을 명확히 요약하고 있으며, 실제 changeset과 일치합니다.
Description check ✅ Passed PR 설명이 필수 섹션(ID, 변경내용, 구현사항)을 모두 포함하고 구체적인 구현 상세와 시연 동영상을 제공하고 있습니다.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/ALT-252

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint install failed due to a network error.


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 and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/features/user/home/applied-stores/hooks/useAppliedStoresViewModel.ts`:
- Around line 31-35: getCardStatus currently maps all cancellation-related
ApplicationStatus values to 'rejected', causing CANCELLED/EXPIRED/DELETED to
display as "불합격"; update getCardStatus to distinguish cancelled from rejected by
adding a distinct return value (e.g., include 'cancelled' in the return union)
and map the specific ApplicationStatus values (cancelled/expired/deleted) to
that new 'cancelled' badge while keeping real rejections as 'rejected'; also
ensure ApplicationStatusBadge (or wherever card badges are rendered) knows how
to render the new 'cancelled' variant so the UI shows "취소됨" separately from
"불합격".
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 2303b04f-a132-4d2d-92da-719d8a56bfc7

📥 Commits

Reviewing files that changed from the base of the PR and between 51b567d and 3ebbd69.

📒 Files selected for processing (11)
  • src/features/user/home/applied-stores/hooks/useAppliedStoresViewModel.ts
  • src/features/user/home/applied-stores/types/application.ts
  • src/features/user/home/applied-stores/types/appliedStore.ts
  • src/features/user/home/applied-stores/ui/AppliedStoreCard.tsx
  • src/features/user/home/applied-stores/ui/AppliedStoreList.tsx
  • src/features/user/home/applied-stores/ui/AppliedStoreListItem.tsx
  • src/pages/manager/home/index.tsx
  • src/pages/notification/index.tsx
  • src/pages/user/applied-stores/index.tsx
  • src/pages/user/home/index.tsx
  • src/shared/ui/home/ApplicationStatusBadge.tsx

Comment thread src/features/user/home/applied-stores/hooks/useAppliedStoresViewModel.ts Outdated
@dohy-eon dohy-eon merged commit 7b7f75c into dev Jun 14, 2026
4 checks passed
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.

3 participants