diff --git a/Frontend/angular.json b/Frontend/angular.json index ffd4c8b..9655ab0 100644 --- a/Frontend/angular.json +++ b/Frontend/angular.json @@ -25,14 +25,19 @@ "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", - "src/assets" + "src/assets", + "src/manifest.webmanifest" ], "styles": [ "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css", "src/styles.scss" ], "scripts": [], - "allowedCommonJsDependencies": [ "moment" ] + "allowedCommonJsDependencies": [ + "moment" + ], + "serviceWorker": true, + "ngswConfigPath": "ngsw-config.json" }, "configurations": { "production": { @@ -95,7 +100,8 @@ "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", - "src/assets" + "src/assets", + "src/manifest.webmanifest" ], "styles": [ "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css", diff --git a/Frontend/ngsw-config.json b/Frontend/ngsw-config.json new file mode 100644 index 0000000..f8bf210 --- /dev/null +++ b/Frontend/ngsw-config.json @@ -0,0 +1,30 @@ +{ + "$schema": "./node_modules/@angular/service-worker/config/schema.json", + "index": "/index.html", + "assetGroups": [ + { + "name": "app", + "installMode": "prefetch", + "resources": { + "files": [ + "/favicon.ico", + "/index.html", + "/manifest.webmanifest", + "/*.css", + "/*.js" + ] + } + }, + { + "name": "assets", + "installMode": "lazy", + "updateMode": "prefetch", + "resources": { + "files": [ + "/assets/**", + "/*.(svg|cur|jpg|jpeg|png|apng|webp|avif|gif|otf|ttf|woff|woff2)" + ] + } + } + ] +} diff --git a/Frontend/package-lock.json b/Frontend/package-lock.json index d67b48a..98f96af 100644 --- a/Frontend/package-lock.json +++ b/Frontend/package-lock.json @@ -1,12 +1,12 @@ { "name": "diuna", - "version": "0.0.0", + "version": "0.0.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "diuna", - "version": "0.0.0", + "version": "0.0.1", "dependencies": { "@abacritt/angularx-social-login": "^1.2.5", "@angular/animations": "^15.0.2", @@ -20,6 +20,7 @@ "@angular/platform-browser-dynamic": "^15.0.2", "@angular/pwa": "^15.0.2", "@angular/router": "^15.0.2", + "@angular/service-worker": "^15.0.2", "jwt-decode": "^3.1.2", "moment": "^2.29.4", "rxjs": "^7.6.0", @@ -732,6 +733,24 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@angular/service-worker": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-15.0.2.tgz", + "integrity": "sha512-r+9qS3ZoLkNutukzJLchZtr/NG16DGTcLu/Q2K84gTi/ybf88OCphL3uKwefF8BFguXoMNL+LLHEulrE1UzWaA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "bin": { + "ngsw-config": "ngsw-config.js" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "15.0.2", + "@angular/core": "15.0.2" + } + }, "node_modules/@assemblyscript/loader": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", @@ -12338,6 +12357,14 @@ "tslib": "^2.3.0" } }, + "@angular/service-worker": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@angular/service-worker/-/service-worker-15.0.2.tgz", + "integrity": "sha512-r+9qS3ZoLkNutukzJLchZtr/NG16DGTcLu/Q2K84gTi/ybf88OCphL3uKwefF8BFguXoMNL+LLHEulrE1UzWaA==", + "requires": { + "tslib": "^2.3.0" + } + }, "@assemblyscript/loader": { "version": "0.10.1", "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", diff --git a/Frontend/package.json b/Frontend/package.json index 09f2ffe..cb2694c 100644 --- a/Frontend/package.json +++ b/Frontend/package.json @@ -22,6 +22,7 @@ "@angular/platform-browser-dynamic": "^15.0.2", "@angular/pwa": "^15.0.2", "@angular/router": "^15.0.2", + "@angular/service-worker": "^15.0.2", "jwt-decode": "^3.1.2", "moment": "^2.29.4", "rxjs": "^7.6.0", diff --git a/Frontend/src/app/app.module.ts b/Frontend/src/app/app.module.ts index 83d810d..53c7a3f 100644 --- a/Frontend/src/app/app.module.ts +++ b/Frontend/src/app/app.module.ts @@ -1,4 +1,4 @@ -import { NgModule } from '@angular/core'; +import { NgModule, isDevMode } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; @@ -8,6 +8,7 @@ import { MainViewComponent } from './main-view/main-view.component'; import { MaterialModule } from './material.module'; import { LoginPageComponent } from './components/login-page/login-page.component'; import { HttpClientModule } from '@angular/common/http'; +import { ServiceWorkerModule } from '@angular/service-worker'; @NgModule({ @@ -21,7 +22,13 @@ import { HttpClientModule } from '@angular/common/http'; AppRoutingModule, BrowserAnimationsModule, MaterialModule, - HttpClientModule + HttpClientModule, + ServiceWorkerModule.register('ngsw-worker.js', { + enabled: !isDevMode(), + // Register the ServiceWorker as soon as the application is stable + // or after 30 seconds (whichever comes first). + registrationStrategy: 'registerWhenStable:30000' + }) ], providers: [], bootstrap: [AppComponent] diff --git a/Frontend/src/assets/icons/icon-128x128.png b/Frontend/src/assets/icons/icon-128x128.png new file mode 100644 index 0000000..943cdd1 Binary files /dev/null and b/Frontend/src/assets/icons/icon-128x128.png differ diff --git a/Frontend/src/assets/icons/icon-144x144.png b/Frontend/src/assets/icons/icon-144x144.png new file mode 100644 index 0000000..3ca10c5 Binary files /dev/null and b/Frontend/src/assets/icons/icon-144x144.png differ diff --git a/Frontend/src/assets/icons/icon-152x152.png b/Frontend/src/assets/icons/icon-152x152.png new file mode 100644 index 0000000..b71fd81 Binary files /dev/null and b/Frontend/src/assets/icons/icon-152x152.png differ diff --git a/Frontend/src/assets/icons/icon-192x192.png b/Frontend/src/assets/icons/icon-192x192.png new file mode 100644 index 0000000..978699c Binary files /dev/null and b/Frontend/src/assets/icons/icon-192x192.png differ diff --git a/Frontend/src/assets/icons/icon-384x384.png b/Frontend/src/assets/icons/icon-384x384.png new file mode 100644 index 0000000..b0abc2c Binary files /dev/null and b/Frontend/src/assets/icons/icon-384x384.png differ diff --git a/Frontend/src/assets/icons/icon-48x48.png b/Frontend/src/assets/icons/icon-48x48.png new file mode 100644 index 0000000..d26a989 Binary files /dev/null and b/Frontend/src/assets/icons/icon-48x48.png differ diff --git a/Frontend/src/assets/icons/icon-512x512.png b/Frontend/src/assets/icons/icon-512x512.png new file mode 100644 index 0000000..387c8ca Binary files /dev/null and b/Frontend/src/assets/icons/icon-512x512.png differ diff --git a/Frontend/src/assets/icons/icon-72x72.png b/Frontend/src/assets/icons/icon-72x72.png new file mode 100644 index 0000000..3b4113a Binary files /dev/null and b/Frontend/src/assets/icons/icon-72x72.png differ diff --git a/Frontend/src/assets/icons/icon-96x96.png b/Frontend/src/assets/icons/icon-96x96.png new file mode 100644 index 0000000..b5ff242 Binary files /dev/null and b/Frontend/src/assets/icons/icon-96x96.png differ diff --git a/Frontend/src/index.html b/Frontend/src/index.html index 4e1df2f..5ad4fcc 100644 --- a/Frontend/src/index.html +++ b/Frontend/src/index.html @@ -7,11 +7,14 @@ - + - + + +