merge: demo build updates
# Conflicts: # neode-ui/src/stores/appLauncher.ts # neode-ui/src/views/AppSession.vue
This commit is contained in:
@@ -5,6 +5,7 @@ import router from '@/router'
|
||||
import { recordAppLaunch } from '@/utils/appUsage'
|
||||
import { requestExternalOpen } from '@/api/remote-relay'
|
||||
import { openInAppOrNewTab } from '@/utils/openExternal'
|
||||
import { IS_DEMO, isDemoExternal, demoAppUrl } from '@/composables/useDemoIntro'
|
||||
|
||||
/**
|
||||
* Open a URL in a new browser tab — but if a companion (phone) is currently
|
||||
@@ -224,6 +225,17 @@ export const useAppLauncherStore = defineStore('appLauncher', () => {
|
||||
recordAppLaunch(appId)
|
||||
const mobile = isMobileViewport()
|
||||
|
||||
// Demo: apps backed by a real external site that blocks iframing
|
||||
// (mempool.space) open externally; everything else demoable renders in the
|
||||
// in-app session.
|
||||
if (IS_DEMO && isDemoExternal(appId)) {
|
||||
const ext = demoAppUrl(appId)
|
||||
if (ext) {
|
||||
if (mobile) openInAppOrNewTab(ext)
|
||||
else openExternal(ext)
|
||||
return
|
||||
}
|
||||
}
|
||||
// Tab-only apps (set X-Frame-Options, can't be iframed). No interstitial:
|
||||
// desktop opens a new browser tab; mobile opens the in-app WebView (Android
|
||||
// companion) or a new browser tab (PWA) — see openInAppOrNewTab.
|
||||
|
||||
Reference in New Issue
Block a user