summaryrefslogtreecommitdiff
path: root/lib/gtc-contract/gtc-clauses/gtc-clauses-page-header.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gtc-contract/gtc-clauses/gtc-clauses-page-header.tsx')
-rw-r--r--lib/gtc-contract/gtc-clauses/gtc-clauses-page-header.tsx102
1 files changed, 102 insertions, 0 deletions
diff --git a/lib/gtc-contract/gtc-clauses/gtc-clauses-page-header.tsx b/lib/gtc-contract/gtc-clauses/gtc-clauses-page-header.tsx
new file mode 100644
index 00000000..52faea3c
--- /dev/null
+++ b/lib/gtc-contract/gtc-clauses/gtc-clauses-page-header.tsx
@@ -0,0 +1,102 @@
+"use client"
+
+import * as React from "react"
+import { useRouter } from "next/navigation"
+import { Button } from "@/components/ui/button"
+import { Badge } from "@/components/ui/badge"
+import { ArrowLeft, Eye, Download, Settings } from "lucide-react"
+import { InformationButton } from "@/components/information/information-button"
+
+interface GtcClausesPageHeaderProps {
+ document: any // GtcDocumentWithRelations 타입
+}
+
+export function GtcClausesPageHeader({ document }: GtcClausesPageHeaderProps) {
+ const router = useRouter()
+
+ const handleBack = () => {
+ router.push('/evcp/basic-contract-template/gtc')
+ }
+
+ const handlePreview = () => {
+ // PDFTron 미리보기 기능
+ console.log("PDF Preview for document:", document.id)
+ }
+
+ const handleDownload = () => {
+ // 문서 다운로드 기능
+ console.log("Download document:", document.id)
+ }
+
+ const handleSettings = () => {
+ // 문서 설정 (템플릿 관리 등)
+ console.log("Document settings:", document.id)
+ }
+
+ return (
+ <div className="flex items-center justify-between">
+ {/* 헤더 왼쪽 */}
+ <div className="flex items-center gap-4">
+ <Button
+ variant="ghost"
+ size="sm"
+ onClick={handleBack}
+ className="gap-2"
+ >
+ <ArrowLeft className="h-4 w-4" />
+ 목록으로
+ </Button>
+
+ <div className="border-l border-border pl-4">
+ <div className="flex items-center gap-2 mb-1">
+ <h1 className="text-2xl font-bold tracking-tight">
+ GTC 조항 관리
+ </h1>
+ <InformationButton pagePath="evcp/basic-contract-template/gtc/clauses" />
+ </div>
+
+ <div className="flex items-center gap-3 text-sm text-muted-foreground">
+ <Badge variant={document.type === "standard" ? "default" : "secondary"}>
+ {document.type === "standard" ? "표준" : "프로젝트"}
+ </Badge>
+
+ {document.project && (
+ <>
+ <span>•</span>
+ <span>{document.project.name} ({document.project.code})</span>
+ </>
+ )}
+
+ <span>•</span>
+ <span>v{document.revision}</span>
+
+ {document.fileName && (
+ <>
+ <span>•</span>
+ <span>{document.fileName}</span>
+ </>
+ )}
+ </div>
+ </div>
+ </div>
+
+ {/* 헤더 오른쪽 - 액션 버튼들 */}
+ <div className="flex items-center gap-2">
+ {/* <Button variant="outline" size="sm" onClick={handlePreview}>
+ <Eye className="mr-2 h-4 w-4" />
+ 미리보기
+ </Button>
+
+ <Button variant="outline" size="sm" onClick={handleDownload}>
+ <Download className="mr-2 h-4 w-4" />
+ 다운로드
+ </Button>
+
+ <Button variant="outline" size="sm" onClick={handleSettings}>
+ <Settings className="mr-2 h-4 w-4" />
+ 설정
+ </Button> */}
+ </div>
+ </div>
+ )
+} \ No newline at end of file