From ab36bba761baad33d7d0bbc4bc6edbe7312baaee Mon Sep 17 00:00:00 2001 From: Documentation Bot Date: Wed, 3 Dec 2025 06:05:33 +0000 Subject: [PATCH] docs: Sync documentation from private repository --- PROJECT_STRUCTURE.md | 54 +++++++++++++++++++++++++++++++++++++++++--- ROADMAP.md | 4 +++- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/PROJECT_STRUCTURE.md b/PROJECT_STRUCTURE.md index c5fc372..c52ba7e 100644 --- a/PROJECT_STRUCTURE.md +++ b/PROJECT_STRUCTURE.md @@ -1,10 +1,29 @@ # 라온누리 - 프로젝트 구조 -> 최종 업데이트: 2025-12-02 (피드 시스템 및 영감 생성 기능) +> 최종 업데이트: 2025-12-03 (사용자 설정 기능 추가) 초등학생을 위한 창작 글쓰기 교육 플랫폼 -**최신 업데이트** (2025-12-02): +**최신 업데이트** (2025-12-03): +- ⚙️ **사용자 설정 다이얼로그** (`UserSettingsDialog.tsx`) + - **프로필 정보 수정**: 이름, 프로필 사진 업로드 (드래그앤드롭, Canvas 리사이즈) + - **환경 설정**: 테마 (라이트/다크), 주간 목표 (1~10개) + - **Firebase Auth + Firestore 분리 업데이트**: displayName/photoURL → Auth, settings → Firestore + - **UserProfileButton 통합**: 설정 메뉴 클릭 시 다이얼로그 열림 + - **Tabs 레이아웃**: 프로필/설정 탭 + - **다국어 지원**: components.settingsDialog namespace (ko/en/ja) +- 📸 **프로필 사진 업로드** + - **드래그앤드롭**: 파일 업로드 및 미리보기 + - **파일 검증**: JPEG/PNG/WebP, 5MB 제한 + - **Canvas 리사이즈**: 800x800, 90% 품질 + - **Firebase Storage**: `profile_photos/{uid}/` 경로 업로드 + - **토스트 알림**: 성공/실패 메시지 + - **Storage 규칙**: profile_photos 경로 읽기/쓰기 권한 추가 +- 🎨 **GlassCard glow 기능 개선** + - **glow prop**: 선택적 글로우 효과 추가 + - **다크 모드 대응**: 라이트/다크 모드별 색상 조정 + +**업데이트** (2025-12-02): - 📰 **피드 시스템 전체 구축** (`/write`) - **4개 피드 컴포넌트**: TodayTopicCard (오늘의 글감), WeeklyGoalCard (주간 목표), RecentActivityCard (최근 활동), InspirationCard (추천 영감) - **GlassCard 컴포넌트**: 글래스모피즘 UI (반투명 배경, 블러 효과) @@ -372,7 +391,7 @@ | **LoginForm** | `LoginForm.tsx` | 로그인 폼 컴포넌트 (mode: auth\|link) | ✅ 완료 | | **SignupForm** | `SignupForm.tsx` | 회원가입 폼 컴포넌트 (mode: auth\|link) | ✅ 완료 | | **SocialLoginButton** | `SocialLoginButton.tsx` | 소셜 로그인 버튼 | ✅ 완료 | -| **UserProfileButton** | `UserProfileButton.tsx` | 사용자 프로필/메뉴 버튼 | ✅ 완료 | +| **UserProfileButton** | `UserProfileButton.tsx` | 사용자 프로필/메뉴 버튼 (설정 메뉴 통합) | ✅ 완료 | **주요 기능**: - ✅ 이메일/비밀번호 로그인 @@ -401,6 +420,35 @@ --- +### 📁 `src/components/settings/` - 사용자 설정 + +| 컴포넌트 | 파일명 | 설명 | 상태 | +|---------|--------|------|------| +| **UserSettingsDialog** | `UserSettingsDialog.tsx` | 사용자 설정 다이얼로그 (프로필/환경설정) | ✅ 완료 | + +**주요 기능** (2025-12-03): +- ✅ 프로필 정보 수정 + - ✅ 이름 (displayName) 변경 + - ✅ 프로필 사진 업로드 (드래그앤드롭, 미리보기) + - ✅ 파일 유효성 검사 (JPEG/PNG/WebP, 5MB 제한) + - ✅ Canvas API 리사이즈 (800x800, 90% 품질) + - ✅ Firebase Storage 업로드 (`profile_photos/{uid}/` 경로) + - ✅ 업로드 중 로딩 상태 표시 + - ✅ 성공/실패 토스트 알림 +- ✅ 환경 설정 + - ✅ 테마 선택 (라이트/다크) + - ✅ 주간 목표 설정 (슬라이더, 1~10개) +- ✅ Firebase Auth + Firestore 분리 업데이트 + - ✅ displayName, photoURL → Firebase Auth 업데이트 + - ✅ settings → Firestore 업데이트 + - ✅ userManager.updateUser() 자동 분리 처리 +- ✅ UserProfileButton에서 "설정" 메뉴 클릭 시 열림 +- ✅ Tabs 레이아웃 (프로필/설정) +- ✅ GlassCard 컴포넌트 활용 +- ✅ 다국어 지원 (components.settingsDialog namespace, ko/en/ja) + +--- + ### 📁 `src/components/landing/` - 랜딩 페이지 | 컴포넌트 | 파일명 | 설명 | 상태 | diff --git a/ROADMAP.md b/ROADMAP.md index 9887bda..aff0ed8 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,6 +1,6 @@ # 라온누리 - 개발 로드맵 -> 최종 업데이트: 2025-12-02 (피드 기능 및 영감 시스템 추가) +> 최종 업데이트: 2025-12-03 (사용자 설정 기능 추가) 초등학생을 위한 창작 글쓰기 교육 플랫폼 개발 계획 @@ -133,6 +133,8 @@ | **GlassCard 컴포넌트 도입** | **GlassCard 컴포넌트 추가 (반투명 배경, 블러 효과, 시각적 통일성), FeedCompactCard → GlassCard로 전체 리팩토링, TodayTopicCard/WeeklyGoalCard/RecentActivityCard에 GlassCard 적용, 로딩 스켈레톤 UI 추가 (모든 카드), InspirationCard variant prop 추가 (vertical/horizontal), InspirationSection layout prop 추가 (grid/horizontal), ModeSelectionCards 컴포넌트 신규 추가 (글쓰기 모드 선택 카드), write 페이지 모드 선택 UI 개선, CompactCardsRow에서 compact prop 제거** | **2025-12-02** | | **UI/UX 세부 개선** | **ModeSelectionCard 이미지 드롭 쉐도우 효과 추가, 전환 효과를 transform → all로 변경 (부드러운 애니메이션), 이미지 상하 패딩 조정** | **2025-12-02** | | **Tlab신영복체 폰트 적용** | **Tlab신영복체.ttf 폰트 파일 추가 (public/fonts/), globals.css에 @font-face 추가, write 페이지 제목 텍스트에 폰트 적용, WeeklyGoalCard 스켈레톤 UI 개선 (헤더 및 진행 상태 레이아웃 간격 조정), GlassCard 내부 패딩 조정** | **2025-12-02** | +| **사용자 설정 다이얼로그** | **UserSettingsDialog 컴포넌트 신규 추가 (434줄), 프로필 정보 수정 (이름, 사진), 환경 설정 (테마, 언어, 주간 목표), UserProfileButton 설정 메뉴 통합, Firebase Auth + Firestore 업데이트 로직 분리, GlassCard glow 기능 개선, 다국어 지원 (components.settingsDialog namespace, 31개 키, ko/en/ja)** | **2025-12-03** | +| **프로필 사진 업로드** | **드래그앤드롭 이미지 업로드, 미리보기 기능, 파일 유효성 검사 (JPEG/PNG/WebP, 5MB 제한), Canvas API 리사이즈 (800x800, 90% 품질), Firebase Storage 업로드, 토스트 알림 (성공/실패), Firebase Storage 규칙 업데이트 (profile_photos 경로 허용)** | **2025-12-03** | ### 🚧 진행 중