feat: 모바일 반응형 UI 개선 및 공휴일/일정 시스템 통합
- MobileCard 접기/펼치기(collapsible) 기능 추가 및 반응형 레이아웃 개선 - DatePicker 공휴일/세무일정 색상 코딩 통합, DateTimePicker 신규 추가 - useCalendarScheduleInit 훅으로 전역 공휴일/일정 데이터 캐싱 - 전 도메인 날짜 필드 DatePicker 표준화 (104 files) - 생산대시보드/작업지시 모바일 호환성 강화 - 견적서/주문관리 반응형 그리드 적용 - 회계 모듈 기능 개선 (매입상세 결재연동, 미수금현황 조회조건 등) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
21
src/hooks/useCalendarScheduleInit.ts
Normal file
21
src/hooks/useCalendarScheduleInit.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { useEffect } from 'react';
|
||||
import { useCalendarScheduleStore } from '@/stores/useCalendarScheduleStore';
|
||||
|
||||
/**
|
||||
* 달력 일정 데이터를 스토어에 초기 로드하는 경량 훅
|
||||
*
|
||||
* 지정된 연도의 공휴일/세무일정/회사일정이 아직 로드되지 않았으면
|
||||
* API를 호출하여 Zustand 스토어에 캐시합니다.
|
||||
*
|
||||
* @param year 로드할 연도
|
||||
*/
|
||||
export function useCalendarScheduleInit(year: number) {
|
||||
const fetchSchedules = useCalendarScheduleStore((s) => s.fetchSchedules);
|
||||
const loaded = useCalendarScheduleStore((s) => s.loadedYears[year]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!loaded) {
|
||||
fetchSchedules(year);
|
||||
}
|
||||
}, [year, loaded, fetchSchedules]);
|
||||
}
|
||||
Reference in New Issue
Block a user