프로젝트 이름 관련 기타 정리사항

This commit is contained in:
hyeonsu 2025-09-02 10:43:59 +09:00
parent 1bf28291b5
commit 7002384393
5 changed files with 2 additions and 150 deletions

View File

@ -1,58 +0,0 @@
"use client";
import { ArrowLeft, HelpCircle } from "lucide-react";
import { Button } from "@/components/ui/button";
import { cn } from "@/lib/utils";
interface PageHeaderProps {
title: string;
subtitle?: string;
showBackButton?: boolean;
onBack?: () => void;
showHelpButton?: boolean;
onHelp?: () => void;
children?: React.ReactNode;
className?: string;
}
export function PageHeader({
title,
subtitle,
showBackButton = false,
onBack,
showHelpButton = false,
onHelp,
children,
className,
}: PageHeaderProps) {
return (
<div className={cn("flex items-center justify-between border-b border-slate-200 pb-6", className)}>
<div className="flex items-center space-x-4">
{showBackButton && (
<Button variant="ghost" size="sm" onClick={onBack} className="h-8 w-8 p-0">
<ArrowLeft className="h-4 w-4" />
</Button>
)}
<div>
<h1 className="text-2xl font-bold text-slate-900">{title}</h1>
{subtitle && <p className="mt-1 text-sm text-slate-600">{subtitle}</p>}
</div>
</div>
<div className="flex items-center space-x-2">
{children}
{showHelpButton && (
<Button variant="outline" size="sm" onClick={onHelp} className="h-8 w-8 p-0">
<HelpCircle className="h-4 w-4" />
</Button>
)}
</div>
</div>
);
}
// 페이지 헤더 액션 버튼 컴포넌트
export function PageHeaderActions({ children, className }: { children: React.ReactNode; className?: string }) {
return <div className={cn("flex items-center space-x-2", className)}>{children}</div>;
}

View File

@ -24,8 +24,6 @@ import { menuScreenApi } from "@/lib/api/screen";
import { toast } from "sonner"; import { toast } from "sonner";
import { MainHeader } from "./MainHeader"; import { MainHeader } from "./MainHeader";
import { ProfileModal } from "./ProfileModal"; import { ProfileModal } from "./ProfileModal";
import { PageHeader } from "./PageHeader";
import { getPageInfo } from "@/constants/pageInfo";
// useAuth의 UserInfo 타입을 확장 // useAuth의 UserInfo 타입을 확장
interface ExtendedUserInfo { interface ExtendedUserInfo {
@ -408,10 +406,7 @@ export function AppLayout({ children }: AppLayoutProps) {
</aside> </aside>
{/* 가운데 컨텐츠 영역 */} {/* 가운데 컨텐츠 영역 */}
<main className="bg-background flex-1 p-6"> <main className="bg-background flex-1 p-6">{children}</main>
<PageHeader title={getPageInfo(pathname).title} description={getPageInfo(pathname).description} />
{children}
</main>
</div> </div>
{/* 프로필 수정 모달 */} {/* 프로필 수정 모달 */}

View File

@ -1,21 +0,0 @@
interface PageHeaderProps {
title: string;
description?: string;
}
/**
*
* , ,
*/
export function PageHeader({ title, description }: PageHeaderProps) {
return (
<div className="mb-6">
<div className="flex items-center">
<div>
<h1 className="text-3xl font-bold text-gray-900">{title}</h1>
{description && <p className="text-muted-foreground">{description}</p>}
</div>
</div>
</div>
);
}

View File

@ -26,7 +26,7 @@ export const FORM_VALIDATION = {
} as const; } as const;
export const UI_CONFIG = { export const UI_CONFIG = {
COMPANY_NAME: "PLM 솔루션", COMPANY_NAME: "WACE 솔루션",
COPYRIGHT: "© 2025 WACE PLM Solution. All rights reserved.", COPYRIGHT: "© 2025 WACE PLM Solution. All rights reserved.",
POWERED_BY: "Powered by Spring Boot + Next.js", POWERED_BY: "Powered by Spring Boot + Next.js",
} as const; } as const;

View File

@ -1,64 +0,0 @@
/**
*
*/
export interface PageInfo {
title: string;
description?: string;
}
export const PAGE_INFO: Record<string, PageInfo> = {
// 메인 대시보드
"/main": {
title: "대시보드",
description: "PLM 시스템의 주요 현황을 확인하세요",
},
// 관리자 페이지들
"/admin": {
title: "관리자 대시보드",
description: "시스템 관리 및 모니터링",
},
"/admin/company": {
title: "회사 관리",
description: "회사 정보를 등록하고 관리합니다",
},
"/admin/userMng": {
title: "사용자 관리",
description: "시스템 사용자를 관리합니다",
},
"/admin/menu": {
title: "메뉴 관리",
description: "시스템 메뉴를 관리합니다",
},
"/admin/i18n": {
title: "다국어 관리",
description: "다국어 번역을 관리합니다",
},
"/admin/tableMng": {
title: "테이블 타입 관리",
description: "데이터베이스 테이블과 컬럼 타입을 관리합니다",
},
// 기타 페이지들
"/multilang": {
title: "다국어 설정",
description: "언어 설정을 변경합니다",
},
"/dashboard": {
title: "대시보드",
description: "PLM 시스템 현황",
},
// 기본값 (매핑되지 않은 페이지)
default: {
title: "WACE 솔루션",
description: "제품 수명 주기 관리 시스템",
},
};
/**
*
*/
export function getPageInfo(pathname: string): PageInfo {
return PAGE_INFO[pathname] || PAGE_INFO["default"];
}