feat: integrate PWA functionality with platform service architecture

- Add PWA methods to PlatformService interface (registerServiceWorker, isPWAEnabled)
- Implement PWA logic in WebPlatformService with service worker registration
- Add no-op PWA implementations for Capacitor and Electron platforms
- Create PWAInstallPrompt component with custom install UI and event handling
- Integrate PWA components into App.vue with platform-aware conditional rendering
- Ensure PWA features only load on web platform via platform service pattern
- Centralize PWA logic in platform service for consistent cross-platform behavior
- Add comprehensive PWA documentation and installation flow support

Platform service now handles all PWA operations including service worker
registration, install prompts, and platform-specific feature detection.
This commit is contained in:
Matthew Raymer
2025-07-11 04:56:14 +00:00
parent 26f303bae9
commit fe739f013e
8 changed files with 49 additions and 3 deletions

View File

@@ -154,4 +154,15 @@ export interface PlatformService {
* @returns Promise resolving to the first row as an array, or undefined if no results
*/
dbGetOneRow(sql: string, params?: unknown[]): Promise<unknown[] | undefined>;
// --- PWA/Web-only methods (optional, only implemented on web) ---
/**
* Registers the service worker for PWA support (web only)
*/
registerServiceWorker?(): void;
/**
* Returns true if PWA is enabled (web only)
*/
readonly isPWAEnabled?: boolean;
}