feat: 대시보드 페이지 구현 및 공통 컴포넌트 추가 (#9) #11

Merged
seonkyu.kim merged 3 commits from feature/9-dashboard into develop 2026-02-27 01:29:18 +00:00
Owner

📋 작업 요약

  • 가이드라인 기반 공통 UI 컴포넌트 11개 생성
  • 대시보드 페이지 구현 (통계카드/차트/필터/최근발송/플랫폼도넛)
  • 조회 시 로딩 상태 및 필터 disabled 처리

Closes #9

🛠️ 작업 내용 (Changes)

  • 공통 컴포넌트 생성 (PageHeader, StatusBadge, CategoryBadge, FilterDropdown, DateRangeInput, SearchInput, FilterResetButton, Pagination, EmptyState, CopyButton, PlatformBadge)
  • AppHeader 브레드크럼 + 알림 드롭다운 구현
  • AppSidebar 이메일 자동 폰트 스케일링
  • AppLayout 약관/개인정보 모달 추가
  • Suspense 로딩 SVG 스피너 전환
  • 대시보드 페이지 구현 (StatsCards, WeeklyChart, DashboardFilter, RecentMessages, PlatformDonut)
  • 조회 시 전체 필터 비활성화 + 로딩 오버레이 + Mock 데이터 갱신
  • 공통 컴포넌트 disabled prop 추가

📢 리뷰어 참고 사항 (To Reviewers)

  • WeeklyChart는 DOM 직접 조작 방식 (차트 라이브러리 미도입 상태)
  • 대시보드 데이터는 Mock 데이터 사용 중 (API 연동 예정)
  • Material Symbols 아이콘 크기 지정 방식 일부 불일치 (style vs Tailwind)

체크리스트 (Self Checklist)

  • 빌드 성공
  • 불필요한 로그/주석 제거
  • 컨벤션 준수
  • 기밀 정보 하드코딩 없음
  • 테스트 통과 (테스트 미작성)

📸 스크린샷 / 테스트 로그 (Screenshots/Logs)

  • 없음
## 📋 작업 요약 - 가이드라인 기반 공통 UI 컴포넌트 11개 생성 - 대시보드 페이지 구현 (통계카드/차트/필터/최근발송/플랫폼도넛) - 조회 시 로딩 상태 및 필터 disabled 처리 ## 🔗 관련 이슈 (Related Issues) Closes #9 ## 🛠️ 작업 내용 (Changes) - [x] 공통 컴포넌트 생성 (PageHeader, StatusBadge, CategoryBadge, FilterDropdown, DateRangeInput, SearchInput, FilterResetButton, Pagination, EmptyState, CopyButton, PlatformBadge) - [x] AppHeader 브레드크럼 + 알림 드롭다운 구현 - [x] AppSidebar 이메일 자동 폰트 스케일링 - [x] AppLayout 약관/개인정보 모달 추가 - [x] Suspense 로딩 SVG 스피너 전환 - [x] 대시보드 페이지 구현 (StatsCards, WeeklyChart, DashboardFilter, RecentMessages, PlatformDonut) - [x] 조회 시 전체 필터 비활성화 + 로딩 오버레이 + Mock 데이터 갱신 - [x] 공통 컴포넌트 disabled prop 추가 ## 📢 리뷰어 참고 사항 (To Reviewers) - WeeklyChart는 DOM 직접 조작 방식 (차트 라이브러리 미도입 상태) - 대시보드 데이터는 Mock 데이터 사용 중 (API 연동 예정) - Material Symbols 아이콘 크기 지정 방식 일부 불일치 (style vs Tailwind) ## ✅ 체크리스트 (Self Checklist) - [x] 빌드 성공 - [x] 불필요한 로그/주석 제거 - [x] 컨벤션 준수 - [x] 기밀 정보 하드코딩 없음 - [ ] 테스트 통과 (테스트 미작성) ## 📸 스크린샷 / 테스트 로그 (Screenshots/Logs) - 없음
seonkyu.kim added this to the Phase 1 - 프로젝트 초기 설정 milestone 2026-02-27 01:26:18 +00:00
seonkyu.kim added the
Priority
Medium
Status
In Progress
Type
Feature
labels 2026-02-27 01:26:18 +00:00
seonkyu.kim self-assigned this 2026-02-27 01:26:18 +00:00
seonkyu.kim added 3 commits 2026-02-27 01:26:19 +00:00
- 공통 컴포넌트 11개 생성 (PageHeader, StatusBadge, CategoryBadge, FilterDropdown, DateRangeInput, SearchInput, FilterResetButton, Pagination, EmptyState, CopyButton, PlatformBadge)
- AppHeader: 다단계 breadcrumb, 알림 드롭다운 구현
- AppLayout: 푸터 개인정보처리방침/이용약관 모달 추가
- AppSidebar: 이메일 폰트 자동 축소 (clamp)
- SignupPage: 모달 닫기 버튼 x 아이콘으로 통일
- Suspense fallback SVG 스피너로 변경

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 조회 클릭 시 전체 필터 비활성화 (날짜/드롭다운/초기화/조회)
- 각 위젯 로딩 오버레이 및 스켈레톤 추가
- 조회 완료 시 랜덤 Mock 데이터로 갱신
- 공통 컴포넌트(FilterDropdown, DateRangeInput, FilterResetButton)에 disabled prop 추가
- StatsCards 뱃지 아이콘 크기 및 중앙 정렬 개선

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
seonkyu.kim merged commit c89cfeaa56 into develop 2026-02-27 01:29:18 +00:00
seonkyu.kim deleted branch feature/9-dashboard 2026-02-27 01:29:32 +00:00
seonkyu.kim added
Status
Done
and removed
Status
In Progress
labels 2026-02-27 01:44:33 +00:00
Sign in to join this conversation.
No description provided.