refactor(WEB): CEO 대시보드 대규모 개선 및 문서/권한/스토어 리팩토링

- 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>
This commit is contained in:
유병철
2026-02-23 20:59:25 +09:00
parent 718be1cfdb
commit 8f4a7ee842
43 changed files with 3489 additions and 3463 deletions

View File

@@ -1,6 +1,6 @@
import { usePathname } from 'next/navigation';
import { usePermissionContext } from '@/contexts/PermissionContext';
import { usePermissionStore } from '@/stores/permissionStore';
import { findMatchingUrl } from '@/lib/permissions/utils';
import { ALL_ALLOWED } from '@/lib/permissions/types';
import type { UsePermissionReturn } from '@/lib/permissions/types';
@@ -20,7 +20,8 @@ import type { UsePermissionReturn } from '@/lib/permissions/types';
*/
export function usePermission(overrideUrl?: string): UsePermissionReturn {
const pathname = usePathname();
const { permissionMap, isLoading } = usePermissionContext();
const permissionMap = usePermissionStore((s) => s.permissionMap);
const isLoading = usePermissionStore((s) => s.isLoading);
const targetPath = overrideUrl || pathname;