[feat]: Item Master 데이터 관리 기능 구현 및 타입 에러 수정

- ItemMasterDataManagement 컴포넌트 구조화 (tabs, dialogs, components 분리)
- HierarchyTab 타입 에러 수정 (BOMItem section_id, updated_at 추가)
- API 클라이언트 구현 (item-master.ts, 13개 엔드포인트)
- ItemMasterContext 구현 (상태 관리 및 데이터 흐름)
- 백엔드 요구사항 문서 작성 (CORS 설정, API 스펙 등)
- SSR 호환성 수정 (navigator API typeof window 체크)
- 미사용 변수 ESLint 에러 해결
- Context 리팩토링 (AuthContext, RootProvider 추가)
- API 유틸리티 추가 (error-handler, logger, transformers)

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
byeongcheolryu
2025-11-23 16:10:27 +09:00
parent 63f5df7d7d
commit df3db155dd
69 changed files with 31467 additions and 4796 deletions

View File

@@ -0,0 +1,51 @@
'use client';
import { ReactNode } from 'react';
import { AuthProvider } from './AuthContext';
import { ItemMasterProvider } from './ItemMasterContext';
/**
* RootProvider - 모든 Context Provider를 통합하는 최상위 Provider
*
* 현재 사용 중인 Context:
* 1. AuthContext - 사용자/인증 (2개 상태)
* 2. ItemMasterContext - 품목관리 (13개 상태)
*
* 미사용 Context (contexts/_unused/로 이동됨):
* - FacilitiesContext, AccountingContext, HRContext, ShippingContext
* - InventoryContext, ProductionContext, PricingContext, SalesContext
*/
export function RootProvider({ children }: { children: ReactNode }) {
return (
<AuthProvider>
<ItemMasterProvider>
{children}
</ItemMasterProvider>
</AuthProvider>
);
}
/**
* 사용법:
*
* // 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';
* // ... 등등
*/