diff --git a/ping-viewer-next-frontend/src/App.vue b/ping-viewer-next-frontend/src/App.vue index 71ffb9cc..5f388b2d 100644 --- a/ping-viewer-next-frontend/src/App.vue +++ b/ping-viewer-next-frontend/src/App.vue @@ -88,7 +88,10 @@ @@ -200,6 +203,7 @@ import Ping1DLoader from './components/widgets/sonar1d/Ping1DLoader.vue'; import Ping1DSettings from './components/widgets/sonar1d/Ping1DSettings.vue'; import Ping360Loader from './components/widgets/sonar360/Ping360Loader.vue'; import Ping360Settings from './components/widgets/sonar360/Ping360Settings.vue'; +import { useMenuCoordination } from './composables/useMenuCoordination'; const { name: breakpoint } = useDisplay(); const theme = useTheme(); @@ -225,6 +229,15 @@ const isReplayActive = ref(false); const replayViewRef = ref(null); const dataPlayer = ref(null); +const menus = { + connection: isConnectionMenuOpen, + middle: isMenuOpen, + recordings: showRecordingsMenu, + settings: showSettings, +}; + +useMenuCoordination(menus); + const yawAngle = ref(0); const yawConnectionStatus = ref('Disconnected'); let yawWebSocket = null; @@ -808,26 +821,6 @@ watch( } ); -watch(isSpeedDialOpen, (newValue) => { - if (!newValue) { - isConnectionMenuOpen.value = false; - } -}); - -watch(isMenuOpen, (newValue) => { - if (newValue) { - showRecordingsMenu.value = false; - } -}); - -watch(showRecordingsMenu, (newValue) => { - if (newValue) { - isSpeedDialOpen.value = false; - isMenuOpen.value = false; - } -}); - -// 10. Provide/Inject provide('deviceSettings', { commonSettings, ping1DSettings,