Files
sam-react-prod/src/contexts/RootProvider.tsx
유병철 07374c826c refactor(WEB): claudedocs 재정리 및 AuthContext/Zustand/유틸 코드 개선
- claudedocs 폴더 구조 재정리: archive/sessions, guides/migration·mobile·universal-list, refactoring 분류
- 오래된 세션 컨텍스트/체크리스트 문서 정리 (아카이브 이동 또는 삭제)
- AuthContext → authStore(Zustand) 전환 시작, RootProvider 간소화
- GenericCRUDDialog 공통 다이얼로그 컴포넌트 추가
- PermissionDialog 삭제 → GenericCRUDDialog로 대체
- RankDialog/TitleDialog GenericCRUDDialog 기반으로 리팩토링
- toast-utils.ts 삭제 (미사용)
- fileDownload.ts 개선, excel-download.ts 정리
- menuStore/themeStore Zustand 셀렉터 최적화
- useColumnSettings/useTableColumnStore 기능 보강
- 세금계산서/견적/작업자화면/결재 등 소규모 개선

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 17:17:13 +09:00

52 lines
1.4 KiB
TypeScript

'use client';
import { ReactNode } from 'react';
import { PermissionProvider } from './PermissionContext';
import { ItemMasterProvider } from './ItemMasterContext';
/**
* RootProvider - 모든 Context Provider를 통합하는 최상위 Provider
*
* 현재 사용 중인 Context/Store:
* 1. authStore (Zustand) - 사용자/인증 (Provider 불필요)
* 2. PermissionContext - 권한 관리 (URL 자동매칭)
* 3. ItemMasterContext - 품목관리 (13개 상태)
*
* 미사용 Context (contexts/_unused/로 이동됨):
* - FacilitiesContext, AccountingContext, HRContext, ShippingContext
* - InventoryContext, ProductionContext, PricingContext, SalesContext
*/
export function RootProvider({ children }: { children: ReactNode }) {
return (
<PermissionProvider>
<ItemMasterProvider>
{children}
</ItemMasterProvider>
</PermissionProvider>
);
}
/**
* 사용법:
*
* // app/layout.tsx
* import { RootProvider } from '@/contexts/RootProvider';
*
* export default function RootLayout({ children }) {
* return (
* <html>
* <body>
* <RootProvider>
* {children}
* </RootProvider>
* </body>
* </html>
* );
* }
*
* // 각 페이지/컴포넌트에서 사용:
* import { useAuth } from '@/contexts/AuthContext';
* import { useItemMaster } from '@/contexts/ItemMasterContext';
* import { useSales } from '@/contexts/SalesContext';
* // ... 등등
*/