fix(web): companion-gate the store banner + manual intro trigger (#61 residual)

Only the auto-popup was companion-gated — inside the companion WebView
users still saw the 'install the companion' banner in the App Store and
could pop the intro overlay through it. Gates all three paths on
isCompanionApp(): CompanionBanner self-hides, openCompanionIntro() is a
no-op, and the manual-open watcher in CompanionIntroOverlay refuses to
open (the overlay's raw window check also moves to the canonical helper
so there is exactly one detection). No APK change.
This commit is contained in:
Dorian
2026-08-31 12:56:32 +01:00
parent 966db4810a
commit d259f3cbb9
4 changed files with 65 additions and 3 deletions
@@ -1,8 +1,11 @@
<template>
<!-- Companion app banner — same format as the featured app banner, with a
phone mockup rising out of the right edge. Clicking anywhere (or the
Install button) opens the Remote Companion download/pairing modal. -->
Install button) opens the Remote Companion download/pairing modal.
Not rendered at all inside the companion app's WebView: pitching
"install the companion" to someone already in it is noise (#61). -->
<div
v-if="showPitch"
class="featured-banner companion-banner glass-card mb-8 relative overflow-hidden cursor-pointer"
@click="openCompanionIntro()"
>
@@ -41,7 +44,11 @@
</template>
<script setup lang="ts">
import { computed } from 'vue'
import { isCompanionApp } from '@/utils/openExternal'
import { openCompanionIntro } from '@/composables/useCompanionIntro'
const showPitch = computed(() => !isCompanionApp())
</script>
<style scoped>