import { stackFactory, flatStacksValue, strToParams } from '@/utils' import { ref } from 'vue' import type { FuseModel, TaggingPosition } from '@/store' export const viewModeStack = stackFactory(ref<'full' | 'auto'>('auto')) export const showToolbarStack = stackFactory(ref(false)) export const showHeadBarStack = stackFactory(ref(true)) export const showRightPanoStack = stackFactory(ref(true)) export const showLeftPanoStack = stackFactory(ref(false)) export const showLeftCtrlPanoStack = stackFactory(ref(true)) export const showRightCtrlPanoStack = stackFactory(ref(true)) export const showBottomBarStack = stackFactory(ref(false)) export const bottomBarHeightStack = stackFactory(ref('60px')) export const showTaggingsStack = stackFactory(ref(true)) export const showMeasuresStack = stackFactory(ref(false)) export const currentModelStack = stackFactory(ref(null)) export const showModelsMapStack = stackFactory(ref>(new Map)) export const modelsChangeStoreStack = stackFactory(ref(false)) export const showTaggingPositionsStack = stackFactory(ref>(new WeakSet())) // export const showModelsChangeStoreStack = stackFactory export const custom = flatStacksValue({ viewMode: viewModeStack, showToolbar: showToolbarStack, showRightPano: showRightPanoStack, showLeftPano: showLeftPanoStack, showLeftCtrlPano: showLeftCtrlPanoStack, shwoRightCtrlPano: showRightCtrlPanoStack, showTaggings: showTaggingsStack, showMeasures: showMeasuresStack, currentModel: currentModelStack, showModelsMap: showModelsMapStack, modelsChangeStore: modelsChangeStoreStack, showTaggingPositions: showTaggingPositionsStack, showBottomBar: showBottomBarStack, bottomBarHeight: bottomBarHeightStack, showHeadBar: showHeadBarStack }) export const params = strToParams(location.search) as unknown as Params params.caseId = Number(params.caseId) export type Params = { caseId: number, baseURL?: string, token?: string } export const baseURL = params.baseURL ? params.baseURL : import.meta.env.DEV ? '/api' : '' export const getResource = (uri: string) => { if (~uri.indexOf('base64') || ~uri.indexOf('bolb') || ~uri.indexOf('//')) return uri return `${baseURL}/${uri}` }