From ef27e0fd486d1bb76ecd454eb93e4a2234a9e7e4 Mon Sep 17 00:00:00 2001 From: andrewwallacespeckle Date: Tue, 12 Aug 2025 12:20:17 +0100 Subject: [PATCH] refactor(fe): reset view mode onBeforeUnmount --- .../frontend-2/components/viewer/Base.vue | 3 + .../frontend-2/lib/viewer/composables/ui.ts | 59 +++---------------- 2 files changed, 11 insertions(+), 51 deletions(-) diff --git a/packages/frontend-2/components/viewer/Base.vue b/packages/frontend-2/components/viewer/Base.vue index f9a2b7ccf..3f570b344 100644 --- a/packages/frontend-2/components/viewer/Base.vue +++ b/packages/frontend-2/components/viewer/Base.vue @@ -8,6 +8,7 @@ diff --git a/packages/frontend-2/lib/viewer/composables/ui.ts b/packages/frontend-2/lib/viewer/composables/ui.ts index bfee70c84..ab65a698b 100644 --- a/packages/frontend-2/lib/viewer/composables/ui.ts +++ b/packages/frontend-2/lib/viewer/composables/ui.ts @@ -531,7 +531,6 @@ export function useViewModeUtilities() { const { viewMode } = useInjectedViewerInterfaceState() const { isLightTheme } = useTheme() const mp = useMixpanel() - const logger = useLogger() const edgesEnabled = ref(true) const edgesWeight = ref(1) @@ -607,58 +606,15 @@ export function useViewModeUtilities() { color: color.toString(16).padStart(6, '0') }) } - // Get the current view mode from the extension and sync the UI state - const initializeFromViewerState = () => { - try { - const viewModesExt = instance.getExtension(ViewModes) - if (viewModesExt) { - const extensionViewMode = viewModesExt.viewMode - if (extensionViewMode !== undefined) { - viewMode.value = extensionViewMode - } - const renderer = instance.getRenderer() - const currentPipeline = renderer?.pipeline - - if (currentPipeline && currentPipeline.options) { - const currentOptions = currentPipeline.options as Record - - if (typeof currentOptions.edges === 'boolean') { - edgesEnabled.value = currentOptions.edges - } - - const edgesPasses = currentPipeline.getPass('EDGES') - if (edgesPasses.length > 0) { - const edgesPass = edgesPasses[0] as unknown as Record - const edgesPassOptions = edgesPass._options as Record - - if ( - edgesPassOptions && - typeof edgesPassOptions.outlineThickness === 'number' - ) { - edgesWeight.value = edgesPassOptions.outlineThickness - } - if ( - edgesPassOptions && - typeof edgesPassOptions.outlineOpacity === 'number' - ) { - outlineOpacity.value = edgesPassOptions.outlineOpacity - } - if (edgesPassOptions && typeof edgesPassOptions.outlineColor === 'number') { - edgesColor.value = edgesPassOptions.outlineColor - } - } - } - } - } catch (error) { - logger.warn('Could not initialize from viewer state, using defaults:', error) - } + const resetViewMode = () => { + setViewMode(ViewMode.DEFAULT) + edgesEnabled.value = true + edgesWeight.value = 1 + outlineOpacity.value = 0.75 + edgesColor.value = defaultColor.value } - onMounted(() => { - initializeFromViewerState() - }) - return { currentViewMode, setViewMode, @@ -667,7 +623,8 @@ export function useViewModeUtilities() { edgesWeight, setEdgesWeight, setEdgesColor, - edgesColor + edgesColor, + resetViewMode } }