diff --git a/frontend/app/(main)/screens/[screenId]/page.tsx b/frontend/app/(main)/screens/[screenId]/page.tsx index eb4c5bbb..e9e0b776 100644 --- a/frontend/app/(main)/screens/[screenId]/page.tsx +++ b/frontend/app/(main)/screens/[screenId]/page.tsx @@ -3,7 +3,7 @@ import React, { useEffect, useState, useMemo } from "react"; import { useParams, useSearchParams } from "next/navigation"; import { Button } from "@/components/ui/button"; -import { Loader2 } from "lucide-react"; +import { Loader2, FileQuestion, AlertTriangle } from "lucide-react"; import { screenApi } from "@/lib/api/screen"; import { ScreenDefinition, LayoutData, ComponentData } from "@/types/screen"; import { LayerDefinition } from "@/types/screen-management"; @@ -597,8 +597,8 @@ function ScreenViewPage() { if (loading) { return ( -
-
+
+

화면을 불러오는 중...

@@ -608,10 +608,10 @@ function ScreenViewPage() { if (error || !screen) { return ( -
-
-
- ⚠️ +
+
+
+

화면을 찾을 수 없습니다

{error || "요청하신 화면이 존재하지 않습니다."}

@@ -633,8 +633,8 @@ function ScreenViewPage() { > {/* 레이아웃 준비 중 로딩 표시 */} {!layoutReady && ( -
-
+
+

화면 준비 중...

@@ -754,8 +754,8 @@ function ScreenViewPage() { layoutReady && (
-
- 📄 +
+

화면이 비어있습니다

이 화면에는 아직 설계된 컴포넌트가 없습니다.

diff --git a/frontend/components/admin/CompanySwitcher.tsx b/frontend/components/admin/CompanySwitcher.tsx index 3d53accc..c37d82a5 100644 --- a/frontend/components/admin/CompanySwitcher.tsx +++ b/frontend/components/admin/CompanySwitcher.tsx @@ -132,7 +132,7 @@ export function CompanySwitcher({ onClose, isOpen = false }: CompanySwitcherProp return (
{/* 현재 회사 정보 */} -
+
diff --git a/frontend/components/dashboard/DashboardViewer.tsx b/frontend/components/dashboard/DashboardViewer.tsx index b9346ba7..fe17b97b 100644 --- a/frontend/components/dashboard/DashboardViewer.tsx +++ b/frontend/components/dashboard/DashboardViewer.tsx @@ -171,10 +171,10 @@ function renderWidget(element: DashboardElement) { // === 기본 fallback === default: return ( -
+
-
알 수 없는 위젯 타입: {element.subtype}
+
알 수 없는 위젯 타입: {element.subtype}
); diff --git a/frontend/components/dashboard/widgets/DeliveryStatusWidget.tsx b/frontend/components/dashboard/widgets/DeliveryStatusWidget.tsx index 637e299e..1acf795c 100644 --- a/frontend/components/dashboard/widgets/DeliveryStatusWidget.tsx +++ b/frontend/components/dashboard/widgets/DeliveryStatusWidget.tsx @@ -293,7 +293,7 @@ export default function DeliveryStatusWidget({ element, refreshInterval = 60000 }; return ( -
+
{/* 헤더 */}
diff --git a/frontend/components/dashboard/widgets/DeliveryTodayStatsWidget.tsx b/frontend/components/dashboard/widgets/DeliveryTodayStatsWidget.tsx index 5db1372c..ac01e4ef 100644 --- a/frontend/components/dashboard/widgets/DeliveryTodayStatsWidget.tsx +++ b/frontend/components/dashboard/widgets/DeliveryTodayStatsWidget.tsx @@ -140,7 +140,7 @@ export default function DeliveryTodayStatsWidget({ element }: DeliveryTodayStats {/* 통계 카드 */}
{/* 오늘 발송 */} -
+
📤

오늘 발송

{todayStats.shipped.toLocaleString()}

@@ -148,7 +148,7 @@ export default function DeliveryTodayStatsWidget({ element }: DeliveryTodayStats
{/* 오늘 도착 */} -
+
📥

오늘 도착

{todayStats.delivered.toLocaleString()}

diff --git a/frontend/components/dashboard/widgets/ExchangeWidget.tsx b/frontend/components/dashboard/widgets/ExchangeWidget.tsx index 9369eb83..d9d9b63b 100644 --- a/frontend/components/dashboard/widgets/ExchangeWidget.tsx +++ b/frontend/components/dashboard/widgets/ExchangeWidget.tsx @@ -251,9 +251,9 @@ export default function ExchangeWidget({
-
+
-
+
diff --git a/frontend/components/dashboard/widgets/ListSummaryWidget.tsx b/frontend/components/dashboard/widgets/ListSummaryWidget.tsx index 4bb1f1d5..6ab2edeb 100644 --- a/frontend/components/dashboard/widgets/ListSummaryWidget.tsx +++ b/frontend/components/dashboard/widgets/ListSummaryWidget.tsx @@ -249,7 +249,7 @@ export default function ListSummaryWidget({ element }: ListSummaryWidgetProps) { } return ( -
+
{/* 헤더 */}
diff --git a/frontend/components/dashboard/widgets/MaintenanceWidget.tsx b/frontend/components/dashboard/widgets/MaintenanceWidget.tsx index fd2d3723..530ae12e 100644 --- a/frontend/components/dashboard/widgets/MaintenanceWidget.tsx +++ b/frontend/components/dashboard/widgets/MaintenanceWidget.tsx @@ -115,7 +115,7 @@ export default function MaintenanceWidget() { }; return ( -
+
{/* 헤더 */}
diff --git a/frontend/components/dashboard/widgets/StatusSummaryWidget.tsx b/frontend/components/dashboard/widgets/StatusSummaryWidget.tsx index a5387ea4..5cec89f4 100644 --- a/frontend/components/dashboard/widgets/StatusSummaryWidget.tsx +++ b/frontend/components/dashboard/widgets/StatusSummaryWidget.tsx @@ -141,7 +141,7 @@ export default function StatusSummaryWidget({ element, title = "상태 요약", icon = "📊", - bgGradient = "from-background to-primary/10", + bgGradient = "", statusConfig, }: StatusSummaryWidgetProps) { const [statusData, setStatusData] = useState([]); @@ -353,7 +353,7 @@ export default function StatusSummaryWidget({ const displayTitle = element.customTitle || (tableName ? `${translateTableName(tableName)} 현황` : title); return ( -
+
{/* 헤더 */}
diff --git a/frontend/components/dataflow/RelationshipListModal.tsx b/frontend/components/dataflow/RelationshipListModal.tsx index d5ba9b9e..5b3d89b0 100644 --- a/frontend/components/dataflow/RelationshipListModal.tsx +++ b/frontend/components/dataflow/RelationshipListModal.tsx @@ -134,9 +134,9 @@ export const RelationshipListModal: React.FC = ({ }; return ( -
+
{/* 헤더 */} -
+
🔗 diff --git a/frontend/components/dataflow/SelectedTablesPanel.tsx b/frontend/components/dataflow/SelectedTablesPanel.tsx index e4bd0927..02e858b5 100644 --- a/frontend/components/dataflow/SelectedTablesPanel.tsx +++ b/frontend/components/dataflow/SelectedTablesPanel.tsx @@ -24,9 +24,9 @@ export const SelectedTablesPanel: React.FC = ({ canCreateConnection, }) => { return ( -
+
{/* 헤더 */} -
+
📋 @@ -104,24 +104,22 @@ export const SelectedTablesPanel: React.FC = ({
{/* 액션 버튼 */} -
+
diff --git a/frontend/components/dataflow/connection/InsertFieldMappingPanel.tsx b/frontend/components/dataflow/connection/InsertFieldMappingPanel.tsx index bd756de0..d621cd05 100644 --- a/frontend/components/dataflow/connection/InsertFieldMappingPanel.tsx +++ b/frontend/components/dataflow/connection/InsertFieldMappingPanel.tsx @@ -410,7 +410,7 @@ export const InsertFieldMappingPanel: React.FC = ( setToShowMappedOnly(false); setToShowUnmappedOnly(true); }} - className="h-7 bg-amber-100 text-xs text-orange-700 hover:bg-orange-200" + className="h-7 text-xs" > 미매핑만 보기 @@ -424,7 +424,7 @@ export const InsertFieldMappingPanel: React.FC = ( setToShowMappedOnly(true); setToShowUnmappedOnly(false); }} - className="h-7 bg-emerald-100 text-xs text-emerald-700 hover:bg-emerald-200" + className="h-7 text-xs" > 매핑됨만 보기 @@ -440,7 +440,7 @@ export const InsertFieldMappingPanel: React.FC = ( {/* 매핑 통계 */} - +
diff --git a/frontend/components/dataflow/connection/redesigned/DataConnectionDesigner.tsx b/frontend/components/dataflow/connection/redesigned/DataConnectionDesigner.tsx index 2deeb78e..718c9953 100644 --- a/frontend/components/dataflow/connection/redesigned/DataConnectionDesigner.tsx +++ b/frontend/components/dataflow/connection/redesigned/DataConnectionDesigner.tsx @@ -32,10 +32,10 @@ export const DataConnectionDesigner: React.FC = () => { const { isMobile, isTablet } = useResponsive(); return ( -
-
+
+

- 🎨 제어관리 - 데이터 연결 설정 + 제어관리 - 데이터 연결 설정

시각적 필드 매핑으로 데이터 연결을 쉽게 설정하세요 diff --git a/frontend/components/dataflow/connection/redesigned/RightPanel/DataflowVisualization.tsx b/frontend/components/dataflow/connection/redesigned/RightPanel/DataflowVisualization.tsx index 2c182256..770839ac 100644 --- a/frontend/components/dataflow/connection/redesigned/RightPanel/DataflowVisualization.tsx +++ b/frontend/components/dataflow/connection/redesigned/RightPanel/DataflowVisualization.tsx @@ -256,7 +256,7 @@ export const DataflowVisualization: React.FC = ({ st

{/* 통계 요약 */} - +
diff --git a/frontend/components/mail/ConfirmDeleteModal.tsx b/frontend/components/mail/ConfirmDeleteModal.tsx index 7c582834..4b69c6f7 100644 --- a/frontend/components/mail/ConfirmDeleteModal.tsx +++ b/frontend/components/mail/ConfirmDeleteModal.tsx @@ -30,49 +30,49 @@ export default function ConfirmDeleteModal({ return (
-
+
{/* 헤더 */} -
-
- -

{title}

+
+
+ +

{title}

{/* 내용 */} -
-

{message}

+
+

{message}

{itemName && ( -
-

+

+

삭제 대상: {itemName}

)} -

+

이 작업은 되돌릴 수 없습니다. 계속하시겠습니까?

{/* 버튼 */} -
+
diff --git a/frontend/components/mail/MailAccountModal.tsx b/frontend/components/mail/MailAccountModal.tsx index 6f900222..1bff5994 100644 --- a/frontend/components/mail/MailAccountModal.tsx +++ b/frontend/components/mail/MailAccountModal.tsx @@ -133,20 +133,20 @@ export default function MailAccountModal({ return (
-
+
{/* 헤더 */} -
-
- -

+
+
+ +

{mode === 'create' ? '새 메일 계정 추가' : '메일 계정 수정'}

@@ -374,12 +374,12 @@ export default function MailAccountModal({ )} {/* 버튼 */} -
+