Commit graph

225 commits

Author SHA1 Message Date
bc37abe473 Flutter 앱: MVCS 아키텍처 리팩토링 (일정 화면)
- controllers/ 폴더 추가
- ScheduleController 생성 (Riverpod Notifier)
- ScheduleState 상태 클래스 분리
- ScheduleView를 ConsumerStatefulWidget으로 변경
- View는 UI 렌더링만, 비즈니스 로직은 Controller로 분리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 18:12:22 +09:00
221aaa2bb4 Flutter 앱: 일정 화면 1단계 구현 (날짜 선택기 + 일정 목록)
- 자체 툴바 (년월 표시, 이전/다음 월 버튼)
- 가로 스크롤 날짜 선택기 (일정 점 표시, 자동 중앙 스크롤)
- 일정 카드 (시간, 카테고리, 제목, 출처, 멤버)
- 순차적 페이드 인 애니메이션

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 18:06:50 +09:00
7a1e04b6ae 모바일 웹: 멤버 페이지 UI 개선 (앱 디자인 적용)
- 그리드 레이아웃에서 카드 스와이프 스타일로 변경
- 상단 썸네일 인디케이터 추가 (자동 스크롤, 클릭 이동)
- 멤버 페이지 헤더 그림자 제거 (noShadow prop)
- Swiper 라이브러리로 좌우 스와이프 구현
- 카드 그림자 및 레이아웃 최적화

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 14:38:59 +09:00
3b5f8a93ca Flutter 앱: 다운로드 개선 및 불필요한 패키지 제거
- 다운로드 서비스 개선
  - 저장 경로를 Pictures/fromis_9 폴더로 변경 (갤러리 표시)
  - URL에서 파일 확장자 자동 추출 (동영상/이미지)
  - saveInPublicStorage 옵션으로 미디어 스캐너 트리거
- 티저 라이트박스에서 동영상 다운로드 지원
- video_thumbnail 패키지 제거 (백엔드에서 썸네일 처리)
- 티저 썸네일 위젯 간소화 (StatefulWidget → StatelessWidget)
- 홈 화면 하단 여백 수정

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 14:15:51 +09:00
6b512f943e Flutter 앱: 컨셉포토 라이트박스 추가 및 이미지 프리로드 개선
- 컨셉포토 갤러리에 라이트박스 기능 추가
  - PhotoViewGallery로 이미지 스와이프 및 줌 지원
  - 멤버/컨셉 정보 바텀시트 (info 버튼)
  - 이미지 다운로드 기능
  - 슬라이딩 인디케이터
- PhotoViewGallery에 allowImplicitScrolling 옵션 추가
  - 인접 페이지 미리 빌드로 스와이프 시 즉시 표시
- 불필요한 수동 프리로드 코드 제거

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:54:59 +09:00
300fe18a8d Flutter 앱: 컨셉포토 갤러리, UI 개선, 앱 이름 변경
- 컨셉포토 전체보기 화면 추가 (2열 Masonry 레이아웃)
- ConceptPhoto 모델에 width, height, members, concept 필드 추가
- 앨범 상세/갤러리 화면 스크롤 시 툴바 색상 고정
- 멤버 인디케이터 중앙 정렬 수정
- 티저 포토 → 티저 이미지로 명칭 변경
- 뒤로가기 두 번 종료 기능 제거
- 앱 이름 fromis9 → fromis_9로 변경

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 13:02:40 +09:00
255839a598 비디오 티저 썸네일 추출 기능 추가
- DB: album_teasers 테이블에 video_url 컬럼 추가
- 백엔드: 비디오 업로드 시 ffmpeg로 썸네일 추출 후 WebP 저장
- 백엔드: video_url에 MP4 URL 저장, 썸네일은 기존 URL 필드 사용
- 프론트엔드: 썸네일 이미지 표시, 클릭 시 video_url로 재생
- Flutter 앱: Teaser 모델에 videoUrl 필드 추가 및 비디오 재생 수정
- Docker: ffmpeg 설치 추가 (Dockerfile, docker-compose.dev.yml)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 11:59:58 +09:00
5691cb6ce0 Flutter 앱: 앨범 상세 화면, 라이트박스, 다운로드 기능 추가
- 앨범 상세 화면 구현 (히어로, 티저, 수록곡, 컨셉포토 섹션)
- 티저/컨셉포토 라이트박스 (photo_view 핀치줌)
- flutter_downloader로 백그라운드 이미지 다운로드
- modal_bottom_sheet로 앨범 소개 다이얼로그
- 뒤로가기 두 번 눌러 종료 기능
- 앱 아이콘 변경 (fromis_9 로고)
- 모든 아이콘 Lucide Icons로 통일
- 앨범 목록 애니메이션 최적화 (스크롤 시 애니메이션 제거)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 10:42:52 +09:00
488e4094c8 Flutter 앱: 멤버 화면 카드 스와이프 UI 및 홈 애니메이션 추가
- 홈 화면에 웹과 동일한 framer-motion 스타일 애니메이션 적용
- 멤버 화면 카드 스와이프 디자인으로 재구현
- 인스타그램 딥링크 지원 (url_launcher, AndroidManifest queries)
- flutter_svg 추가로 SVG 아이콘 동적 strokeWidth 지원
- 바텀 네비게이션 아이콘 strokeWidth 웹과 동일하게 조정
- 멤버 화면 툴바 그림자 제거 및 인디케이터 그림자 최적화
- 탭 전환 시 애니메이션 재생 기능 추가

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 00:07:59 +09:00
bf6d4567a3 Flutter 앱: 시스템 네비게이션 바 흰색으로 변경 2026-01-12 22:35:40 +09:00
168da7d61e Flutter 앱: MVCS 아키텍처 + 툴바/바텀 네비게이션 구현 2026-01-12 22:27:46 +09:00
e809c6e910 Flutter 앱: 초기 프로젝트 생성 및 기존 Expo 앱 백업 2026-01-12 22:14:53 +09:00
d1bd82929b X 봇: 카테고리 ID 수정 (X=3, YouTube=2) 2026-01-12 21:07:06 +09:00
0415fa9377 문서: 곡 상세 화면 구현 내용 추가 (handover.md, PROJECT_STRUCTURE.md) 2026-01-12 19:03:12 +09:00
7e570d3408 모바일 곡 상세: 뒤로가기 헤더 제거 2026-01-12 19:01:22 +09:00
db6949d53e 모바일 곡 상세: YouTube 전체화면 시 자동 가로 회전 시도 2026-01-12 18:58:06 +09:00
b5f668a8f9 모바일 곡 상세: YouTube iframe fullscreen 권한 추가 2026-01-12 18:54:31 +09:00
5f2c86b783 모바일 곡 상세: 가사 더보기/접기 기능 추가, 하단 여백 조정 2026-01-12 18:51:38 +09:00
5d4c2f32fc 모바일 곡 상세: 수록곡 섹션 제거 2026-01-12 18:49:45 +09:00
e5d403655e 모바일: 곡 상세 화면 구현 (TrackDetail 페이지) 2026-01-12 18:48:00 +09:00
67cd6813a2 PC 곡 상세: TITLE 배지를 노래 제목 옆으로 이동 2026-01-12 18:39:23 +09:00
0232edc10a PC 곡 상세: 수록곡 섹션 디자인 개선 (현재 곡 강조, 재생시간, 음악 아이콘) 2026-01-12 18:35:06 +09:00
6fbad62cdc PC 곡 상세: 수록곡 타이틀 표시 T → TITLE로 변경 2026-01-12 18:31:36 +09:00
ae4bdfaae3 PC 곡 상세: 너비를 앨범 상세와 동일하게 변경 (max-w-7xl) 2026-01-12 18:27:37 +09:00
5bd8d50022 PC 곡 상세: 중복 앨범아트 제거, 클릭 이벤트 제거 2026-01-12 18:10:26 +09:00
a73658854b PC 곡 상세: 디자인 정리 (뮤비 embed, 크레딧 줄바꿈, 가사 스크롤) 2026-01-12 18:05:29 +09:00
61b8bf4815 PC 곡 상세: 프리미엄 디자인 적용 2026-01-12 18:00:41 +09:00
4e52f79cd5 백엔드: 트랙 상세 API 라우트 순서 수정 2026-01-12 17:52:27 +09:00
b18183a9f9 웹: PC 곡 상세 화면 구현 (TrackDetail 페이지) 2026-01-12 17:50:48 +09:00
dc65858d6b 웹: AlbumDetail, AlbumGallery 페이지 useQuery로 리팩토링 2026-01-12 17:44:28 +09:00
443bd203ca 모바일 갤러리: 높이 기반 균등 분배 알고리즘 적용 2026-01-12 16:08:00 +09:00
b06e9c0ad9 모바일 갤러리: 홀수개 사진일 때 레이아웃 균형 보정 2026-01-12 16:06:00 +09:00
e3667037c7 스크롤 초기화: 페이지 전환 시 모바일 레이아웃 스크롤 컨테이너도 처리 2026-01-12 16:01:50 +09:00
381196820d PC 홈: 멤버보기 버튼 제거, 앨범 섹션 추가 2026-01-12 15:57:36 +09:00
3adefdb38a 모바일: 홈 앨범 카드 그림자 강화 2026-01-12 15:54:00 +09:00
0664c7b594 모바일: 홈 앨범 섹션 배경색 통일, 바텀바 페이지 전환 시 스크롤 맨 위로 2026-01-12 15:53:01 +09:00
d999872517 웹: Schedule 페이지 일정/카테고리 로딩 useQuery로 리팩토링 2026-01-12 15:51:27 +09:00
990d360520 웹: useEffect를 useQuery로 리팩토링 (PC/모바일 공개 페이지) 2026-01-12 15:46:34 +09:00
a89139f056 앱: 애니메이션 및 네비게이션 개선, 문서 업데이트 2026-01-12 15:44:05 +09:00
e52951f43c 앨범 갤러리: 헤더 추가, 이미지 원본 비율 적용 2026-01-12 15:07:43 +09:00
64e12e47ae 앨범 상세: 바텀시트 웹 동일 애니메이션, 동영상 썸네일 지원 2026-01-12 14:51:15 +09:00
7f1c210be7 refactor(app): 공통 Header 컴포넌트 적용 및 SafeAreaView edges 수정
- Header.tsx 공통 컴포넌트 생성
- HomeScreen, MembersScreen, AlbumScreen에 공통 Header 적용
- SafeAreaView edges=[] 설정으로 중복 safe area 영역 제거
2026-01-12 12:54:09 +09:00
58411f3dca feat(app): 멤버 화면 블러 효과 및 dayjs 날짜 처리 적용
- expo-blur로 모달 배경 블러 효과 구현 (experimentalBlurMethod)
- dayjs로 생일 날짜 형식 처리 (YYYY.MM.DD)
- dayjs로 나이 계산 로직 개선
- 헤더 타이틀 '멤버'로 변경 (웹과 동일)
- .easignore 추가 (상위 폴더 데이터 제외)
- redis_data 폴더 gitignore 추가
2026-01-12 12:47:59 +09:00
9661742a52 홈 화면 모바일 웹과 동일하게 수정 (히어로, 멤버, 앨범, 일정 섹션) 2026-01-12 10:20:34 +09:00
9d04c0de91 feat(Suggestions): 일정 검색 기반 영어/한글 오타 판단
- 영어 입력 시 Meilisearch로 일정 검색하여 언어 판단
- 영어로 결과 있으면 영어, 한글 변환으로 결과 있으면 한글 오타
- 휴리스틱 대신 실제 데이터 기반 판단으로 정확도 향상
- fm1.24는 영어, vmfhaltmskdls는 프로미스나인으로 변환
2026-01-12 09:07:54 +09:00
3d7e8e1c2f docs: Redis bi-gram 추천 검색어 시스템 + 오늘 작업 요약 추가
- 섹션 14: 추천 검색어 아키텍처, API, Redis 구조, 프론트엔드 UI
- 섹션 15: 2026-01-11 커밋 히스토리 및 주요 변경 사항
2026-01-11 23:22:24 +09:00
5a5e601f63 docs: 모바일 앨범 갤러리 UI 구현 문서 추가
- Swiper ViewPager 라이트박스 사용법
- LightboxIndicator 컴포넌트 (width prop)
- 2열 지그재그 Masonry 그리드 패턴
- 뒤로가기 처리 패턴
- 바텀시트 드래그 닫기 패턴
2026-01-11 23:20:08 +09:00
d6bc8d79ba 모바일 앨범 갤러리 UI 대폭 개선
- Swiper 라이브러리로 ViewPager 스타일 라이트박스 구현
- LightboxIndicator 컴포넌트에 width prop 추가 (모바일 120px)
- 2열 지그재그 Masonry 그리드 레이아웃
- 바텀시트 정보 표시 (드래그 핸들 지원)
- 뒤로가기 처리 (라이트박스/다이얼로그 닫기)
- 앨범 조회 API: folder_name 또는 title로 검색 (PC/모바일 호환)
2026-01-11 23:15:56 +09:00
de2e02fcd9 feat(Mobile Album): 앨범 상세 UI 개선
- 히어로 섹션 (커버 중앙 + 블러 배경)
- 앨범 소개 바텀시트 다이얼로그 (드래그 닫기)
- 수록곡 더보기/접기 기능
- 컨셉 포토 전체보기 버튼 모바일화
- 뮤직비디오 버튼 제거
- 라이트박스 showNav 조건 추가
- 앨범 API folder_name 검색으로 수정
2026-01-11 22:17:28 +09:00
79a3501ef1 feat(Album): PC 타이틀곡 텍스트 제거 + 모바일 상세 UI 개선
- PC: 앨범 상세에서 '타이틀곡: OOO' 텍스트 제거
- 모바일: 앨범 상세 UI 전면 개선
  - 티저 포토 섹션 추가
  - 수록곡 리스트 스타일 개선 (트랙번호, TITLE 뱃지)
  - 컨셉 포토 6장 프리뷰 + 전체보기 링크
  - 라이트박스 (다운로드, 이전/다음 네비게이션)
- 앨범 API에서 folder_name 반환 추가
2026-01-11 22:04:08 +09:00