- CEO 대시보드: 섹션별 API 연동 강화 (매출/매입/생산 실데이터 표시) - DashboardSettingsDialog 드래그 정렬 및 설정 UX 개선 - dashboard transformers 모듈 분리 (파일 분할) - DocumentTable/DocumentWrapper 공통 문서 컴포넌트 추출 - LineItemsTable organisms 컴포넌트 추가 - PurchaseOrderDocument/InspectionRequestDocument 문서 컴포넌트 리팩토링 - PermissionContext → permissionStore(Zustand) 전환 - useUIStore, stores/utils/userStorage 추가 - favoritesStore/useTableColumnStore 사용자별 저장 지원 - DepositDetail/WithdrawalDetail 삭제 (통합) - PurchaseDetail/SalesDetail 간소화 - amount.ts/formatters.ts 유틸 확장 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
33 lines
926 B
TypeScript
33 lines
926 B
TypeScript
/**
|
|
* 캘린더 (Calendar) 변환
|
|
*/
|
|
|
|
import type { CalendarApiResponse } from '../types';
|
|
import type { CalendarScheduleItem } from '@/components/business/CEODashboard/types';
|
|
|
|
/**
|
|
* Calendar API 응답 → Frontend 타입 변환
|
|
* API 응답 형식이 CalendarScheduleItem과 동일하므로 단순 매핑
|
|
*/
|
|
export function transformCalendarResponse(api: CalendarApiResponse): {
|
|
items: CalendarScheduleItem[];
|
|
totalCount: number;
|
|
} {
|
|
return {
|
|
items: api.items.map((item) => ({
|
|
id: item.id,
|
|
title: item.title,
|
|
startDate: item.startDate,
|
|
endDate: item.endDate,
|
|
startTime: item.startTime ?? undefined,
|
|
endTime: item.endTime ?? undefined,
|
|
isAllDay: item.isAllDay,
|
|
type: item.type,
|
|
department: item.department ?? undefined,
|
|
personName: item.personName ?? undefined,
|
|
color: item.color ?? undefined,
|
|
})),
|
|
totalCount: api.total_count,
|
|
};
|
|
}
|