부모 티켓
3개 티켓

백로그

0
티켓 없음

할 일

0
티켓 없음

진행 중

0
티켓 없음

리뷰

0
티켓 없음

완료 (전체)

3
긴급 78906aa0
서브 티켓 날짜 버튼

[DATE-1] 한국 시간대(KST) 설정 + 날짜 계산 수정

## 목표 Rails 앱의 시간대를 Asia/Seoul로 설정하고, 모든 날짜 계산이 한국 시간 기준으로 동작하도록 수정 ## 작업 내용 ### 1. config/application.rb 시간대 설정 - `config.time_zone = "Asia/Seoul"` 주석 해제/추가 - 이것만으로 Date.current, Time.current 등이 KST 기준으로 동작 ### 2. 기존 Date.current 사용처 검증 (12곳) - `app/controllers/qt_controller.rb` - QT 오늘 일차 계산 - `app/controllers/qt/sessions_controller.rb` - 오늘 묵상 통계, 월별 랭킹 - `app/controllers/prayers_controller.rb` - 기도 체크 날짜 - `app/controllers/bible_readings_controller.rb` - 통독 기록 날짜 - `app/controllers/sermons_controller.rb` - 새 설교 기본값 - `app/controllers/stats_controller.rb` - 연속 묵상 계산 - `app/jobs/notification_cron_job.rb` - 알림 발송 (이미 in_time_zone 사용 중) - `app/views/qt/meditations/_form.html.erb` - 묵상 날짜 기본값 ### 3. session_form_controller.js 시간대 수정 - `new Date(start)` → UTC 파싱 이슈 해결 - `new Date(start + 'T00:00:00+09:00')` 또는 날짜 문자열 직접 파싱 ### 4. 테스트 작성 - 시간대 설정 확인 테스트 - Date.current가 KST 기준인지 확인 - QT 일차 계산이 KST 기준인지 확인 ## 완료 기준 - `config.time_zone = "Asia/Seoul"` 설정됨 - 기존 테스트 모두 통과 - 새 시간대 관련 테스트 추가됨 - JS 날짜 계산도 KST 기준으로 동작 ## 담당 파일 - config/application.rb - app/javascript/controllers/session_form_controller.js - test/ 관련 테스트 파일

T
timezone-dev
9 days
높음 5e797a37
서브 티켓 날짜 버튼

[DATE-2] 달력 날짜 선택 Stimulus 컨트롤러 구현

## 목표 브라우저 네이티브 date input을 대체하는 커스텀 달력 날짜 선택 컴포넌트 구현 (Stimulus + Tailwind) ## 레거시 참고 레거시(Next.js)에서는 react-day-picker 기반 Calendar + Popover 조합 사용: - 버튼 클릭 → 달력 팝오버 열림 - 날짜 선택 → 자동 닫힘 - 한국어 포맷 ("2026년 3월 2일", "3/2 (월)") - 레거시 파일: /mnt/c/dev/logbible/src/components/ui/calendar.tsx ## 작업 내용 ### 1. Stimulus 달력 컨트롤러 생성 - `app/javascript/controllers/datepicker_controller.js` 생성 - 기능: - 버튼 클릭 → 달력 팝오버 토글 - 월 이동 (이전/다음) - 날짜 클릭 → hidden input에 값 설정 + 팝오버 닫기 - 한국어 요일/월 표시 (일/월/화/수/목/금/토) - 선택된 날짜를 버튼에 한국어 포맷으로 표시 - 외부 클릭 시 팝오버 닫기 - min/max 날짜 제한 지원 (옵션) ### 2. shared/_datepicker 파셜 생성 - `app/views/shared/_datepicker.html.erb` 생성 - 사용법: `<%= render "shared/datepicker", form: f, field: :start_date, label: "시작일", required: true %>` - 구성: - 라벨 - hidden input (실제 form 값) - 트리거 버튼 (선택된 날짜 표시) - 달력 팝오버 (Tailwind 스타일) - 디자인 시스템 일관성: 기존 _input 파셜과 같은 스타일링 토큰 사용 ### 3. Tailwind 스타일링 - 기존 디자인 시스템 색상 토큰 사용 (app/assets/tailwind/application.css) - 오늘 날짜 하이라이트 - 선택된 날짜 하이라이트 - 비활성 날짜 (다른 월) 흐리게 ## 완료 기준 - datepicker_controller.js 생성 + importmap 등록 - shared/_datepicker.html.erb 파셜 생성 - 달력이 한국어로 표시됨 - 날짜 선택 시 hidden input에 YYYY-MM-DD 형식으로 저장 - 모바일에서도 사용 가능 (터치 지원) - 외부 클릭 시 닫힘 ## 담당 파일 (신규 생성) - app/javascript/controllers/datepicker_controller.js - app/views/shared/_datepicker.html.erb

D
datepicker-dev
9 days
높음 3869362d
서브 티켓 날짜 버튼

[DATE-3] 기존 폼에 달력 날짜 선택 적용 + QT 세션 UX 개선

## 목표 DATE-2에서 만든 datepicker 컴포넌트를 기존 폼에 적용하고, QT 세션 생성 시 종료일 자동 계산 구현 ## 의존성 - DATE-2 (datepicker 컴포넌트) 완료 후 진행 ## 작업 내용 ### 1. QT 세션 생성 폼 개선 (app/views/qt/sessions/new.html.erb) - 기존 `shared/input type: :date` → `shared/datepicker`로 교체 - 시작일 선택 시 종료일 자동 계산 (테마의 total_days 기반) - session_form_controller.js 수정: - datepicker의 change 이벤트 감지 - 시작일 변경 → 종료일 = 시작일 + total_days - 1 자동 설정 - 총 일수 표시 업데이트 ### 2. 설교 노트 폼 개선 (app/views/sermons/_form.html.erb) - 기존 `shared/input type: :date` → `shared/datepicker`로 교체 - 기본값: 오늘 날짜 ### 3. 기존 session_form_controller.js 수정 - datepicker와 연동되도록 이벤트 처리 업데이트 - 시작일 변경 → 종료일 자동 설정 로직 추가 - 수동으로 종료일도 변경 가능하도록 유지 ## 완료 기준 - QT 세션 생성 폼에서 달력으로 날짜 선택 가능 - 시작일 선택 시 종료일이 자동 계산됨 - 설교 노트 폼에서 달력으로 날짜 선택 가능 - 기존 기능(total_days 계산 등)이 정상 동작 - 기존 테스트 모두 통과 ## 담당 파일 - app/views/qt/sessions/new.html.erb - app/views/sermons/_form.html.erb - app/javascript/controllers/session_form_controller.js

D
dateform-dev
9 days