diff --git a/src/component/wrap/ToolComponent.jsx b/src/component/wrap/ToolComponent.jsx
index 845902c8..fb39b1c4 100644
--- a/src/component/wrap/ToolComponent.jsx
+++ b/src/component/wrap/ToolComponent.jsx
@@ -1,6 +1,8 @@
import { useState } from "react"
import useShipStore from '../../stores/shipStore';
+const BASE_URL = import.meta.env.BASE_URL;
+
export default function ToolComponent() {
const [isLegendOpen, setIsLegendOpen] = useState(false);
const { isIntegrate, toggleIntegrate } = useShipStore();
@@ -57,83 +59,83 @@ export default function ToolComponent() {
-
-
통합
+
통합
0
-
-
중국어선
+
중국어선
0
-
-
중국어선허가
+
중국어선허가
0
-
-
일본어선
+
일본어선
0
-
-
위험물
+
위험물
0
-
-
여객선
+
여객선
0
-
-
함정
+
함정
0
-
-
함정-RADAR
+
함정-RADAR
0
-
-
일반
+
일반
0
-
-
VTS-일반
+
VTS-일반
0
-
-
VTS-RADAR
+
VTS-RADAR
0
-
-
VPASS일반
+
VPASS일반
0
-
-
ENAV어선
+
ENAV어선
0
-
-
ENAV위험물
+
ENAV위험물
0
-
-
ENAV화물선
+
ENAV화물선
0
-
-
ENAV관공선
+
ENAV관공선
0
-
-
ENAV일반
+
ENAV일반
0
-
-
D-MF/HF
+
D-MF/HF
0
-
-
항공기
+
항공기
0
-
-
NLL
+
NLL
0
diff --git a/src/component/wrap/main/ShipComponent.jsx b/src/component/wrap/main/ShipComponent.jsx
index 2f4ff033..5cd42583 100644
--- a/src/component/wrap/main/ShipComponent.jsx
+++ b/src/component/wrap/main/ShipComponent.jsx
@@ -1,12 +1,15 @@
import { useState } from "react";
+
+const BASE_URL = import.meta.env.BASE_URL;
+
export default function ShipComponent() {
//progress bar value 선언
const [value, setValue] = useState(60);
// 갤러리 이미지
const images = [
- { src: "/images/photo_ship_001.png", alt: "1511함A-05" },
- { src: "/images/photo_ship_002.png", alt: "1511함A-05" },
+ { src: `${BASE_URL}images/photo_ship_001.png`, alt: "1511함A-05" },
+ { src: `${BASE_URL}images/photo_ship_002.png`, alt: "1511함A-05" },
];
const [currentIndex, setCurrentIndex] = useState(0);
@@ -30,7 +33,7 @@ export default function ShipComponent() {
-

+
1511함A-05
13450135
diff --git a/src/component/wrap/side/DisplayComponent.jsx b/src/component/wrap/side/DisplayComponent.jsx
index b016adca..e513b476 100644
--- a/src/component/wrap/side/DisplayComponent.jsx
+++ b/src/component/wrap/side/DisplayComponent.jsx
@@ -1,7 +1,8 @@
-import { useState, useCallback } from 'react';
+import { useState, useCallback, useEffect } from 'react';
import { Link, useNavigate } from "react-router-dom";
import Slider from '../../common/Slider';
import useShipStore from '../../../stores/shipStore';
+import { useMapStore, BASE_MAP_TYPES } from '../../../stores/mapStore';
import {
SIGNAL_SOURCE_CODE_AIS,
SIGNAL_SOURCE_CODE_ENAV,
@@ -55,10 +56,14 @@ const NATIONAL_FILTERS = [
{ code: NATIONAL_CODE_OTHER, label: '기타' },
];
-export default function DisplayComponent({ isOpen, onToggle }) {
+export default function DisplayComponent({ isOpen, onToggle, initialTab = 'filter' }) {
const navigate = useNavigate();
- // 스토어 연결
+ // 지도 스토어 연결
+ const baseMapType = useMapStore((s) => s.baseMapType);
+ const setBaseMapType = useMapStore((s) => s.setBaseMapType);
+
+ // 선박 스토어 연결
const {
sourceVisibility,
kindVisibility,
@@ -124,8 +129,13 @@ export default function DisplayComponent({ isOpen, onToggle }) {
});
}, [isAllNationalsOn, nationalVisibility, toggleNationalVisibility]);
- // 탭이동
- const [activeTab, setActiveTab] = useState('filter');
+ // 탭이동 (좌측 메뉴와 동기화)
+ const [activeTab, setActiveTab] = useState(initialTab);
+
+ // 좌측 메뉴 변경 시 탭 동기화
+ useEffect(() => {
+ setActiveTab(initialTab);
+ }, [initialTab]);
const tabs = [
{ id: 'filter', label: '필터' },
@@ -415,15 +425,42 @@ export default function DisplayComponent({ isOpen, onToggle }) {
diff --git a/src/component/wrap/side/Panel1Component.jsx b/src/component/wrap/side/Panel1Component.jsx
index 65358c2a..905ce205 100644
--- a/src/component/wrap/side/Panel1Component.jsx
+++ b/src/component/wrap/side/Panel1Component.jsx
@@ -1,5 +1,8 @@
import { useState } from 'react';
import { Link } from "react-router-dom";
+
+const BASE_URL = import.meta.env.BASE_URL;
+
export default function Panel1Component({ isOpen, onToggle }) {
// 아코디언
@@ -169,11 +172,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -183,11 +186,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -197,11 +200,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -211,11 +214,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -258,7 +261,7 @@ export default function Panel1Component({ isOpen, onToggle }) {
Fishing
-

+
412
@@ -344,11 +347,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -358,11 +361,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -411,11 +414,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -425,11 +428,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -588,11 +591,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -602,11 +605,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -660,11 +663,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
@@ -674,11 +677,11 @@ export default function Panel1Component({ isOpen, onToggle }) {
0001
1511함A-05
-
+
(AIS)
-
+
diff --git a/src/component/wrap/side/Panel3Component.jsx b/src/component/wrap/side/Panel3Component.jsx
index 2263b47d..8abc7bbd 100644
--- a/src/component/wrap/side/Panel3Component.jsx
+++ b/src/component/wrap/side/Panel3Component.jsx
@@ -1,5 +1,8 @@
import { useState } from 'react';
import { Link } from "react-router-dom";
+
+const BASE_URL = import.meta.env.BASE_URL;
+
export default function Panel3Component({ isOpen, onToggle }) {
// 탭이동
@@ -136,11 +139,11 @@ export default function Panel3Component({ isOpen, onToggle }) {
조위관측 범례
-
조위관측소
-
해양관측소
-
해양관측부이
-
해수유동관측소
-
해양과학기지
+
조위관측소
+
해양관측소
+
해양관측부이
+
해수유동관측소
+
해양과학기지
@@ -187,8 +190,8 @@ export default function Panel3Component({ isOpen, onToggle }) {