- BOMItem Omit 타입 시그니처 통일 (useTemplateManagement, SectionsTab, ItemMasterContext) - HeadersInit → Record<string, string> 타입 변경 - Zustand useShallow 마이그레이션 (zustand/react/shallow) - DataTable, ListPageTemplate 제네릭 타입 제약 추가 - 설정 관리 페이지 추가 (직급, 직책, 휴가정책, 근무일정, 권한) - HR 관리 페이지 추가 (급여, 휴가) - 단가관리 페이지 리팩토링 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
32 lines
751 B
TypeScript
32 lines
751 B
TypeScript
'use client';
|
|
|
|
import { ReactNode } from "react";
|
|
|
|
interface PageLayoutProps {
|
|
children: ReactNode;
|
|
maxWidth?: "sm" | "md" | "lg" | "xl" | "2xl" | "full";
|
|
versionInfo?: ReactNode;
|
|
}
|
|
|
|
export function PageLayout({ children, maxWidth = "full", versionInfo }: PageLayoutProps) {
|
|
|
|
const maxWidthClasses = {
|
|
sm: "max-w-3xl",
|
|
md: "max-w-5xl",
|
|
lg: "max-w-6xl",
|
|
xl: "max-w-7xl",
|
|
"2xl": "max-w-[1600px]",
|
|
full: "w-full"
|
|
};
|
|
|
|
return (
|
|
<div className={`p-3 md:p-6 pb-0 space-y-3 md:space-y-6 flex flex-col ${maxWidthClasses[maxWidth]} mx-auto w-full relative`}>
|
|
{versionInfo && (
|
|
<div className="absolute top-4 right-4 z-10">
|
|
{versionInfo}
|
|
</div>
|
|
)}
|
|
{children}
|
|
</div>
|
|
);
|
|
} |