From 5cca87208d4f4cfe8e678813072a06b97c2b8fed Mon Sep 17 00:00:00 2001 From: Will Freeman Date: Mon, 16 Feb 2026 20:09:02 -0700 Subject: [PATCH] Allow Profile Imports to App, Map Sharing, iframe improvements (#102) * update identiyf page * support non-ALPRs on Idenfity page * show pending devices, even w/o tags * update lprBaseTags * detect iframe instead of passing query string * implement share dialog * clean up identify * finishing touches for identify page --- webapp/src/App.vue | 4 +- webapp/src/assets/main.css | 1 + webapp/src/components/DFCode.vue | 51 ++- webapp/src/components/LeafletMap.vue | 24 +- webapp/src/components/OSMTagSelector.vue | 45 +-- webapp/src/components/ShareDialog.vue | 121 ++++++ webapp/src/constants.ts | 7 +- webapp/src/services/cmsService.ts | 11 +- webapp/src/services/deflockAppUrls.ts | 24 +- webapp/src/stores/vendorStore.ts | 10 +- webapp/src/types.ts | 11 + webapp/src/views/Identify.vue | 486 ++++++++++++++--------- webapp/src/views/Map.vue | 21 +- webapp/src/views/Press.vue | 7 - 14 files changed, 550 insertions(+), 273 deletions(-) create mode 100644 webapp/src/components/ShareDialog.vue diff --git a/webapp/src/App.vue b/webapp/src/App.vue index f392d6a..e7c24c6 100644 --- a/webapp/src/App.vue +++ b/webapp/src/App.vue @@ -8,7 +8,7 @@ import { useDiscordIntercept } from '@/composables/useDiscordIntercept'; const theme = useTheme(); const router = useRouter(); const isDark = computed(() => theme.name.value === 'dark'); -const isFullscreen = computed(() => router.currentRoute.value?.query.fullscreen === 'true'); +const isInIframe = computed(() => window.self !== window.top); const { showDialog, discordUrl, interceptDiscordLinks } = useDiscordIntercept(); function toggleTheme() { @@ -70,7 +70,7 @@ watch(() => theme.global.name.value, (newTheme) => {