Skip to content

스타일 및 UX 개선: 동적 테마 반응성 복구, 주간시간표·학생상세 사용성 강화 및 공통 모달 2종 분리 - #7

Merged
sbjwin merged 1 commit into
mainfrom
feat/achieve-20261113-195327
Nov 13, 2026
Merged

sbjwin merged 1 commit into
mainfrom
feat/achieve-20261113-195327

Conversation

@sbjwin

@sbjwin sbjwin commented Nov 13, 2026

Copy link
Copy Markdown
Owner

📋 개요 (Summary)

설정 화면의 테마 프리셋이 전체 화면에 즉시 반영되도록 동적 스타일 구조를 정비하고, 주간시간표·학생상세·수업일지 화면의 모바일 사용성(UX) 개선 및 중복 모달 컴포넌트 2종 분리를 수행했습니다.


✨ 주요 변경 사항 (Key Changes)

1. 동적 테마 전환 반응성 복구 (Phase 1)

  • 8개 전체 화면(HomeScreen, WeeklyPlanScreen, CalendarScreen, StudentListScreen, SettingsScreen, StudentDetailScreen, ClassRecordScreen, HelpScreen) 및 공용 컴포넌트(Separator, ConfirmModal)의 정적 StyleSheet.create를 useMemo(() => createStyles(theme), [theme]) 구조로 전환하여 테마 프리셋 변경 시 즉시 색상이 반영되도록 개선

2. 시간 선택 모달 통합 및 오전 12시 버그 수정 (Phase 2)

  • ClassRecordScreen.js의 중복 인라인 시간 피커(~180줄, 오전 12시 선택 시 오후로 전환되던 문제)를 제거하고 공용 TimePickerModal로 일원화

3. 주간시간표 모바일 UX 강화 (Phase 3)

  • 타임라인 뷰 진입 시 selectedDayOffset 초기값을 **오늘 요일(월=0~일=6)**로 자동 포커스
  • 주간 표 헤더(dayHeaderCellToday) 및 타임라인 요일 탭(dayTabPillToday)에 오늘 날짜 강조 스타일 적용
  • 주간 표 열 너비(68 → 76, minWidth: 500) 및 셀 내부 텍스트 크기(10.5 / 9.5 / 9) 확대
  • handleMakeCall에서 다중 연락처가 존재할 때 번호 선택 다이얼로그(통화할 번호 선택) 지원

4. 학생 상세 화면 입력 안정성 및 오프라인 배너 적용 (Phase 4)

  • beforeRemove 이벤트 + ConfirmModal 기반 미저장 변경사항 이탈 방지 가드 추가 (저장·삭제 완료 및 휴회/재수강 즉시 저장 시 정상 이동)
  • 외부 이미지 URL(ImageBackground) 배너를 오프라인에서도 동작하는 **테마 반응형 배너 카드(bannerCard)**로 교체
  • 신규 학생 등록 모드에서도 초기 수강 상태(재원/휴회) 전환 버튼 지원

5. 공통 모달 2종 분리 및 단위 테스트 추가 (Phase 5)

  • src/components/modals/RecordPrintModal.js 신규 분리 (StudentListScreen, ClassRecordScreen, StudentDetailScreen 공통 연동)
  • src/components/modals/ScheduleEditModal.js 신규 분리 (학생 이름·학교·전화번호 확장 검색 포함, WeeklyPlanScreen.js 2,765줄 → 2,097줄 경량화)
  • __tests__/Components.test.js에 `Record

@coderabbitai

coderabbitai Bot commented Nov 13, 2026

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@sbjwin
sbjwin merged commit 6642e93 into main Nov 13, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant