Enable full PWA install experience in all web modes

- Add PWAInstallPrompt component for custom install UI and event handling
- Register PWAInstallPrompt in App.vue for global visibility
- Enable PWA features and install prompt in dev, test, and prod (vite.config.web.mts)
- Update service worker registration to work in all environments
- Update docs/build-web-script-integration.md with PWA install guidance and visual cues
- Add scripts/build-web.sh for unified web build/dev workflow

PWA is now installable and testable in all web environments, with clear user prompts and desktop support.
This commit is contained in:
Matthew Raymer
2025-07-11 04:41:38 +00:00
parent 8b95cc8d2b
commit 26f303bae9
12 changed files with 4443 additions and 22 deletions

View File

@@ -1,6 +1,9 @@
<template>
<router-view />
<!-- PWA Install Prompt -->
<PWAInstallPrompt />
<!-- Messages in the upper-right - https://github.com/emmanuelsw/notiwind -->
<NotificationGroup group="alert">
<div
@@ -334,6 +337,7 @@ import { Vue, Component } from "vue-facing-decorator";
import { NotificationIface } from "./constants/app";
import { PlatformServiceMixin } from "@/utils/PlatformServiceMixin";
import { logger } from "./utils/logger";
import PWAInstallPrompt from "@/components/PWAInstallPrompt.vue";
interface Settings {
notifyingNewActivityTime?: string;
@@ -341,6 +345,9 @@ interface Settings {
}
@Component({
components: {
PWAInstallPrompt
},
mixins: [PlatformServiceMixin],
})
export default class App extends Vue {