- PC/모바일 각각 사이트 스타일에 맞는 404 페이지 생성
- framer-motion 애니메이션 적용
- PC Layout 수정으로 푸터 하단 고정
- 모바일은 100dvh로 스크롤 없이 전체 화면 사용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 달력 열기/닫기 애니메이션 속도 조정 (200ms → 280ms)
- 날짜 스크롤 애니메이션 속도 조정 (150ms → 220ms)
- 달력 요일-날짜 간격 확대 (12px → 16px)
- 날짜 그리드 세로 간격 및 셀 높이 확대
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- AnimatedBuilder child 캐싱으로 매 프레임 rebuild 방지
- RepaintBoundary 추가로 리페인트 범위 제한
- 양옆 카드 스케일 비율 조정 (0.15 → 0.25)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 최근 검색기록 기능 추가 (SharedPreferences로 최대 10개 저장)
- 추천 검색어 입력 시 프로그레스바 제거
- 추천 검색어 클릭 효과 제거 (InkWell → GestureDetector)
- 달력 요일/날짜 그리드 상단 여백 축소
- 달력 그리드와 오늘 버튼 사이 간격 증가
- 검색 종료 시 날짜 선택 부분 중앙 스크롤
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 데이트픽커 년/월 선택에서 오늘 날짜 초록색 강조
- 검색어 변경 시 스크롤 초기화 개선 (requestAnimationFrame)
- 유튜브 스타일 검색 UX 구현
- X 버튼 클릭 시 추천 검색어 화면으로 전환
- 뒤로가기 시 검색 결과 복원 및 검색어 유지
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 최대 검색 횟수의 1% 또는 최소 10회 중 더 큰 값 적용
- GREATEST(MAX(count) * 0.01, 10) 사용
- 데이터가 적을 때도 오타 필터링 가능
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 추천 검색어 API 연동 (getSuggestions)
- SuggestionController로 추천 검색어 상태 관리
- 유튜브 스타일 검색 UX 구현
- X 버튼 클릭 시 추천 검색어 화면으로 전환
- 뒤로가기 시 검색 결과 화면 복원 및 검색어 유지
- 검색 결과 화면 전체 페이드 애니메이션으로 변경
- 입력 디바운스(200ms) 적용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 검색 API 및 컨트롤러 추가 (페이지네이션 20개씩)
- 검색 모드 UI 구현 (툴바 전환 애니메이션)
- 검색 결과 카드 (날짜 왼쪽, 콘텐츠 오른쪽)
- 무한 스크롤 (500px 전 미리 로드)
- 뒤로가기 키로 검색 모드 종료
- 카드 등장 애니메이션 (페이드+슬라이드)
- 스크롤 시 이미 표시된 카드 애니메이션 스킵
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ExpandablePageView로 달력 높이 동적 조절 (월별 주 수에 따라)
- 데이트픽커 년도 변경 시 스와이프 애니메이션 추가
- 달력 월 변경 시 일정 점 비동기 업데이트 (캐시 기반)
- 모든 달력/데이트픽커 텍스트에 Pretendard 폰트 적용
- 데이트픽커 화살표 터치 영역 확대 및 ripple effect 추가
- 데이트픽커 펼침 시 툴바 좌우 화살표 숨김 (페이드 애니메이션)
- expandable_page_view 패키지 추가
Co-Authored-By: Claude <noreply@anthropic.com>
- 달력 열기 애니메이션 추가 (아래로 부드럽게 펼쳐짐)
- 툴바 영역 오버레이 제외 (툴바 아래부터 반투명 배경)
- 년월 텍스트 가운데 고정, 화살표는 옆에 별도 위치
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
달력 아이콘 클릭시 달력 팝업 표시:
- 월 그리드 (요일 헤더 + 날짜 + 일정 점 표시)
- 년월 선택 모드 (년도 범위 + 월 선택)
- 오늘 버튼
- 배경 터치로 닫기
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- controllers/ 폴더 추가
- ScheduleController 생성 (Riverpod Notifier)
- ScheduleState 상태 클래스 분리
- ScheduleView를 ConsumerStatefulWidget으로 변경
- View는 UI 렌더링만, 비즈니스 로직은 Controller로 분리
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 자체 툴바 (년월 표시, 이전/다음 월 버튼)
- 가로 스크롤 날짜 선택기 (일정 점 표시, 자동 중앙 스크롤)
- 일정 카드 (시간, 카테고리, 제목, 출처, 멤버)
- 순차적 페이드 인 애니메이션
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 그리드 레이아웃에서 카드 스와이프 스타일로 변경
- 상단 썸네일 인디케이터 추가 (자동 스크롤, 클릭 이동)
- 멤버 페이지 헤더 그림자 제거 (noShadow prop)
- Swiper 라이브러리로 좌우 스와이프 구현
- 카드 그림자 및 레이아웃 최적화
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 다운로드 서비스 개선
- 저장 경로를 Pictures/fromis_9 폴더로 변경 (갤러리 표시)
- URL에서 파일 확장자 자동 추출 (동영상/이미지)
- saveInPublicStorage 옵션으로 미디어 스캐너 트리거
- 티저 라이트박스에서 동영상 다운로드 지원
- video_thumbnail 패키지 제거 (백엔드에서 썸네일 처리)
- 티저 썸네일 위젯 간소화 (StatefulWidget → StatelessWidget)
- 홈 화면 하단 여백 수정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 컨셉포토 갤러리에 라이트박스 기능 추가
- PhotoViewGallery로 이미지 스와이프 및 줌 지원
- 멤버/컨셉 정보 바텀시트 (info 버튼)
- 이미지 다운로드 기능
- 슬라이딩 인디케이터
- PhotoViewGallery에 allowImplicitScrolling 옵션 추가
- 인접 페이지 미리 빌드로 스와이프 시 즉시 표시
- 불필요한 수동 프리로드 코드 제거
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 컨셉포토 전체보기 화면 추가 (2열 Masonry 레이아웃)
- ConceptPhoto 모델에 width, height, members, concept 필드 추가
- 앨범 상세/갤러리 화면 스크롤 시 툴바 색상 고정
- 멤버 인디케이터 중앙 정렬 수정
- 티저 포토 → 티저 이미지로 명칭 변경
- 뒤로가기 두 번 종료 기능 제거
- 앱 이름 fromis9 → fromis_9로 변경
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 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>
- 앨범 상세 화면 구현 (히어로, 티저, 수록곡, 컨셉포토 섹션)
- 티저/컨셉포토 라이트박스 (photo_view 핀치줌)
- flutter_downloader로 백그라운드 이미지 다운로드
- modal_bottom_sheet로 앨범 소개 다이얼로그
- 뒤로가기 두 번 눌러 종료 기능
- 앱 아이콘 변경 (fromis_9 로고)
- 모든 아이콘 Lucide Icons로 통일
- 앨범 목록 애니메이션 최적화 (스크롤 시 애니메이션 제거)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 홈 화면에 웹과 동일한 framer-motion 스타일 애니메이션 적용
- 멤버 화면 카드 스와이프 디자인으로 재구현
- 인스타그램 딥링크 지원 (url_launcher, AndroidManifest queries)
- flutter_svg 추가로 SVG 아이콘 동적 strokeWidth 지원
- 바텀 네비게이션 아이콘 strokeWidth 웹과 동일하게 조정
- 멤버 화면 툴바 그림자 제거 및 인디케이터 그림자 최적화
- 탭 전환 시 애니메이션 재생 기능 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>