From 4b7cf171c8461163eb0ae0d70be8862c4d6d8f48 Mon Sep 17 00:00:00 2001 From: florianfederspiel Date: Wed, 4 Feb 2026 16:02:47 +0100 Subject: [PATCH] PWA --- backend/src/plugins/cors.ts | 1 + frontend/nuxt.config.ts | 65 +++++++++++++++++++++++++++++++++++- frontend/public/180.png | Bin 0 -> 7673 bytes frontend/public/192.png | Bin 0 -> 7746 bytes frontend/public/512.png | Bin 0 -> 17502 bytes 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 frontend/public/180.png create mode 100644 frontend/public/192.png create mode 100644 frontend/public/512.png diff --git a/backend/src/plugins/cors.ts b/backend/src/plugins/cors.ts index 3428d5d..0dc492d 100644 --- a/backend/src/plugins/cors.ts +++ b/backend/src/plugins/cors.ts @@ -9,6 +9,7 @@ export default fp(async (server: FastifyInstance) => { "http://localhost:3001", // dein Nuxt-Frontend "http://127.0.0.1:3000", // dein Nuxt-Frontend "http://192.168.1.227:3001", // dein Nuxt-Frontend + "http://192.168.1.234:3000", // dein Nuxt-Frontend "http://192.168.1.113:3000", // dein Nuxt-Frontend "https://beta.fedeo.de", // dein Nuxt-Frontend "https://app.fedeo.de", // dein Nuxt-Frontend diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index b304226..20c8874 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -7,7 +7,7 @@ export default defineNuxtConfig({ } }, - modules: ['@pinia/nuxt', '@nuxt/ui', '@nuxtjs/supabase', "nuxt-editorjs", '@nuxtjs/fontaine', 'nuxt-viewport', '@nuxtjs/leaflet', '@vueuse/nuxt'], + modules: ['@vite-pwa/nuxt','@pinia/nuxt', '@nuxt/ui', '@nuxtjs/supabase', "nuxt-editorjs", '@nuxtjs/fontaine', 'nuxt-viewport', '@nuxtjs/leaflet', '@vueuse/nuxt'], ssr: false, @@ -96,5 +96,68 @@ export default defineNuxtConfig({ } }, + pwa: { + /* Automatische Updates des Service Workers (optional, aber empfohlen) */ + registerType: 'autoUpdate', + + manifest: { + name: 'FEDEO', + short_name: 'FEDEO', + description: 'FEDEO', + theme_color: '#69c350', + background_color: '#ffffff', + + /* WICHTIG: Dies sorgt dafür, dass die URL-Leiste verschwindet */ + display: 'standalone', + + /* Icons sind essentiell für den Home Screen */ + icons: [ + { + src: '192.png', + sizes: '192x192', + type: 'image/png' + }, + { + src: '512.png', + sizes: '512x512', + type: 'image/png' + }, + { + src: '512.png', + sizes: '512x512', + type: 'image/png', + purpose: 'any maskable' + } + ] + }, + + /* WICHTIG FÜR SAFARI / iOS */ + workbox: { + navigateFallback: '/', + }, + + devOptions: { + enabled: true, // Damit du es auch lokal testen kannst + type: 'module', + }, + }, + + app: { + head: { + meta: [ + // Sagt iOS, dass es eine WebApp ist + { name: 'apple-mobile-web-app-capable', content: 'yes' }, + // Steuert die Farbe der Statusleiste (weiß, schwarz oder transparent) + { name: 'apple-mobile-web-app-status-bar-style', content: 'black-translucent' }, + // Name der App unter dem Icon + { name: 'apple-mobile-web-app-title', content: 'FEDEO' }, + ], + link: [ + // Wichtig: Das Icon für den Home Screen + { rel: 'apple-touch-icon', href: '/512.png' } + ] + } + }, + compatibilityDate: '2024-12-18' }) \ No newline at end of file diff --git a/frontend/public/180.png b/frontend/public/180.png new file mode 100644 index 0000000000000000000000000000000000000000..7fdbef0d3f16b21c3f93ee66b3ca2308976dcd20 GIT binary patch literal 7673 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 R5!i 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�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 P4-hFadC^K?gMj}7u7g>r literal 0 HcmV?d00001