Skip to main content
A Zite app installs to the home screen as a PWA. Your code adds the install UI and standalone-mode detection; the owner enables PWA under Settings → Branding (upload an icon, set an install title, publish) — until then the platform won’t serve the manifest and the install prompt has no effect.

Detect standalone (installed) mode

A dismissible install prompt

Show it only when not already installed. Use beforeinstallprompt where available (Android / desktop Chrome), fall back to manual instructions on iOS Safari.
Mount <InstallAppPopover /> near the app root, dismissible and out of the critical path.

Gotchas

  • Hide install prompts when useIsPwaMode() is true — the app is already installed.
  • Leave the manifest to the platform — it serves /manifest.webmanifest, the Apple touch icon, and meta tags. Don’t add your own <link rel="manifest"> or JSON; it conflicts.