diff --git a/frontend/src/app/page.tsx b/frontend/src/app/page.tsx index 42bc001..2abc22e 100644 --- a/frontend/src/app/page.tsx +++ b/frontend/src/app/page.tsx @@ -4,6 +4,7 @@ import { API_BASE } from "@/lib/api"; import { useEffect, useState, useRef, useCallback } from "react"; import dynamic from 'next/dynamic'; import { motion } from "framer-motion"; +import { ChevronLeft, ChevronRight } from "lucide-react"; import WorldviewLeftPanel from "@/components/WorldviewLeftPanel"; import NewsFeed from "@/components/NewsFeed"; @@ -123,6 +124,8 @@ export default function Dashboard() { // Stable reference for child components — only changes when dataVersion increments const data = dataRef.current; const [uiVisible, setUiVisible] = useState(true); + const [leftOpen, setLeftOpen] = useState(true); + const [rightOpen, setRightOpen] = useState(true); const [settingsOpen, setSettingsOpen] = useState(false); const [legendOpen, setLegendOpen] = useState(false); const [mapView, setMapView] = useState({ zoom: 2, latitude: 20 }); @@ -435,18 +438,54 @@ export default function Dashboard() {
VSR
- {/* LEFT HUD CONTAINER */} -
+ {/* LEFT HUD CONTAINER — slides off left edge when hidden */} + {/* LEFT PANEL - DATA LAYERS */} setSettingsOpen(true)} onLegendClick={() => setLegendOpen(true)} gibsDate={gibsDate} setGibsDate={setGibsDate} gibsOpacity={gibsOpacity} setGibsOpacity={setGibsOpacity} onEntityClick={setSelectedEntity} onFlyTo={(lat, lng) => setFlyToLocation({ lat, lng, ts: Date.now() })} /> + + {/* LEFT SIDEBAR TOGGLE TAB */} + + + -
+ {/* RIGHT SIDEBAR TOGGLE TAB */} + + + - {/* RIGHT HUD CONTAINER */} -
+ {/* RIGHT HUD CONTAINER — slides off right edge when hidden */} + {/* FIND / LOCATE */} @@ -502,7 +541,7 @@ export default function Dashboard() {
- + {/* BOTTOM CENTER COORDINATE / LOCATION BAR — hidden when Sentinel-2 imagery overlay is open */} {!(selectedEntity?.type === 'region_dossier' && regionDossier?.sentinel2) &&