summaryrefslogtreecommitdiff
path: root/lib/vendor-document-list/ship
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-09-09 06:51:44 +0000
committerjoonhoekim <26rote@gmail.com>2025-09-09 06:51:44 +0000
commitebcec3f296d1d27943caf8a3aed26efef117cdc5 (patch)
tree7b4111948b13c647f4412e3614a1a59e7af02f94 /lib/vendor-document-list/ship
parentce2d3097d034a1c5dd29c6cf3740556d41c7e880 (diff)
(김준회) 돌체 관련, 다크모드 지원하도록 개선
- 가능하면 시멘틱 색상 사용(muted, muted-foreground) - 어려운 컬러는 dark: 변수로 다크모드 클래스 지정
Diffstat (limited to 'lib/vendor-document-list/ship')
-rw-r--r--lib/vendor-document-list/ship/bulk-b4-upload-dialog.tsx4
-rw-r--r--lib/vendor-document-list/ship/enhanced-doc-table-columns.tsx40
-rw-r--r--lib/vendor-document-list/ship/enhanced-documents-table.tsx6
-rw-r--r--lib/vendor-document-list/ship/import-from-dolce-button.tsx6
-rw-r--r--lib/vendor-document-list/ship/send-to-shi-button.tsx8
5 files changed, 32 insertions, 32 deletions
diff --git a/lib/vendor-document-list/ship/bulk-b4-upload-dialog.tsx b/lib/vendor-document-list/ship/bulk-b4-upload-dialog.tsx
index 65166bd6..db0fa08e 100644
--- a/lib/vendor-document-list/ship/bulk-b4-upload-dialog.tsx
+++ b/lib/vendor-document-list/ship/bulk-b4-upload-dialog.tsx
@@ -366,10 +366,10 @@ export function BulkB4UploadDialog({
<Loader2 className="h-4 w-4 animate-spin" />
)}
{pf.status === 'success' && (
- <CheckCircle2 className="h-4 w-4 text-green-500" />
+ <CheckCircle2 className="h-4 w-4 text-emerald-500 dark:text-emerald-400" />
)}
{pf.status === 'error' && (
- <AlertCircle className="h-4 w-4 text-red-500" />
+ <AlertCircle className="h-4 w-4 text-destructive" />
)}
{pf.status === 'ignored' && (
<AlertTriangle className="h-4 w-4 text-yellow-500" />
diff --git a/lib/vendor-document-list/ship/enhanced-doc-table-columns.tsx b/lib/vendor-document-list/ship/enhanced-doc-table-columns.tsx
index 8370cd34..096f9b24 100644
--- a/lib/vendor-document-list/ship/enhanced-doc-table-columns.tsx
+++ b/lib/vendor-document-list/ship/enhanced-doc-table-columns.tsx
@@ -37,12 +37,12 @@ interface GetColumnsProps {
// 날짜 표시 컴포넌트 (간단 버전)
const DateDisplay = ({ date, isSelected = false }: { date: string | null, isSelected?: boolean }) => {
- if (!date) return <span className="text-gray-400">-</span>
+ if (!date) return <span className="text-muted-foreground">-</span>
return (
<span className={cn(
"text-sm",
- isSelected && "text-blue-600 font-semibold"
+ isSelected && "text-primary font-semibold"
)}>
{formatDate(date)}
</span>
@@ -59,7 +59,7 @@ export function getSimplifiedDocumentColumns({
id: "select",
header: ({ table }) => (
<div className="flex items-center justify-center">
- <span className="text-xs text-gray-500">Select</span>
+ <span className="text-xs text-muted-foreground">Select</span>
</div>
),
cell: ({ row }) => {
@@ -180,7 +180,7 @@ export function getSimplifiedDocumentColumns({
const firstRow = table.getRowModel().rows[0]?.original
const stageName = firstRow?.firstStageName || "First Stage"
return (
- <div className="text-center font-medium text-gray-700">
+ <div className="text-center font-medium text-foreground">
{stageName}
</div>
)
@@ -223,7 +223,7 @@ export function getSimplifiedDocumentColumns({
const firstRow = table.getRowModel().rows[0]?.original
const stageName = firstRow?.secondStageName || "Second Stage"
return (
- <div className="text-center font-medium text-gray-700">
+ <div className="text-center font-medium text-foreground">
{stageName}
</div>
)
@@ -373,8 +373,8 @@ function DocNumberCell({ doc }: { doc: SimplifiedDocumentsView }) {
className={cn(
"font-mono text-sm font-medium cursor-pointer px-2 py-1 rounded transition-colors",
isSelected
- ? "text-blue-600 font-bold bg-blue-50"
- : "hover:bg-gray-50"
+ ? "text-primary font-bold bg-primary/10"
+ : "hover:bg-muted/50"
)}
onClick={() => {
const newSelection = isSelected ? null : doc.documentId;
@@ -393,10 +393,10 @@ function TitleCell({ doc }: { doc: SimplifiedDocumentsView }) {
return (
<div
className={cn(
- "font-medium text-gray-900 truncate max-w-[300px] cursor-pointer px-2 py-1 rounded transition-colors",
+ "font-medium text-foreground truncate max-w-[300px] cursor-pointer px-2 py-1 rounded transition-colors",
isSelected
- ? "text-blue-600 font-bold bg-blue-50"
- : "hover:bg-gray-50"
+ ? "text-primary font-bold bg-primary/10"
+ : "hover:bg-muted/50"
)}
title={doc.title}
onClick={() => {
@@ -413,12 +413,12 @@ function ProjectCodeCell({ projectCode, documentId }: { projectCode: string | nu
const { selectedDocumentId } = React.useContext(DocumentSelectionContext);
const isSelected = selectedDocumentId === documentId;
- if (!projectCode) return <span className="text-gray-400">-</span>;
+ if (!projectCode) return <span className="text-muted-foreground">-</span>;
return (
<span className={cn(
"text-sm font-medium",
- isSelected && "text-blue-600 font-bold"
+ isSelected && "text-primary font-bold"
)}>
{projectCode}
</span>
@@ -439,8 +439,8 @@ function FirstStageActualDateCell({ row }: { row: any }) {
return (
<div className={cn(
- date ? "text-green-600 font-medium" : "",
- isSelected && date && "text-green-700 font-bold"
+ date ? "text-emerald-600 dark:text-emerald-400 font-medium" : "",
+ isSelected && date && "text-emerald-700 dark:text-emerald-300 font-bold"
)}>
<DateDisplay date={date} isSelected={isSelected && !date} />
{date && <span className="text-xs block">✓ 완료</span>}
@@ -462,8 +462,8 @@ function SecondStageActualDateCell({ row }: { row: any }) {
return (
<div className={cn(
- date ? "text-green-600 font-medium" : "",
- isSelected && date && "text-green-700 font-bold"
+ date ? "text-emerald-600 dark:text-emerald-400 font-medium" : "",
+ isSelected && date && "text-emerald-700 dark:text-emerald-300 font-bold"
)}>
<DateDisplay date={date} isSelected={isSelected && !date} />
{date && <span className="text-xs block">✓ 완료</span>}
@@ -477,10 +477,10 @@ function AttachmentCountCell({ count, documentId }: { count: number, documentId:
return (
<div className="flex items-center justify-center gap-1">
- <FileText className="w-4 h-4 text-gray-400" />
+ <FileText className="w-4 h-4 text-muted-foreground" />
<span className={cn(
"text-sm font-medium",
- isSelected && "text-blue-600 font-bold"
+ isSelected && "text-primary font-bold"
)}>
{count}
</span>
@@ -494,8 +494,8 @@ function UpdatedAtCell({ updatedAt, documentId }: { updatedAt: Date, documentId:
return (
<span className={cn(
- "text-sm text-gray-600",
- isSelected && "text-blue-600 font-semibold"
+ "text-sm text-muted-foreground",
+ isSelected && "text-primary font-semibold"
)}>
{formatDateTime(updatedAt)}
</span>
diff --git a/lib/vendor-document-list/ship/enhanced-documents-table.tsx b/lib/vendor-document-list/ship/enhanced-documents-table.tsx
index 287df755..24ab42fb 100644
--- a/lib/vendor-document-list/ship/enhanced-documents-table.tsx
+++ b/lib/vendor-document-list/ship/enhanced-documents-table.tsx
@@ -26,17 +26,17 @@ const DRAWING_KIND_INFO = {
B3: {
title: "B3 Vendor",
description: "Approval-focused drawings progressing through Approval → Work stages",
- color: "bg-blue-50 text-blue-700 border-blue-200"
+ color: "bg-primary/10 text-primary border-primary/20"
},
B4: {
title: "B4 GTT",
description: "DOLCE-integrated drawings progressing through Pre → Work stages",
- color: "bg-green-50 text-green-700 border-green-200"
+ color: "bg-emerald-50 dark:bg-emerald-950/20 text-emerald-700 dark:text-emerald-400 border-emerald-200 dark:border-emerald-800"
},
B5: {
title: "B5 FMEA",
description: "Sequential drawings progressing through First → Second stages",
- color: "bg-purple-50 text-purple-700 border-purple-200"
+ color: "bg-purple-50 dark:bg-purple-950/20 text-purple-700 dark:text-purple-400 border-purple-200 dark:border-purple-800"
}
} as const
diff --git a/lib/vendor-document-list/ship/import-from-dolce-button.tsx b/lib/vendor-document-list/ship/import-from-dolce-button.tsx
index 5e720220..fe7f55c7 100644
--- a/lib/vendor-document-list/ship/import-from-dolce-button.tsx
+++ b/lib/vendor-document-list/ship/import-from-dolce-button.tsx
@@ -375,7 +375,7 @@ export function ImportFromDOLCEButton({
}
return (
- <Badge variant="default" className="gap-1 bg-green-500 hover:bg-green-600">
+ <Badge variant="default" className="gap-1 bg-emerald-500 hover:bg-emerald-600 dark:bg-emerald-600 dark:hover:bg-emerald-700">
<CheckCircle className="w-3 h-3" />
{t('dolceImport.status.synchronized')}
</Badge>
@@ -440,7 +440,7 @@ export function ImportFromDOLCEButton({
<Button
variant="outline"
size="sm"
- className="flex items-center border-blue-200 hover:bg-blue-50"
+ className="flex items-center border-primary/20 hover:bg-primary/10"
disabled={isImporting || statusLoading}
>
{isImporting ? (
@@ -473,7 +473,7 @@ export function ImportFromDOLCEButton({
{/* 프로젝트 소스 표시 */}
{allDocuments.length === 0 && vendorProjectIds.length > 0 && (
- <div className="text-xs text-blue-600 bg-blue-50 p-2 rounded">
+ <div className="text-xs text-primary bg-primary/10 p-2 rounded">
{t('dolceImport.descriptions.noDocumentsImportAll')}
</div>
)}
diff --git a/lib/vendor-document-list/ship/send-to-shi-button.tsx b/lib/vendor-document-list/ship/send-to-shi-button.tsx
index 87cc6ff5..532aabf5 100644
--- a/lib/vendor-document-list/ship/send-to-shi-button.tsx
+++ b/lib/vendor-document-list/ship/send-to-shi-button.tsx
@@ -231,7 +231,7 @@ export function SendToSHIButton({
if (totalStats.totalSynced > 0) {
return (
- <Badge variant="default" className="gap-1 bg-green-500 hover:bg-green-600">
+ <Badge variant="default" className="gap-1 bg-emerald-500 hover:bg-emerald-600 dark:bg-emerald-600 dark:hover:bg-emerald-700">
<CheckCircle className="w-3 h-3" />
{t('shiSync.status.synchronized')}
</Badge>
@@ -249,7 +249,7 @@ export function SendToSHIButton({
<Button
variant="default"
size="sm"
- className="flex items-center gap-2 bg-blue-600 hover:bg-blue-700"
+ className="flex items-center gap-2 bg-primary hover:bg-primary/90"
disabled={isSyncing || totalStats.isLoading || documentsContractIds.length === 0}
>
{isSyncing ? (
@@ -332,11 +332,11 @@ export function SendToSHIButton({
</div>
<div className="text-center">
<div className="text-muted-foreground">{t('shiSync.labels.synced')}</div>
- <div className="font-medium text-green-600">{t('shiSync.labels.itemCount', { count: totalStats.totalSynced })}</div>
+ <div className="font-medium text-emerald-600 dark:text-emerald-400">{t('shiSync.labels.itemCount', { count: totalStats.totalSynced })}</div>
</div>
<div className="text-center">
<div className="text-muted-foreground">{t('shiSync.labels.failed')}</div>
- <div className="font-medium text-red-600">{t('shiSync.labels.itemCount', { count: totalStats.totalFailed })}</div>
+ <div className="font-medium text-destructive">{t('shiSync.labels.itemCount', { count: totalStats.totalFailed })}</div>
</div>
</div>