diff --git a/frontend/src/features/detection/ChinaFishing.tsx b/frontend/src/features/detection/ChinaFishing.tsx index 60a7881..fcd62dd 100644 --- a/frontend/src/features/detection/ChinaFishing.tsx +++ b/frontend/src/features/detection/ChinaFishing.tsx @@ -1,6 +1,7 @@ import { useState, useEffect, useMemo, useCallback } from 'react'; import { Card, CardContent } from '@shared/components/ui/card'; import { Badge } from '@shared/components/ui/badge'; +import { PageContainer } from '@shared/components/layout'; import { Search, Ship, Clock, ChevronRight, ChevronLeft, Cloud, Eye, AlertTriangle, Radio, RotateCcw, @@ -287,7 +288,7 @@ export function ChinaFishing() { ]; return ( -
+ {/* ── 모드 탭 (AI 대시보드 / 환적 탐지) ── */}
{modeTabs.map((tab) => ( @@ -677,6 +678,6 @@ export function ChinaFishing() {
} -
+ ); } diff --git a/frontend/src/features/detection/DarkVesselDetection.tsx b/frontend/src/features/detection/DarkVesselDetection.tsx index f6e168d..445cc39 100644 --- a/frontend/src/features/detection/DarkVesselDetection.tsx +++ b/frontend/src/features/detection/DarkVesselDetection.tsx @@ -2,6 +2,7 @@ import { useEffect, useState, useMemo, useRef, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { Card, CardContent } from '@shared/components/ui/card'; import { Badge } from '@shared/components/ui/badge'; +import { PageContainer, PageHeader } from '@shared/components/layout'; import { DataTable, type DataColumn } from '@shared/components/common/DataTable'; import { EyeOff, AlertTriangle, Radio, Tag, Loader2 } from 'lucide-react'; import { BaseMap, STATIC_LAYERS, createMarkerLayer, createRadiusLayer, useMapLayers, type MapHandle } from '@lib/map'; @@ -147,13 +148,13 @@ export function DarkVesselDetection() { useMapLayers(mapRef, buildLayers, [DATA]); return ( -
-
-
-

{t('darkVessel.title')}

-

{t('darkVessel.desc')}

-
-
+ + {!serviceAvailable && (
@@ -216,6 +217,6 @@ export function DarkVesselDetection() {
-
+ ); } diff --git a/frontend/src/features/detection/GearDetection.tsx b/frontend/src/features/detection/GearDetection.tsx index cd3f734..aad29cb 100644 --- a/frontend/src/features/detection/GearDetection.tsx +++ b/frontend/src/features/detection/GearDetection.tsx @@ -2,6 +2,7 @@ import { useEffect, useState, useMemo, useRef, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import { Card, CardContent } from '@shared/components/ui/card'; import { Badge } from '@shared/components/ui/badge'; +import { PageContainer, PageHeader } from '@shared/components/layout'; import { DataTable, type DataColumn } from '@shared/components/common/DataTable'; import { Anchor, AlertTriangle, Loader2 } from 'lucide-react'; import { BaseMap, STATIC_LAYERS, createMarkerLayer, createRadiusLayer, useMapLayers, type MapHandle } from '@lib/map'; @@ -131,11 +132,13 @@ export function GearDetection() { useMapLayers(mapRef, buildLayers, [DATA]); return ( -
-
-

{t('gearDetection.title')}

-

{t('gearDetection.desc')}

-
+ + {!serviceAvailable && (
@@ -193,6 +196,6 @@ export function GearDetection() {
-
+ ); }