diff --git a/frontend/angular.json b/frontend/angular.json index c645125..7ba1339 100644 --- a/frontend/angular.json +++ b/frontend/angular.json @@ -23,7 +23,8 @@ "tsConfig": "tsconfig.app.json", "assets": [ "src/favicon.ico", - "src/assets" + "src/assets", + "src/manifest.webmanifest" ], "styles": [ "src/styles.scss", @@ -94,7 +95,8 @@ "tsConfig": "tsconfig.spec.json", "assets": [ "src/favicon.ico", - "src/assets" + "src/assets", + "src/manifest.webmanifest" ], "styles": [ "src/styles.scss" diff --git a/frontend/ngsw-config.json b/frontend/ngsw-config.json new file mode 100644 index 0000000..521a795 --- /dev/null +++ b/frontend/ngsw-config.json @@ -0,0 +1,45 @@ +{ + "$schema": "./node_modules/@angular/service-worker/config/schema.json", + "index": "/index.html", + "dataGroups": [ + { + "name": "frontend-performance", + "urls": [ + "**" + ], + "cacheConfig": { + "strategy": "performance", + "maxSize": 200, + "maxAge": "3d", + "timeout": "10s" + } + } + ], + "assetGroups": [ + { + "name": "app", + "installMode": "prefetch", + "updateMode": "prefetch", + "resources": { + "files": [ + "/favicon.ico", + "/index.csr.html", + "/index.html", + "/manifest.webmanifest", + "/*.css", + "/*.js" + ] + } + }, + { + "name": "assets", + "installMode": "lazy", + "updateMode": "prefetch", + "resources": { + "files": [ + "/**/*.(svg|cur|jpg|jpeg|png|apng|webp|avif|gif|otf|ttf|woff|woff2)" + ] + } + } + ] + } \ No newline at end of file diff --git a/frontend/src/assets/pwa_desktop.png b/frontend/src/assets/pwa_desktop.png new file mode 100644 index 0000000..45c8683 Binary files /dev/null and b/frontend/src/assets/pwa_desktop.png differ diff --git a/frontend/src/assets/pwa_phone.png b/frontend/src/assets/pwa_phone.png new file mode 100644 index 0000000..fb9ca13 Binary files /dev/null and b/frontend/src/assets/pwa_phone.png differ diff --git a/frontend/src/index.html b/frontend/src/index.html index 3f72e82..1fa682c 100644 --- a/frontend/src/index.html +++ b/frontend/src/index.html @@ -6,6 +6,8 @@ + + diff --git a/frontend/src/manifest.webmanifest b/frontend/src/manifest.webmanifest new file mode 100644 index 0000000..7732bc0 --- /dev/null +++ b/frontend/src/manifest.webmanifest @@ -0,0 +1,35 @@ +{ + "name": "Rescue Zero-TOTP", + "short_name": "Rescue Zero-TOTP - Your emergency Zero-TOTP", + "theme_color": "#FFFFFF", + "background_color": "#16262E", + "display": "standalone", + "scope": "./", + "start_url": "./openVault", + "icons": [ + { + "src": "assets/totp_square_red.png", + "sizes": "800x800", + "type": "image/png" + }, + { + "src": "favicon.ico", + "sizes": "256x256", + "type": "image/png" + } + ], + "screenshots": [ + { + "src": "assets/pwa_desktop.png", + "sizes": "1309x750", + "type": "image/png", + "form_factor": "wide" + }, + { + "src": "assets/pwa_phone.png", + "sizes": "413x824", + "type": "image/png", + "form_factor": "narrow" + } + ] +} \ No newline at end of file