Repository navigation
스타일 및 UX 개선: 동적 테마 반응성 복구, 주간시간표·학생상세 사용성 강화 및 공통 모달 2종 분리 - #7
Merged
Merged
Conversation
Co-authored-by: zigman1234 <zigman1234@users.noreply.github.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📋 개요 (Summary)
설정 화면의 테마 프리셋이 전체 화면에 즉시 반영되도록 동적 스타일 구조를 정비하고, 주간시간표·학생상세·수업일지 화면의 모바일 사용성(UX) 개선 및 중복 모달 컴포넌트 2종 분리를 수행했습니다.
✨ 주요 변경 사항 (Key Changes)
1. 동적 테마 전환 반응성 복구 (Phase 1)
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기반 미저장 변경사항 이탈 방지 가드 추가 (저장·삭제 완료 및 휴회/재수강 즉시 저장 시 정상 이동)ImageBackground) 배너를 오프라인에서도 동작하는 **테마 반응형 배너 카드(bannerCard)**로 교체재원/휴회) 전환 버튼 지원5. 공통 모달 2종 분리 및 단위 테스트 추가 (Phase 5)
src/components/modals/RecordPrintModal.js신규 분리 (StudentListScreen,ClassRecordScreen,StudentDetailScreen공통 연동)src/components/modals/ScheduleEditModal.js신규 분리 (학생 이름·학교·전화번호 확장 검색 포함,WeeklyPlanScreen.js2,765줄 → 2,097줄 경량화)__tests__/Components.test.js에 `Record