From ab652bfce84e5a02bde3202d60dd6061b759c236 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 15 Apr 2024 04:08:16 -0300 Subject: [PATCH] standalone components --- .vscode/settings.json | 2 +- angular.json | 40 +- ionic.config.json | 2 +- package-lock.json | 917 ++++++++---------- package.json | 11 +- src/app/app-routing.module.ts | 33 - src/app/app.component.html | 7 +- src/app/app.component.spec.ts | 17 +- src/app/app.component.ts | 46 +- src/app/app.module.ts | 37 - src/app/app.routes.ts | 24 + .../components/header/header.component.html | 10 + .../components/header/header.component.scss | 0 .../header/header.component.spec.ts | 24 + src/app/components/header/header.component.ts | 16 + src/app/home/home-routing.module.ts | 16 - src/app/home/home.module.ts | 19 - src/app/home/home.page.scss | 3 - src/app/home/home.page.ts | 94 -- src/app/login/login-routing.module.ts | 17 - src/app/login/login.module.ts | 20 - src/app/{ => pages}/home/home.page.html | 7 +- src/app/pages/home/home.page.scss | 0 src/app/{ => pages}/home/home.page.spec.ts | 6 - src/app/pages/home/home.page.ts | 163 ++++ src/app/{ => pages}/login/login.page.html | 8 +- src/app/{ => pages}/login/login.page.scss | 8 +- src/app/{ => pages}/login/login.page.spec.ts | 0 src/app/{ => pages}/login/login.page.ts | 40 +- src/app/{ => pages}/perfil/perfil.page.html | 11 +- src/app/{ => pages}/perfil/perfil.page.scss | 0 .../{ => pages}/perfil/perfil.page.spec.ts | 0 src/app/pages/perfil/perfil.page.ts | 61 ++ src/app/perfil/perfil-routing.module.ts | 17 - src/app/perfil/perfil.module.ts | 20 - src/app/perfil/perfil.page.ts | 12 - src/app/services/auth-guard.service.ts | 17 +- src/app/services/auth.service.ts | 41 +- src/app/services/news.service.ts | 2 +- src/app/services/utils.service.spec.ts | 16 - src/app/services/utils.service.ts | 23 - src/app/utils/{firebase => }/errorFirebase.ts | 0 .../utils/{firebase => }/errorObjMessage.ts | 0 src/env.d.ts | 15 - src/index.html | 2 +- src/main.ts | 29 +- src/polyfills.ts | 2 +- src/theme/variables.scss | 47 +- tsconfig.json | 5 +- 49 files changed, 896 insertions(+), 1011 deletions(-) delete mode 100644 src/app/app-routing.module.ts delete mode 100644 src/app/app.module.ts create mode 100644 src/app/app.routes.ts create mode 100644 src/app/components/header/header.component.html create mode 100644 src/app/components/header/header.component.scss create mode 100644 src/app/components/header/header.component.spec.ts create mode 100644 src/app/components/header/header.component.ts delete mode 100644 src/app/home/home-routing.module.ts delete mode 100644 src/app/home/home.module.ts delete mode 100644 src/app/home/home.page.scss delete mode 100644 src/app/home/home.page.ts delete mode 100644 src/app/login/login-routing.module.ts delete mode 100644 src/app/login/login.module.ts rename src/app/{ => pages}/home/home.page.html (93%) create mode 100644 src/app/pages/home/home.page.scss rename src/app/{ => pages}/home/home.page.spec.ts (69%) create mode 100644 src/app/pages/home/home.page.ts rename src/app/{ => pages}/login/login.page.html (72%) rename src/app/{ => pages}/login/login.page.scss (90%) rename src/app/{ => pages}/login/login.page.spec.ts (100%) rename src/app/{ => pages}/login/login.page.ts (65%) rename src/app/{ => pages}/perfil/perfil.page.html (94%) rename src/app/{ => pages}/perfil/perfil.page.scss (100%) rename src/app/{ => pages}/perfil/perfil.page.spec.ts (100%) create mode 100644 src/app/pages/perfil/perfil.page.ts delete mode 100644 src/app/perfil/perfil-routing.module.ts delete mode 100644 src/app/perfil/perfil.module.ts delete mode 100644 src/app/perfil/perfil.page.ts delete mode 100644 src/app/services/utils.service.spec.ts delete mode 100644 src/app/services/utils.service.ts rename src/app/utils/{firebase => }/errorFirebase.ts (100%) rename src/app/utils/{firebase => }/errorObjMessage.ts (100%) diff --git a/.vscode/settings.json b/.vscode/settings.json index 0abbfd2..79fb2d2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,3 @@ { - "typescript.preferences.autoImportFileExcludePatterns": ["@ionic/angular/common", "@ionic/angular/standalone"] + "typescript.preferences.autoImportFileExcludePatterns": ["@ionic/angular/common", "@ionic/angular"] } diff --git a/angular.json b/angular.json index 352344a..c2aa1fa 100644 --- a/angular.json +++ b/angular.json @@ -5,7 +5,12 @@ "projects": { "app": { "projectType": "application", - "schematics": {}, + "schematics": { + "@ionic/angular-toolkit:page": { + "styleext": "scss", + "standalone": true + } + }, "root": "", "sourceRoot": "src", "prefix": "app", @@ -24,17 +29,9 @@ "glob": "**/*", "input": "src/assets", "output": "assets" - }, - { - "glob": "**/*.svg", - "input": "node_modules/ionicons/dist/ionicons/svg", - "output": "./svg" } ], - "styles": [ - "src/global.scss", - "src/theme/variables.scss" - ], + "styles": ["src/global.scss", "src/theme/variables.scss"], "scripts": [] }, "configurations": { @@ -107,17 +104,9 @@ "glob": "**/*", "input": "src/assets", "output": "assets" - }, - { - "glob": "**/*.svg", - "input": "node_modules/ionicons/dist/ionicons/svg", - "output": "./svg" } ], - "styles": [ - "src/global.scss", - "src/theme/variables.scss" - ], + "styles": ["src/global.scss", "src/theme/variables.scss"], "scripts": [] }, "configurations": { @@ -130,10 +119,7 @@ "lint": { "builder": "@angular-eslint/builder:lint", "options": { - "lintFilePatterns": [ - "src/**/*.ts", - "src/**/*.html" - ] + "lintFilePatterns": ["src/**/*.ts", "src/**/*.html"] } } } @@ -151,6 +137,12 @@ }, "@ionic/angular-toolkit:page": { "styleext": "scss" + }, + "@angular-eslint/schematics:application": { + "setParserOptionsProject": true + }, + "@angular-eslint/schematics:library": { + "setParserOptionsProject": true } } -} \ No newline at end of file +} diff --git a/ionic.config.json b/ionic.config.json index c73e4d8..925a514 100644 --- a/ionic.config.json +++ b/ionic.config.json @@ -3,5 +3,5 @@ "integrations": { "capacitor": {} }, - "type": "angular" + "type": "angular-standalone" } diff --git a/package-lock.json b/package-lock.json index 7021e3e..7673b7a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,18 +17,20 @@ "@angular/platform-browser": "^17.0.2", "@angular/platform-browser-dynamic": "^17.0.2", "@angular/router": "^17.0.2", - "@capacitor/android": "5.7.4", + "@capacitor/android": "^5.7.4", "@capacitor/app": "5.0.7", "@capacitor/browser": "^5.2.0", "@capacitor/clipboard": "^5.0.7", + "@capacitor/core": "5.7.4", "@capacitor/haptics": "5.0.7", "@capacitor/keyboard": "5.0.8", "@capacitor/preferences": "^5.0.7", "@capacitor/share": "^5.0.7", "@capacitor/status-bar": "5.0.7", - "@ionic/angular": "^7.0.0", - "firebase": "^10.10.0", - "ionicons": "^7.0.0", + "@ionic/angular": "^7.5.0", + "@ngx-env/builder": "^17.3.0", + "firebase": "^10.11.0", + "ionicons": "^7.3.1", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.14.2" @@ -45,7 +47,6 @@ "@angular/language-service": "^17.0.2", "@capacitor/cli": "5.7.4", "@ionic/angular-toolkit": "^11.0.1", - "@ngx-env/builder": "^17.3.0", "@types/jasmine": "~5.1.0", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", @@ -86,12 +87,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1703.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.3.tgz", - "integrity": "sha512-BKbdigCjmspqxOxSIQuWgPZzpyuKqZoTBDh0jDeLcAmvPsuxCgIWbsExI4OQ0CyusnQ+XT0IT39q8B9rvF56cg==", + "version": "0.1703.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1703.4.tgz", + "integrity": "sha512-o+XCMOiMh8tmQGEwcxjAj2/lmUVT7CGSUAM31ydDomVOFFw4CnBvsoyKqQNRC+/AUXvovb2dCegQl/lTAnrwOg==", "dev": true, "dependencies": { - "@angular-devkit/core": "17.3.3", + "@angular-devkit/core": "17.3.4", "rxjs": "7.8.1" }, "engines": { @@ -101,15 +102,15 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.3.tgz", - "integrity": "sha512-E/6Z1MIMhEB1I2sN+Pw4/zinwAFj4vLDh6dEuj856WWEPndgPiUB6fGX4EbCTsyIUzboXI5ysdNyt2Eq56bllA==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.3.4.tgz", + "integrity": "sha512-8KieoPrsJcFPoza0gLQ6yebtIb3WdH3j/V1TnAihk4tVpgtdch8tOBE3FP1TnSW3RF+iCsA0I5NO9/4YbEsWtw==", "dev": true, "dependencies": { "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1703.3", - "@angular-devkit/build-webpack": "0.1703.3", - "@angular-devkit/core": "17.3.3", + "@angular-devkit/architect": "0.1703.4", + "@angular-devkit/build-webpack": "0.1703.4", + "@angular-devkit/core": "17.3.4", "@babel/core": "7.24.0", "@babel/generator": "7.23.6", "@babel/helper-annotate-as-pure": "7.22.5", @@ -120,7 +121,7 @@ "@babel/preset-env": "7.24.0", "@babel/runtime": "7.24.0", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "17.3.3", + "@ngtools/webpack": "17.3.4", "@vitejs/plugin-basic-ssl": "1.1.0", "ansi-colors": "4.1.3", "autoprefixer": "10.4.18", @@ -161,8 +162,8 @@ "terser": "5.29.1", "tree-kill": "1.2.2", "tslib": "2.6.2", - "undici": "6.7.1", - "vite": "5.1.5", + "undici": "6.11.1", + "vite": "5.1.7", "watchpack": "2.4.0", "webpack": "5.90.3", "webpack-dev-middleware": "6.1.2", @@ -230,12 +231,12 @@ } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1703.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.3.tgz", - "integrity": "sha512-d0JjE8MaGVNphlJfeP1OZKhNT4wCXkEZKdSdwE0+W+vDHNUuZiUBB1czO48sb7T4xBrdjRWlV/9CzMNJ7n3ydA==", + "version": "0.1703.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1703.4.tgz", + "integrity": "sha512-9Vsl6rfIH8kF02W7i3tW/aMOT2Ld1zpcok7n7JdL3Pb7oW0SOjt73FN6Ykm/hVig12gsOGJtEsDfQRsnCddmfQ==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1703.3", + "@angular-devkit/architect": "0.1703.4", "rxjs": "7.8.1" }, "engines": { @@ -249,9 +250,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.3.tgz", - "integrity": "sha512-J22Sh3M7rj8Ar3iEs20ko5wgC3DE7vWfYZNdimt2IJiS4J7BEX8R3Awf+TRt+6AN3NFm3/xe1Sz4yvDh3FvNFg==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.3.4.tgz", + "integrity": "sha512-vE69/Db555NTRPh+LUFO3rAQBbv7QGrK59F7chRggDZKamtCq/FfhEg2O+0BXQnUitOQN6WgQ79+payFYWyCCg==", "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -275,11 +276,11 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.3.tgz", - "integrity": "sha512-SABqTtj2im4PJhQjNaAsSypbNkpZFW8YozJ3P748tlh5a9XoHpgiqXv5JhRbyKElLDAyk5i9fe2++JmSudPG/Q==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.3.4.tgz", + "integrity": "sha512-Z6801QhIwrMTcKPzdo9si+ZtJkPz8fys0ftOTfTM66+tDECasU7pvk8Dr54WkDY29mdSHzPxpSxAsooEwfxvQQ==", "dependencies": { - "@angular-devkit/core": "17.3.3", + "@angular-devkit/core": "17.3.4", "jsonc-parser": "3.2.1", "magic-string": "0.30.8", "ora": "5.4.1", @@ -390,9 +391,9 @@ } }, "node_modules/@angular/animations": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.3.tgz", - "integrity": "sha512-poLW3FHe5wkxmTIsQ3em2vq4obgQHyZJz6biF+4hCqQSNMbMBS0e5ZycAiJLkUD/WLc88lQZ20muRO7qjVuMLA==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.3.4.tgz", + "integrity": "sha512-2nBgXRdTSVPZMueV6ZJjajDRucwJBLxwiVhGafk/nI5MJF0Yss/Jfp2Kfzk5Xw2AqGhz0rd00IyNNUQIzO2mlw==", "dependencies": { "tslib": "^2.3.0" }, @@ -400,19 +401,19 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.3" + "@angular/core": "17.3.4" } }, "node_modules/@angular/cli": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.3.tgz", - "integrity": "sha512-veIGK2sRm0SfiLHeftx0W0xC3N8uxoqxXiSG57V6W2wIFN/fKm3aRq3sa8phz7vxUzoKGqyZh6hsT7ybkjgkGA==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.3.4.tgz", + "integrity": "sha512-o4oIA2stUwXOur/T/kP3Zr8ZUCB4VYmvjACbsQ3tpzVCFYPeaW9psQagBNJfaBVVDSYL+EacVYBYJR9ZImvcGw==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1703.3", - "@angular-devkit/core": "17.3.3", - "@angular-devkit/schematics": "17.3.3", - "@schematics/angular": "17.3.3", + "@angular-devkit/architect": "0.1703.4", + "@angular-devkit/core": "17.3.4", + "@angular-devkit/schematics": "17.3.4", + "@schematics/angular": "17.3.4", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.1.2", @@ -438,9 +439,9 @@ } }, "node_modules/@angular/common": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.3.tgz", - "integrity": "sha512-GwlKetNpfWKiG2j4S6bYTi6PA2iT4+eln7o8owo44xZWdQnWQjfxnH39vQuCyhi6OOQL1dozmae+fVXgQsV6jQ==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.3.4.tgz", + "integrity": "sha512-rEsmtwUMJaNvaimh9hwaHdDLXaOIrjEnYdhmJUvDaKPQaFfSbH3CGGVz9brUyzVJyiWJYkYM0ssxavczeiEe8g==", "dependencies": { "tslib": "^2.3.0" }, @@ -448,14 +449,14 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.3", + "@angular/core": "17.3.4", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.3.tgz", - "integrity": "sha512-ZNMRfagMxMjk1KW5H3ssCg5QL0J6ZW1JAZ1mrTXixqS7gbdwl60bTGE+EfuEwbjvovEYaj4l9cga47eMaxZTbQ==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.3.4.tgz", + "integrity": "sha512-YrDClIzgj6nQwiYHrfV6AkT1C5LCDgJh+LICus/2EY1w80j1Qf48Zh4asictReePdVE2Tarq6dnpDh4RW6LenQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -463,7 +464,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/core": "17.3.3" + "@angular/core": "17.3.4" }, "peerDependenciesMeta": { "@angular/core": { @@ -472,9 +473,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.3.tgz", - "integrity": "sha512-vM0lqwuXQZ912HbLnIuvUblvIz2WEUsU7a5Z2ieNey6famH4zxPH12vCbVwXgicB6GLHorhOfcWC5443wD2mJw==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.3.4.tgz", + "integrity": "sha512-TVWjpZSI/GIXTYsmVgEKYjBckcW8Aj62DcxLNehRFR+c7UB95OY3ZFjU8U4jL0XvWPgTkkVWQVq+P6N4KCBsyw==", "dev": true, "dependencies": { "@babel/core": "7.23.9", @@ -495,7 +496,7 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/compiler": "17.3.3", + "@angular/compiler": "17.3.4", "typescript": ">=5.2 <5.5" } }, @@ -545,9 +546,9 @@ } }, "node_modules/@angular/core": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.3.tgz", - "integrity": "sha512-O/jr3aFJMCxF6Jmymjx4jIigRHJfqM/ALIi60y2LVznBVFkk9xyMTsAjgWQIEHX+2muEIzgfKuXzpL0y30y+wA==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.3.4.tgz", + "integrity": "sha512-fvhBkfa/DDBzp1UcNzSxHj+Z9DebSS/o9pZpZlbu/0uEiu9hScmScnhaty5E0EbutzHB0SVUCz7zZuDeAywvWg==", "dependencies": { "tslib": "^2.3.0" }, @@ -769,9 +770,9 @@ } }, "node_modules/@angular/forms": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.3.tgz", - "integrity": "sha512-wqn+eAggbOZY91hr7oDjv5qdflszVOC9SZMcWJUoZTGn+8eoV6v6728GDFuDDwYkKQ9G9eQbX4IZmYoVw3TVjQ==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.3.4.tgz", + "integrity": "sha512-XWA/FAs0r7VRdztMIfGU9EE0Chj+1U/sDnzJK3ZPO0n8F8oDAEWGJyiw8GIyWTLs+mz43thVIED3DhbRNsXbWw==", "dependencies": { "tslib": "^2.3.0" }, @@ -779,25 +780,25 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.3.3", - "@angular/core": "17.3.3", - "@angular/platform-browser": "17.3.3", + "@angular/common": "17.3.4", + "@angular/core": "17.3.4", + "@angular/platform-browser": "17.3.4", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-17.3.3.tgz", - "integrity": "sha512-OtdWNY0Syg4UvA8j2IhQJeq/UjWHYbRiyUcZjGKPRzuqIPjUhsmMyuW3zpi7Pwx2CpBzZXcik1Ra2WZ0gbwigg==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-17.3.4.tgz", + "integrity": "sha512-CgLg/7P0+NEeGU+vqvoG0rh2ns5iyfi/UO4JTxN1iMjuFBAUhGHxjiItPy8cN2XK/dWgOhXAFe4oqxA4dMBp/Q==", "dev": true, "engines": { "node": "^18.13.0 || >=20.9.0" } }, "node_modules/@angular/platform-browser": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.3.tgz", - "integrity": "sha512-XFWjquD+Pr9VszRzrDlT6uaf57TsY9XhL9iHCNok6Op5DpVQpIAuw1vFt2t5ZoQ0gv+lY8mVWnxgqe3CgTdYxw==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.3.4.tgz", + "integrity": "sha512-W2nH9WSQJfdNG4HH9B1Cvj5CTmy9gF3321I+65Tnb8jFmpeljYDBC/VVUhTZUCRpg8udMWeMHEQHuSb8CbozmQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -805,9 +806,9 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/animations": "17.3.3", - "@angular/common": "17.3.3", - "@angular/core": "17.3.3" + "@angular/animations": "17.3.4", + "@angular/common": "17.3.4", + "@angular/core": "17.3.4" }, "peerDependenciesMeta": { "@angular/animations": { @@ -816,9 +817,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.3.tgz", - "integrity": "sha512-jSgSNHRTXCIat20I+4tLm/e8qOvrIE3Zv7S/DtYZEiAth84uoznvo1kXnN+KREse2vP/WoNgSDKQ2JLzkwYXSQ==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.3.4.tgz", + "integrity": "sha512-S53jPyQtInVYkjdGEFt4dxM1NrHNkWCvXGRsCO7Uh+laDf1OpIDp9YHf49OZohYLajJradN6y4QfdZL6IUwXKA==", "dependencies": { "tslib": "^2.3.0" }, @@ -826,16 +827,16 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.3.3", - "@angular/compiler": "17.3.3", - "@angular/core": "17.3.3", - "@angular/platform-browser": "17.3.3" + "@angular/common": "17.3.4", + "@angular/compiler": "17.3.4", + "@angular/core": "17.3.4", + "@angular/platform-browser": "17.3.4" } }, "node_modules/@angular/router": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.3.tgz", - "integrity": "sha512-kj42+TtwvET7MFqxB3pkKyob0VNmspASlv8Y29vSpzzaOHn8J1fDf6H+8opoIC+Gmvo5NqXUDwq7nxI5aQ0mUQ==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.3.4.tgz", + "integrity": "sha512-B1zjUYyhN66dp47zdF96NRwo0dEdM5In4Ob8HN64PAbnaK3y1EPp31aN6EGernPvKum1ibgwSZw+Uwnbkuv7Ww==", "dependencies": { "tslib": "^2.3.0" }, @@ -843,9 +844,9 @@ "node": "^18.13.0 || >=20.9.0" }, "peerDependencies": { - "@angular/common": "17.3.3", - "@angular/core": "17.3.3", - "@angular/platform-browser": "17.3.3", + "@angular/common": "17.3.4", + "@angular/core": "17.3.4", + "@angular/platform-browser": "17.3.4", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -2735,7 +2736,6 @@ "version": "5.7.4", "resolved": "https://registry.npmjs.org/@capacitor/core/-/core-5.7.4.tgz", "integrity": "sha512-iZBgvx3o4amzKv5ttA+QHB6i7cxK+/mYpCQd1tnSdipg6ZkvfBhg1HkzhEqHk+I7MNur+QwgYDZho9+ycHRwOw==", - "peer": true, "dependencies": { "tslib": "^2.1.0" } @@ -2812,7 +2812,6 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/@dotenv-run/core/-/core-1.3.5.tgz", "integrity": "sha512-jwXSX/r4VIGUOd/xqRjD5QUYRhKhKOmhhFSPDaIOsajFL+LVYBGADTFcakZ5O9x2BOGxDjIVUJzIE8jTpJ29JA==", - "dev": true, "dependencies": { "chalk": "^4.1.0", "dotenv": "^16.1.4", @@ -2824,7 +2823,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -2839,7 +2837,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2855,7 +2852,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -2866,14 +2862,12 @@ "node_modules/@dotenv-run/core/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/@dotenv-run/core/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -2889,7 +2883,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -2898,7 +2891,6 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -2913,7 +2905,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -2928,7 +2919,6 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -2943,7 +2933,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -2955,7 +2944,6 @@ "version": "1.3.4", "resolved": "https://registry.npmjs.org/@dotenv-run/webpack/-/webpack-1.3.4.tgz", "integrity": "sha512-2QAH9q2iXhYk9l9lV1htAw5Qvwyyjp7Cg26t8j4RsFcO9NRr+TguKsoYUWI+HALvhFiEb/T07cFCUvaxv9APeQ==", - "dev": true, "dependencies": { "@dotenv-run/core": "^1.3.4" }, @@ -3534,9 +3522,9 @@ "integrity": "sha512-niv/67/EOkTlGUxyiOYfIkysSMGYxkIUHJzT9pNkeIGt6zOz759oCUXOAwwjJzckh11dMBFjIYBmtWrdSgbmJw==" }, "node_modules/@firebase/app": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.0.tgz", - "integrity": "sha512-bemcsqQD4teEnCM/+FiK8LFjlfoIFewMY3LOIgxa59ISlkk4zlw4ezz1iLY45yQ6ip6WDwky7cx9UruFBAn6iw==", + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.1.tgz", + "integrity": "sha512-H8hvbSVxNt+QaUQ1O0Gqidksi5ilj6eL8iMYxUNZgsMwZ1yOTgXc2C9zktbPQKokgcMq+EbF0k/t5iouslSkiA==", "dependencies": { "@firebase/component": "0.6.6", "@firebase/logger": "0.4.1", @@ -3586,11 +3574,11 @@ "integrity": "sha512-NqeIcuGzZjl+khpXV0qsyOoaTqLeiG/K0kIDrebol+gb7xpmfOvXXqPEls+1WFBgHcPGdu+XRLhBA7xLzrVdpA==" }, "node_modules/@firebase/app-compat": { - "version": "0.2.30", - "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.30.tgz", - "integrity": "sha512-S3FI3yx36xq5NYWXv/rqZiEnkQ89QwfGdl26iWZ9skuOGM96DYQUxs/zs7NkfAQcfpXC8f5DuUrE0Rz/0XdTEg==", + "version": "0.2.31", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.31.tgz", + "integrity": "sha512-TP9EwOiqDDL4tsP9EyOJn+RYUTkopS0nCg6TZ0PH8XiUgLlgDAF2waAZNha0+18elUkVjbWoXcudCgJ0iVWEVA==", "dependencies": { - "@firebase/app": "0.10.0", + "@firebase/app": "0.10.1", "@firebase/component": "0.6.6", "@firebase/logger": "0.4.1", "@firebase/util": "1.9.5", @@ -3603,15 +3591,15 @@ "integrity": "sha512-nFGqTYsnDFn1oXf1tCwPAc+hQPxyvBT/QB7qDjwK+IDYThOn63nGhzdUTXxVD9Ca8gUY/e5PQMngeo0ZW/E3uQ==" }, "node_modules/@firebase/auth": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.0.tgz", - "integrity": "sha512-xvyCR3Ivan74AwT/rQOqrYkyu4Ccz6GOFaohi1Pw3gLOpG2WIdC/phc4zdQkLJjmbGFcYNisHyqII2P/H9ZJow==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.1.tgz", + "integrity": "sha512-h1nTQ/bKuKmXnwhQP1hi73aSnEp3YQnw+9k8ICwvNB9FhG0XJS5VNtR08cpLUpwl9clSTujg3EP/Hs/chZnq4A==", "dependencies": { "@firebase/component": "0.6.6", "@firebase/logger": "0.4.1", "@firebase/util": "1.9.5", "tslib": "^2.1.0", - "undici": "5.28.3" + "undici": "5.28.4" }, "peerDependencies": { "@firebase/app": "0.x", @@ -3624,25 +3612,25 @@ } }, "node_modules/@firebase/auth-compat": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.5.tgz", - "integrity": "sha512-iAq/wCCEX4TPhZeCOmLxscHh6oZtvJ4g/FcRLynFntW3WOtrWF9/91jq+FsDSSJo9Av8MpnayCbbx+jpGSv4DQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.6.tgz", + "integrity": "sha512-zXo0CnGG8UqFtXW76XfXdKmDaAUW7QEN0BYXYH04VuzdPCmkWaR5Uybjp/Tglh3+UqE4AhYcYe0p2n+mxmkLqA==", "dependencies": { - "@firebase/auth": "1.7.0", + "@firebase/auth": "1.7.1", "@firebase/auth-types": "0.12.1", "@firebase/component": "0.6.6", "@firebase/util": "1.9.5", "tslib": "^2.1.0", - "undici": "5.28.3" + "undici": "5.28.4" }, "peerDependencies": { "@firebase/app-compat": "0.x" } }, "node_modules/@firebase/auth-compat/node_modules/undici": { - "version": "5.28.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz", - "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dependencies": { "@fastify/busboy": "^2.0.0" }, @@ -3665,9 +3653,9 @@ } }, "node_modules/@firebase/auth/node_modules/undici": { - "version": "5.28.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz", - "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dependencies": { "@fastify/busboy": "^2.0.0" }, @@ -3721,9 +3709,9 @@ } }, "node_modules/@firebase/firestore": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.5.1.tgz", - "integrity": "sha512-VQsMKJGuqlx8I+n+NhNrdFRBJU/B1O8mpGIAYABBmVxPyJax/ynuBMJkREmqzRWpbBj5IAtHe+vm4EvJlb6RLg==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.6.0.tgz", + "integrity": "sha512-mul4L2Bp+Q5R5mV1nf5Z6OmsHHFid7uSEeR8oTM89p5G0nMam4GKaBAvgLSxwsXQbyy2WW9nNnuAWLfD7HDxFA==", "dependencies": { "@firebase/component": "0.6.6", "@firebase/logger": "0.4.1", @@ -3732,7 +3720,7 @@ "@grpc/grpc-js": "~1.9.0", "@grpc/proto-loader": "^0.7.8", "tslib": "^2.1.0", - "undici": "5.28.3" + "undici": "5.28.4" }, "engines": { "node": ">=10.10.0" @@ -3742,12 +3730,12 @@ } }, "node_modules/@firebase/firestore-compat": { - "version": "0.3.28", - "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.28.tgz", - "integrity": "sha512-qaE9QYrWV0K+nh/HWf2EL/V2fPsuTZJ8K4S4e+xUOIxVulmXXwlKg4vgJgRF6r5AlABcSphKNbz/77fChgNwiQ==", + "version": "0.3.29", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.29.tgz", + "integrity": "sha512-ylBtvIQo2Caj1qXUd7ksj8xcL9l1b/F2Et6rq0smogPvl5CGvrv49xC5wVLJDmkMmH7IBEJb26KKC/RW1XYymg==", "dependencies": { "@firebase/component": "0.6.6", - "@firebase/firestore": "4.5.1", + "@firebase/firestore": "4.6.0", "@firebase/firestore-types": "3.0.1", "@firebase/util": "1.9.5", "tslib": "^2.1.0" @@ -3766,9 +3754,9 @@ } }, "node_modules/@firebase/firestore/node_modules/undici": { - "version": "5.28.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz", - "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dependencies": { "@fastify/busboy": "^2.0.0" }, @@ -3777,9 +3765,9 @@ } }, "node_modules/@firebase/functions": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.3.tgz", - "integrity": "sha512-fpjc3VwxsgFBcR0wmof6kIng7NNvhjqetwWUTMs/ZeOI0QiZoUvSDaudFZvPfvXujSK/sr3tk9G1YzjbwCQkgQ==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.4.tgz", + "integrity": "sha512-FeMpXtlZG8hnxUauI5J8BSmIbY/Gcv7UVlByxHuHmGxxeS8mJPuAdIxPLUBNtV/naf+MeimIPcpPMslYr6tN6w==", "dependencies": { "@firebase/app-check-interop-types": "0.3.1", "@firebase/auth-interop-types": "0.2.2", @@ -3787,19 +3775,19 @@ "@firebase/messaging-interop-types": "0.2.1", "@firebase/util": "1.9.5", "tslib": "^2.1.0", - "undici": "5.28.3" + "undici": "5.28.4" }, "peerDependencies": { "@firebase/app": "0.x" } }, "node_modules/@firebase/functions-compat": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.9.tgz", - "integrity": "sha512-yVcNBUljBFD6VPeTJcnWBEFZlVICKWuJzJmPuvgKEH++8z/CdgUKw0YslceaPQIWnstdviZDEF1cjJnR/bLvzQ==", + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.10.tgz", + "integrity": "sha512-2Yidp6Dgf2k8LqJDQUTqdYFdf4ySNmZ71yeDX4lThby1HRMww+Y3nN98YaM6hHarZX3PUfaMUiMBZMHCRRT2IA==", "dependencies": { "@firebase/component": "0.6.6", - "@firebase/functions": "0.11.3", + "@firebase/functions": "0.11.4", "@firebase/functions-types": "0.6.1", "@firebase/util": "1.9.5", "tslib": "^2.1.0" @@ -3814,9 +3802,9 @@ "integrity": "sha512-DirqgTXSBzyKsQwcKnx/YdGMaRdJhywnThrINP+Iog8QfQnrL7aprTXHDFHlpZEMwykS54YRk53xzz7j396QXQ==" }, "node_modules/@firebase/functions/node_modules/undici": { - "version": "5.28.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz", - "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dependencies": { "@fastify/busboy": "^2.0.0" }, @@ -3870,9 +3858,9 @@ } }, "node_modules/@firebase/messaging": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.7.tgz", - "integrity": "sha512-FNZiGMZWjU2D13U/XpoGDSfqCx2kqJ171P3VjquBJfd8SkYNyJMkKM82QvTjQaDd4nuWzgvTDR81DGJFUO6AOg==", + "version": "0.12.8", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.8.tgz", + "integrity": "sha512-FbCTNhv5DUBo8It+Wj3XbKM1xf3PeoHsHk8PjMWBNm0yP+LL8Jhd3ejRsukEYdysTMvgxY4sU5Cs5YNTK44qTQ==", "dependencies": { "@firebase/component": "0.6.6", "@firebase/installations": "0.6.6", @@ -3886,12 +3874,12 @@ } }, "node_modules/@firebase/messaging-compat": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.7.tgz", - "integrity": "sha512-29eeNzkjJPNc1RAVmxocaA8PzkbtuNvabX8jKw3N8VdAmyugx7+dYB+jCnereiWqIwivIZ2xSbCUQ24vC7+HaQ==", + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.8.tgz", + "integrity": "sha512-/2ibL9u64jn76g67qjAZutVnPTV6euu0z3BvCjcqlNbMMdtoyNjyHOBRe/D7eVcrRt0uB4rTPnjr3A6sVKdjuA==", "dependencies": { "@firebase/component": "0.6.6", - "@firebase/messaging": "0.12.7", + "@firebase/messaging": "0.12.8", "@firebase/util": "1.9.5", "tslib": "^2.1.0" }, @@ -3977,26 +3965,26 @@ "integrity": "sha512-PgmfUugcJAinPLsJlYcBbNZe7KE2omdQw1WCT/z46nKkNVGkuHdVFSq54s3wiFa9BoHmLZ01u4hGXIhm6MdLOw==" }, "node_modules/@firebase/storage": { - "version": "0.12.3", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.12.3.tgz", - "integrity": "sha512-JP/rN8fb4CgCo7k/I8OLVgRx5cgExsWOIUQ2O2VQwR6YKItuL375c9v7PDaOfEcFZea/fXtfJJ3Z2NaI9445CQ==", + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.12.4.tgz", + "integrity": "sha512-HcmUcp2kSSr5cHkIqFrgUW+i20925EEjkXepQxgBcI2Vx0cyqshr8iETtGow2+cMBFeY8H2swsKKabOKAjIwlQ==", "dependencies": { "@firebase/component": "0.6.6", "@firebase/util": "1.9.5", "tslib": "^2.1.0", - "undici": "5.28.3" + "undici": "5.28.4" }, "peerDependencies": { "@firebase/app": "0.x" } }, "node_modules/@firebase/storage-compat": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.6.tgz", - "integrity": "sha512-AKv0vwktqdW4SDDDcHSN2ahi1Hpjs8rTM6sE7+yrWpm8cRght/PkqylsFnIe+a/toCNd8WeWaXq/oaXHPvRw1w==", + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.7.tgz", + "integrity": "sha512-pTlNAm8/QPN7vhYRyd5thr2ouCykP+wIFXHY1AV42WTrk98sTGdIlt/tusHzmrH4mJ34MPaICS0cn2lYikiq8w==", "dependencies": { "@firebase/component": "0.6.6", - "@firebase/storage": "0.12.3", + "@firebase/storage": "0.12.4", "@firebase/storage-types": "0.8.1", "@firebase/util": "1.9.5", "tslib": "^2.1.0" @@ -4015,9 +4003,9 @@ } }, "node_modules/@firebase/storage/node_modules/undici": { - "version": "5.28.3", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.3.tgz", - "integrity": "sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==", + "version": "5.28.4", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz", + "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==", "dependencies": { "@fastify/busboy": "^2.0.0" }, @@ -4123,11 +4111,11 @@ "dev": true }, "node_modules/@ionic/angular": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-7.8.3.tgz", - "integrity": "sha512-a0tf/QFgGFMdWePwwvxxxiqbzD6e4ws4Vok9kTqKa6C5488tQJrFJuuNTDADrAfuTLHS731r19NiiUfHRSdeqg==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@ionic/angular/-/angular-7.8.4.tgz", + "integrity": "sha512-lBnACcIyoO8E/LJoXhmx8ZyC3SAUZrJoh+LHTkH10GDfpAJw9mmEiK8pol+Z1bBFbHR0mMTOlS2Myh+q46hgQg==", "dependencies": { - "@ionic/core": "7.8.3", + "@ionic/core": "7.8.4", "ionicons": "^7.0.0", "jsonc-parser": "^3.0.0", "tslib": "^2.3.0" @@ -4166,9 +4154,9 @@ } }, "node_modules/@ionic/core": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.8.3.tgz", - "integrity": "sha512-5pFoE8gbhbCuyQlZ7BlRk4+S4PmmqgkALw4IAhtUK1TuzsKJ2KLFBlp0rdlWS+VcKEyrec/ptVki8oN5335vRA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-7.8.4.tgz", + "integrity": "sha512-GiQM3Gb1kjaxQyDTQfXd54p/a8cK+ccaYKH30pRpzFMborqCZwhcCUQWV1zNAUuFI8YkC5CWTi6bdHyiYuxw4w==", "dependencies": { "@stencil/core": "^4.12.2", "ionicons": "^7.2.2", @@ -4494,7 +4482,6 @@ "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "dev": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -4511,7 +4498,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, "engines": { "node": ">=12" }, @@ -4523,7 +4509,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, "engines": { "node": ">=12" }, @@ -4534,14 +4519,12 @@ "node_modules/@isaacs/cliui/node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/@isaacs/cliui/node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -4558,7 +4541,6 @@ "version": "7.1.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -4573,7 +4555,6 @@ "version": "8.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", - "dev": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -4627,7 +4608,6 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -4641,7 +4621,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -4650,7 +4629,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -4659,7 +4637,6 @@ "version": "0.3.6", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25" @@ -4674,7 +4651,6 @@ "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -4699,9 +4675,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.3.tgz", - "integrity": "sha512-053KMbg1Tb+Mmg4Htsv8yTpI7ABghguoxhwosQXKB0CjO6M0oexuvdaxbRDQ1vd5xYNOW9LcOfxOMPIwyU4BBA==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.3.4.tgz", + "integrity": "sha512-3uNX4tRTKPm91mSQcnmQtqDMMKLGDevJERSPJU7hlOXZZ05QrT4et1mwvXNYYMpXqi2OkC7D4ryIS2YxAiItBA==", "dev": true, "engines": { "node": "^18.13.0 || >=20.9.0", @@ -4718,7 +4694,6 @@ "version": "17.3.0", "resolved": "https://registry.npmjs.org/@ngx-env/builder/-/builder-17.3.0.tgz", "integrity": "sha512-AySfvFmaBDkcFApfydf22nADSJ65F8YIqPRQdx6DncWnApv39cFc4ISCXEuKkhhjvyhU6W6OrYdXb5cJZzGHkQ==", - "dev": true, "dependencies": { "@dotenv-run/esbuild": "^1.3.5", "@dotenv-run/webpack": "^1.3.4", @@ -4729,7 +4704,6 @@ "version": "1.3.5", "resolved": "https://registry.npmjs.org/@dotenv-run/esbuild/-/esbuild-1.3.5.tgz", "integrity": "sha512-EEcWHuoSqy7mnUMil2fNa+WAgjvD+tfkyo3yXGEHlCbOapExchpU21Y+Iap76NBKXBPLIuU671eO00O4Q4ggcQ==", - "dev": true, "dependencies": { "@dotenv-run/core": "~1.3.5" }, @@ -4744,7 +4718,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "aix" @@ -4761,7 +4734,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "android" @@ -4778,7 +4750,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "android" @@ -4795,7 +4766,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "android" @@ -4812,7 +4782,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -4829,7 +4798,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "darwin" @@ -4846,7 +4814,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -4863,7 +4830,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "freebsd" @@ -4880,7 +4846,6 @@ "cpu": [ "arm" ], - "dev": true, "optional": true, "os": [ "linux" @@ -4897,7 +4862,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -4914,7 +4878,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "linux" @@ -4931,7 +4894,6 @@ "cpu": [ "loong64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -4948,7 +4910,6 @@ "cpu": [ "mips64el" ], - "dev": true, "optional": true, "os": [ "linux" @@ -4965,7 +4926,6 @@ "cpu": [ "ppc64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -4982,7 +4942,6 @@ "cpu": [ "riscv64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -4999,7 +4958,6 @@ "cpu": [ "s390x" ], - "dev": true, "optional": true, "os": [ "linux" @@ -5016,7 +4974,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "linux" @@ -5033,7 +4990,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "netbsd" @@ -5050,7 +5006,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "openbsd" @@ -5067,7 +5022,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "sunos" @@ -5084,7 +5038,6 @@ "cpu": [ "arm64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -5101,7 +5054,6 @@ "cpu": [ "ia32" ], - "dev": true, "optional": true, "os": [ "win32" @@ -5118,7 +5070,6 @@ "cpu": [ "x64" ], - "dev": true, "optional": true, "os": [ "win32" @@ -5132,7 +5083,6 @@ "version": "0.19.11", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", - "dev": true, "hasInstallScript": true, "peer": true, "bin": { @@ -5171,7 +5121,6 @@ "version": "10.3.12", "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", - "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.3.6", @@ -5262,15 +5211,15 @@ } }, "node_modules/@npmcli/git": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz", - "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.6.tgz", + "integrity": "sha512-4x/182sKXmQkf0EtXxT26GEsaOATpD7WVtza5hrYivWZeo6QefC6xq9KAXrnjtFKBZ4rZwR7aX/zClYYXgtwLw==", "dev": true, "dependencies": { "@npmcli/promise-spawn": "^7.0.0", "lru-cache": "^10.0.1", "npm-pick-manifest": "^9.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", @@ -5298,6 +5247,15 @@ "node": "14 || >=16.14" } }, + "node_modules/@npmcli/git/node_modules/proc-log": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.0.0.tgz", + "integrity": "sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@npmcli/git/node_modules/which": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", @@ -5339,9 +5297,9 @@ } }, "node_modules/@npmcli/package-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.0.0.tgz", - "integrity": "sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.0.3.tgz", + "integrity": "sha512-cgsjCvld2wMqkUqvY+SZI+1ZJ7umGBYc9IAKfqJRKJCcs7hCQYxScUgdsyrRINk3VmdCYf9TXiLBHQ6ECTxhtg==", "dev": true, "dependencies": { "@npmcli/git": "^5.0.0", @@ -5349,7 +5307,7 @@ "hosted-git-info": "^7.0.0", "json-parse-even-better-errors": "^3.0.0", "normalize-package-data": "^6.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "semver": "^7.5.3" }, "engines": { @@ -5378,6 +5336,15 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/@npmcli/package-json/node_modules/proc-log": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.0.0.tgz", + "integrity": "sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/@npmcli/promise-spawn": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz", @@ -5464,21 +5431,21 @@ } }, "node_modules/@nrwl/devkit": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.2.3.tgz", - "integrity": "sha512-BJQdPmXFze7g4zsHhwSTssAcm/hvl0rXbIzZYQxncsVU4d+Fx0GS3JYBZ+9EcfnCeAEb10jGvn7Rfk+0okMmOw==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-18.2.4.tgz", + "integrity": "sha512-dLK8MMb3eEFWlhtI1kNDNbWIT1Xbrgg3eAQ+Ix/N5JDbxJkJhE28WsIJgQb1NTwe/N87O5JtOpxz4/TsSLJCsQ==", "dev": true, "dependencies": { - "@nx/devkit": "18.2.3" + "@nx/devkit": "18.2.4" } }, "node_modules/@nrwl/tao": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-18.2.3.tgz", - "integrity": "sha512-vmteqzGcKPbexaAVPb/7VfXI5dXxzZwSm3rem3z20QlDOmNh1545VLO9YEfT5xzmZT2CC7F0etR4KcrJLtoT5g==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-18.2.4.tgz", + "integrity": "sha512-kgJwZ26F+AzvFXaW5eh1g4HLntPcJ6+EE7JyEvrdRzpw7KxTqWy6Ql7dYys6zGlpP4c3PbsXwdc7tGM3Df2PNg==", "dev": true, "dependencies": { - "nx": "18.2.3", + "nx": "18.2.4", "tslib": "^2.3.0" }, "bin": { @@ -5486,12 +5453,12 @@ } }, "node_modules/@nx/devkit": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.2.3.tgz", - "integrity": "sha512-dugw9Jm3Og28uwGee94P3KYkqiUV7J8RgibOQjQG4J2Vt3DPBNEGSgBD72qKkzpioEo+XSVUkn9h3GrdmnRU+Q==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-18.2.4.tgz", + "integrity": "sha512-Ws3BcA/aeXuwsCQ5e7PYy2H7DswareTOEfgs7izxNyGugpydktVH9DZZTOFNDsc06yzgvyTucDbDQ+JsrJ9PcQ==", "dev": true, "dependencies": { - "@nrwl/devkit": "18.2.3", + "@nrwl/devkit": "18.2.4", "ejs": "^3.1.7", "enquirer": "~2.3.6", "ignore": "^5.0.4", @@ -5505,9 +5472,9 @@ } }, "node_modules/@nx/nx-darwin-arm64": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.2.3.tgz", - "integrity": "sha512-TEks/vXHE87rNvVqhcIzQOM/+aZvNCf/70PhGG4RBEb+qV0C1kw7nygzdoLI4inFC76Qxhyya/K3J2OnU5ATiw==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-18.2.4.tgz", + "integrity": "sha512-RYhMImghdyHmwnbNoR2CkLz4Opj9EmuHY3lMfsorg+T4wIOql/iXACrqjnreN7Hy9myJDo1EIbYZ4x8VSxFWtA==", "cpu": [ "arm64" ], @@ -5521,9 +5488,9 @@ } }, "node_modules/@nx/nx-darwin-x64": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-18.2.3.tgz", - "integrity": "sha512-UsBbNbNXj+L2OzPyQYotyzmZF4h+ryaZ8quYDfdnlYwvFeqkdb2QJ3vJRd6in0kMWGrdk/ria/wZMCxR7U1ggg==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-18.2.4.tgz", + "integrity": "sha512-2mXMslSRD/ZoI/oaX+0Mh9J/hucXtNgdwC4YFbp1u8UKquAaQ6hf4uo0s4i+AfLX0F7roMtkFPaG/+MQUJE1Rw==", "cpu": [ "x64" ], @@ -5537,9 +5504,9 @@ } }, "node_modules/@nx/nx-freebsd-x64": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.2.3.tgz", - "integrity": "sha512-f9BXGOeRPhrsNm99TCnOqZZeZUqN1BUOEzWa12eo3u+vQG6Qba3qKn7T92SeEzxOx/mUP/Csv3pFYoY6TE26jA==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-18.2.4.tgz", + "integrity": "sha512-QUiYLvyUT0PS7D8erf49xa1Jyw4Gfev5gtYfME34Twmn/JPx/99ZkBG4wHbzLqRGwlO5K6m6P4qs30Pzfwtw7A==", "cpu": [ "x64" ], @@ -5553,9 +5520,9 @@ } }, "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.2.3.tgz", - "integrity": "sha512-ekqr5jZhD6PxGM5IbI/RtlERDJ+8HR04OIdfo6HkbwxwCHxZlzZq+ApEZYum4AbjP6cuc3Zd/us1uuDqfQbeHw==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-18.2.4.tgz", + "integrity": "sha512-+fjFciSUhvDV8dPa97Brwb83k3Xa4gHPI2Un8wlpp28Cv4horeGruRZrrifR1VmD2wp2UBIMl5n7YsDP8KvYhQ==", "cpu": [ "arm" ], @@ -5569,9 +5536,9 @@ } }, "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.2.3.tgz", - "integrity": "sha512-iAW2J8NBFU4zDn5nqRgUq4t7gYC8ALyALzznr97ZvMTQorWfmHYgPUAj/opNqUcr10fjxcmXT0Ux2SX3DgUDmw==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-18.2.4.tgz", + "integrity": "sha512-lfaTc+AvV56Uv5mXROiRwh2REiI/7IsqeRDfL+prcuuvJ5Oxi2wYVgnmqcHL+ryQnk0Qn7/d+j/BmYHX5Ve5jQ==", "cpu": [ "arm64" ], @@ -5585,9 +5552,9 @@ } }, "node_modules/@nx/nx-linux-arm64-musl": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.2.3.tgz", - "integrity": "sha512-AJjGVHGGew0QVKUL30mjFjafowrSDYSQ1GgkJCLuWef5jl4rFvm9ruZswVja1KfZTFaImTCU01tZjPBr3zhmAA==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-18.2.4.tgz", + "integrity": "sha512-U6eoLTQmbxUWU9kZxx6hsYN4zmmOrsDDeW+i3aj5aeahfYlmyz6TsT0V3FSB70WGJC5aMVgEi4RkntQMKkm5vQ==", "cpu": [ "arm64" ], @@ -5601,9 +5568,9 @@ } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.2.3.tgz", - "integrity": "sha512-nk5Xg8vmbBRoL0fOgZNBl1paC7hmjACLaSBmU7U2X+Y+QPGQzSw2b+Zn1MKVUWDmc4E6VnQfZ8n0L27+r9NgRw==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-18.2.4.tgz", + "integrity": "sha512-q8WcJhmcRNORkKjax6WcUwMJe/1mQs+RYlUkGqmi7tD7lfcLSqdLPJVjqVmQAwmy1Wh/MHPsbqRwSerUnCxB1A==", "cpu": [ "x64" ], @@ -5617,9 +5584,9 @@ } }, "node_modules/@nx/nx-linux-x64-musl": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.2.3.tgz", - "integrity": "sha512-bOlhul/eov58k9fX8lltopUDOIBEohZq2qc4ag91W2r4jdp6suAiqfXRxQwNZ2iHd8nAXuCDIHCbUuojs6OZnA==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-18.2.4.tgz", + "integrity": "sha512-0MDuoPgHa6kkBrjg7hwZ2qQivhJbh3lk7r3q4osDrqZcGxq5XVJqeAmYFyChQy4dbQfUm4hhYkEfzpU8M2lnvQ==", "cpu": [ "x64" ], @@ -5633,9 +5600,9 @@ } }, "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.2.3.tgz", - "integrity": "sha512-olXer0LnCvJrdV5ynd19fZHvvarRK/p1JnkoOUZDPVV+A3jGQQ8+paz+/5iLQBKA+5VcgWyqAaGFJnpyEFmnoQ==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-18.2.4.tgz", + "integrity": "sha512-uLhSRtfnXzN000Qf27GOjEPXzd4/jBWqv2x419IMh+AEtKHuCEpQNBUAyLvBbQ79SMr+FmCXHB8AeeJ7bEUiRw==", "cpu": [ "arm64" ], @@ -5649,9 +5616,9 @@ } }, "node_modules/@nx/nx-win32-x64-msvc": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.2.3.tgz", - "integrity": "sha512-BgzPjF/wqi7zIFcspcKzN37BX1wgGo0OTLncK2PN5nyzSQ+XeNbR5laDswxzOGdB4CRLPqak2+YMhYnoiXeRCg==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-18.2.4.tgz", + "integrity": "sha512-Y52Afz02Ub1kRZXd6NUTwPMjKQqBKZ35e5dUEpl14na2fWvdgdMz4bYOBPUcmQrovlxBGhmFXtFzxkdW3zyRbQ==", "cpu": [ "x64" ], @@ -5668,7 +5635,6 @@ "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", - "dev": true, "optional": true, "engines": { "node": ">=14" @@ -5729,9 +5695,9 @@ "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.1.tgz", - "integrity": "sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.14.2.tgz", + "integrity": "sha512-ahxSgCkAEk+P/AVO0vYr7DxOD3CwAQrT0Go9BJyGQ9Ef0QxVOfjDZMiF4Y2s3mLyPrjonchIMH/tbWHucJMykQ==", "cpu": [ "arm" ], @@ -5742,9 +5708,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.1.tgz", - "integrity": "sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.14.2.tgz", + "integrity": "sha512-lAarIdxZWbFSHFSDao9+I/F5jDaKyCqAPMq5HqnfpBw8dKDiCaaqM0lq5h1pQTLeIqueeay4PieGR5jGZMWprw==", "cpu": [ "arm64" ], @@ -5755,9 +5721,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.1.tgz", - "integrity": "sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.14.2.tgz", + "integrity": "sha512-SWsr8zEUk82KSqquIMgZEg2GE5mCSfr9sE/thDROkX6pb3QQWPp8Vw8zOq2GyxZ2t0XoSIUlvHDkrf5Gmf7x3Q==", "cpu": [ "arm64" ], @@ -5768,9 +5734,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.1.tgz", - "integrity": "sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.14.2.tgz", + "integrity": "sha512-o/HAIrQq0jIxJAhgtIvV5FWviYK4WB0WwV91SLUnsliw1lSAoLsmgEEgRWzDguAFeUEUUoIWXiJrPqU7vGiVkA==", "cpu": [ "x64" ], @@ -5781,9 +5747,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.1.tgz", - "integrity": "sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.14.2.tgz", + "integrity": "sha512-nwlJ65UY9eGq91cBi6VyDfArUJSKOYt5dJQBq8xyLhvS23qO+4Nr/RreibFHjP6t+5ap2ohZrUJcHv5zk5ju/g==", "cpu": [ "arm" ], @@ -5794,9 +5760,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.1.tgz", - "integrity": "sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.14.2.tgz", + "integrity": "sha512-Pg5TxxO2IVlMj79+c/9G0LREC9SY3HM+pfAwX7zj5/cAuwrbfj2Wv9JbMHIdPCfQpYsI4g9mE+2Bw/3aeSs2rQ==", "cpu": [ "arm64" ], @@ -5807,9 +5773,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.1.tgz", - "integrity": "sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.14.2.tgz", + "integrity": "sha512-cAOTjGNm84gc6tS02D1EXtG7tDRsVSDTBVXOLbj31DkwfZwgTPYZ6aafSU7rD/4R2a34JOwlF9fQayuTSkoclA==", "cpu": [ "arm64" ], @@ -5820,11 +5786,11 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.1.tgz", - "integrity": "sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.14.2.tgz", + "integrity": "sha512-4RyT6v1kXb7C0fn6zV33rvaX05P0zHoNzaXI/5oFHklfKm602j+N4mn2YvoezQViRLPnxP8M1NaY4s/5kXO5cw==", "cpu": [ - "ppc64le" + "ppc64" ], "dev": true, "optional": true, @@ -5833,9 +5799,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.1.tgz", - "integrity": "sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.14.2.tgz", + "integrity": "sha512-KNUH6jC/vRGAKSorySTyc/yRYlCwN/5pnMjXylfBniwtJx5O7X17KG/0efj8XM3TZU7raYRXJFFReOzNmL1n1w==", "cpu": [ "riscv64" ], @@ -5846,9 +5812,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.1.tgz", - "integrity": "sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.14.2.tgz", + "integrity": "sha512-xPV4y73IBEXToNPa3h5lbgXOi/v0NcvKxU0xejiFw6DtIYQqOTMhZ2DN18/HrrP0PmiL3rGtRG9gz1QE8vFKXQ==", "cpu": [ "s390x" ], @@ -5859,9 +5825,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.1.tgz", - "integrity": "sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.14.2.tgz", + "integrity": "sha512-QBhtr07iFGmF9egrPOWyO5wciwgtzKkYPNLVCFZTmr4TWmY0oY2Dm/bmhHjKRwZoGiaKdNcKhFtUMBKvlchH+Q==", "cpu": [ "x64" ], @@ -5872,9 +5838,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.1.tgz", - "integrity": "sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.14.2.tgz", + "integrity": "sha512-8zfsQRQGH23O6qazZSFY5jP5gt4cFvRuKTpuBsC1ZnSWxV8ZKQpPqOZIUtdfMOugCcBvFGRa1pDC/tkf19EgBw==", "cpu": [ "x64" ], @@ -5885,9 +5851,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.1.tgz", - "integrity": "sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.14.2.tgz", + "integrity": "sha512-H4s8UjgkPnlChl6JF5empNvFHp77Jx+Wfy2EtmYPe9G22XV+PMuCinZVHurNe8ggtwoaohxARJZbaH/3xjB/FA==", "cpu": [ "arm64" ], @@ -5898,9 +5864,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.1.tgz", - "integrity": "sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.14.2.tgz", + "integrity": "sha512-djqpAjm/i8erWYF0K6UY4kRO3X5+T4TypIqw60Q8MTqSBaQNpNXDhxdjpZ3ikgb+wn99svA7jxcXpiyg9MUsdw==", "cpu": [ "ia32" ], @@ -5911,9 +5877,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.1.tgz", - "integrity": "sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.14.2.tgz", + "integrity": "sha512-teAqzLT0yTYZa8ZP7zhFKEx4cotS8Tkk5XiqNMJhD4CpaWB1BHARE4Qy+RzwnXvSAYv+Q3jAqCVBS+PS+Yee8Q==", "cpu": [ "x64" ], @@ -5924,12 +5890,12 @@ ] }, "node_modules/@schematics/angular": { - "version": "17.3.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.3.tgz", - "integrity": "sha512-kNlyjIKTBhfi8Jab3MCkxNRbbpErbzdu0lZNSL8Nidmqs6Tk23Dc1bZe4t/gPNOCkCvQlwYa6X88SjC/ntyVng==", + "version": "17.3.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.3.4.tgz", + "integrity": "sha512-Rqhp5l76Ej6BOZCHPrvHlA2SBkjv1aHFWAfW9gREke826j46D+fuA0eDAdgeVTz0Fx9e7XM3LdtWsz7CBlV4Ug==", "dependencies": { - "@angular-devkit/core": "17.3.3", - "@angular-devkit/schematics": "17.3.3", + "@angular-devkit/core": "17.3.4", + "@angular-devkit/schematics": "17.3.4", "jsonc-parser": "3.2.1" }, "engines": { @@ -6017,9 +5983,9 @@ "dev": true }, "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.1.tgz", + "integrity": "sha512-dzJtaDAAoXx4GCOJpbB2eG/Qj8VDpdwkLsWGzGm+0L7E8/434RyMbAHmk9ubXWVAb9nXmc44jUf8GKqVDiKezg==", "dev": true }, "node_modules/@stencil/core": { @@ -6110,10 +6076,9 @@ } }, "node_modules/@types/eslint": { - "version": "8.56.7", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.7.tgz", - "integrity": "sha512-SjDvI/x3zsZnOkYZ3lCt9lOZWZLB2jIlNKz+LBgCtDurK0JZcwucxYHn1w2BJkD34dgX9Tjnak0txtq4WTggEA==", - "dev": true, + "version": "8.56.9", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.9.tgz", + "integrity": "sha512-W4W3KcqzjJ0sHg2vAq9vfml6OhsJ53TcUjUqfzzZf/EChUtwspszj/S0pzMxnfRcO55/iGq47dscXw71Fxc4Zg==", "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -6123,7 +6088,6 @@ "version": "3.7.7", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -6132,8 +6096,7 @@ "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" }, "node_modules/@types/express": { "version": "4.17.21", @@ -6192,8 +6155,7 @@ "node_modules/@types/json-schema": { "version": "7.0.15", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" }, "node_modules/@types/json5": { "version": "0.0.29", @@ -6208,9 +6170,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.12.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.5.tgz", - "integrity": "sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==", + "version": "20.12.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz", + "integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==", "dependencies": { "undici-types": "~5.26.4" } @@ -6704,7 +6666,6 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz", "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==", - "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.11.6", "@webassemblyjs/helper-wasm-bytecode": "1.11.6" @@ -6713,26 +6674,22 @@ "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz", - "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==", - "dev": true + "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==" }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.11.6", "@webassemblyjs/helper-api-error": "1.11.6", @@ -6742,14 +6699,12 @@ "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz", "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -6761,7 +6716,6 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -6770,7 +6724,6 @@ "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -6778,14 +6731,12 @@ "node_modules/@webassemblyjs/utf8": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz", "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -6801,7 +6752,6 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz", "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-wasm-bytecode": "1.11.6", @@ -6814,7 +6764,6 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz", "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-buffer": "1.12.1", @@ -6826,7 +6775,6 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz", "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@webassemblyjs/helper-api-error": "1.11.6", @@ -6840,7 +6788,6 @@ "version": "1.12.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz", "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==", - "dev": true, "dependencies": { "@webassemblyjs/ast": "1.12.1", "@xtuc/long": "4.2.2" @@ -6858,14 +6805,12 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", @@ -6930,7 +6875,6 @@ "version": "8.11.3", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -6942,7 +6886,6 @@ "version": "1.9.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, "peerDependencies": { "acorn": "^8" } @@ -7504,8 +7447,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", @@ -7652,7 +7594,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0" } @@ -7673,7 +7614,6 @@ "version": "4.23.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, "funding": [ { "type": "opencollective", @@ -7736,8 +7676,7 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/builtin-modules": { "version": "3.3.0", @@ -7861,10 +7800,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001607", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001607.tgz", - "integrity": "sha512-WcvhVRjXLKFB/kmOFVwELtMxyhq3iM/MvmXcyCe2PNf166c39mptscOc/45TTS96n2gpNV2z7+NakArTWZCQ3w==", - "dev": true, + "version": "1.0.30001609", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001609.tgz", + "integrity": "sha512-JFPQs34lHKx1B5t1EpQpWH4c+29zIyn/haGsbpfq3suuV9v56enjFt23zqijxGTMwy1p/4H2tjnQMY+p1WoAyA==", "funding": [ { "type": "opencollective", @@ -7936,7 +7874,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, "engines": { "node": ">=6.0" } @@ -8132,8 +8069,7 @@ "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "node_modules/comment-parser": { "version": "1.4.1", @@ -8541,7 +8477,6 @@ "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -8942,22 +8877,20 @@ } }, "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "dev": true, + "version": "16.3.2", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz", + "integrity": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==", "engines": { "node": ">=12" }, "funding": { - "url": "https://dotenvx.com" + "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, "node_modules/dotenv-expand": { "version": "10.0.0", "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", - "dev": true, "engines": { "node": ">=12" } @@ -8971,8 +8904,7 @@ "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" }, "node_modules/ee-first": { "version": "1.1.1", @@ -8981,9 +8913,9 @@ "dev": true }, "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, "dependencies": { "jake": "^10.8.5" @@ -8996,10 +8928,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.729", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.729.tgz", - "integrity": "sha512-bx7+5Saea/qu14kmPTDHQxkp2UnziG3iajUQu3BxFvCOnpAJdDbMV4rSl+EqFDkkpNNVUFlR1kDfpL59xfy1HA==", - "dev": true + "version": "1.4.736", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.736.tgz", + "integrity": "sha512-Rer6wc3ynLelKNM4lOCg7/zPQj8tPOCB2hzD32PX9wd3hgRRi9MxEbmkFCokzcEhRVMiOVLjnL9ig9cefJ+6+Q==" }, "node_modules/elementtree": { "version": "0.1.7", @@ -9111,7 +9042,6 @@ "version": "5.16.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz", "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==", - "dev": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -9271,8 +9201,7 @@ "node_modules/es-module-lexer": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", - "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==", - "dev": true + "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==" }, "node_modules/es-object-atoms": { "version": "1.0.0", @@ -9961,7 +9890,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -9973,7 +9901,6 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, "engines": { "node": ">=4.0" } @@ -10006,7 +9933,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, "engines": { "node": ">=0.8.x" } @@ -10187,8 +10113,7 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -10364,35 +10289,35 @@ } }, "node_modules/firebase": { - "version": "10.10.0", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.10.0.tgz", - "integrity": "sha512-iJxnCKsBTYa4BSv8cscNbwciX42BvwoePTHg7iwWevb+GyVcZFmKi9eSkg/L7Jpu9mvAFv1jdDGbIaG3xRrE+w==", + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.11.0.tgz", + "integrity": "sha512-stWqB0cmUBFidaWCgDV6on6uQyAV8jFe9XdOp0Y1GRM/LUn0MjPSgW06Tc3pFlaefQ+WTLR/CNwL+0qGhxDLIA==", "dependencies": { "@firebase/analytics": "0.10.2", "@firebase/analytics-compat": "0.2.8", - "@firebase/app": "0.10.0", + "@firebase/app": "0.10.1", "@firebase/app-check": "0.8.3", "@firebase/app-check-compat": "0.3.10", - "@firebase/app-compat": "0.2.30", + "@firebase/app-compat": "0.2.31", "@firebase/app-types": "0.9.1", - "@firebase/auth": "1.7.0", - "@firebase/auth-compat": "0.5.5", + "@firebase/auth": "1.7.1", + "@firebase/auth-compat": "0.5.6", "@firebase/database": "1.0.4", "@firebase/database-compat": "1.0.4", - "@firebase/firestore": "4.5.1", - "@firebase/firestore-compat": "0.3.28", - "@firebase/functions": "0.11.3", - "@firebase/functions-compat": "0.3.9", + "@firebase/firestore": "4.6.0", + "@firebase/firestore-compat": "0.3.29", + "@firebase/functions": "0.11.4", + "@firebase/functions-compat": "0.3.10", "@firebase/installations": "0.6.6", "@firebase/installations-compat": "0.2.6", - "@firebase/messaging": "0.12.7", - "@firebase/messaging-compat": "0.2.7", + "@firebase/messaging": "0.12.8", + "@firebase/messaging-compat": "0.2.8", "@firebase/performance": "0.6.6", "@firebase/performance-compat": "0.2.6", "@firebase/remote-config": "0.4.6", "@firebase/remote-config-compat": "0.2.6", - "@firebase/storage": "0.12.3", - "@firebase/storage-compat": "0.3.6", + "@firebase/storage": "0.12.4", + "@firebase/storage-compat": "0.3.7", "@firebase/util": "1.9.5" } }, @@ -10463,7 +10388,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -10479,7 +10403,6 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, "engines": { "node": ">=14" }, @@ -10743,8 +10666,7 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" }, "node_modules/glob/node_modules/brace-expansion": { "version": "1.1.11", @@ -11794,8 +11716,7 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/isobject": { "version": "3.0.1", @@ -11915,7 +11836,6 @@ "version": "2.3.6", "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -12152,7 +12072,6 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -12166,7 +12085,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -12175,7 +12093,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12750,7 +12667,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, "engines": { "node": ">=6.11.5" } @@ -13009,8 +12925,7 @@ "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" }, "node_modules/merge2": { "version": "1.4.1", @@ -13071,7 +12986,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -13080,7 +12994,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -13126,7 +13039,6 @@ "version": "9.0.3", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -13150,7 +13062,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -13472,8 +13383,7 @@ "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "node_modules/nice-napi": { "version": "1.0.2", @@ -13616,8 +13526,7 @@ "node_modules/node-releases": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/nopt": { "version": "7.2.0", @@ -13743,9 +13652,9 @@ } }, "node_modules/npm-registry-fetch": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.2.0.tgz", - "integrity": "sha512-zVH+G0q1O2hqgQBUvQ2LWp6ujr6VJAeDnmWxqiMlCguvLexEzBnuQIwC70r04vcvCMAcYEIpA/rO9YyVi+fmJQ==", + "version": "16.2.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.2.1.tgz", + "integrity": "sha512-8l+7jxhim55S85fjiDGJ1rZXBWGtRLi1OSb4Z3BPLObPuIaeKRlPRiYMSHU4/81ck3t71Z+UwDDl47gcpmfQQA==", "dev": true, "dependencies": { "@npmcli/redact": "^1.1.0", @@ -13755,12 +13664,21 @@ "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", "npm-package-arg": "^11.0.0", - "proc-log": "^3.0.0" + "proc-log": "^4.0.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/npm-registry-fetch/node_modules/proc-log": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.0.0.tgz", + "integrity": "sha512-v1lzmYxGDs2+OZnmYtYZK3DG8zogt+CbQ+o/iqqtTfpyCmGWulCTEQu5GIbivf7OjgIkH2Nr8SH8UxAGugZNbg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/npm-run-path": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", @@ -13786,13 +13704,13 @@ } }, "node_modules/nx": { - "version": "18.2.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-18.2.3.tgz", - "integrity": "sha512-4XGvvIzXeeeSj1hObiBL7E7aXX6rbiB1F856AqUdGoysYfkhcxOFyeAv5XsXeukl9gYwh/LH84paXjEOkGaJlA==", + "version": "18.2.4", + "resolved": "https://registry.npmjs.org/nx/-/nx-18.2.4.tgz", + "integrity": "sha512-GxqJcDOhfLa9jsPmip0jG73CZKA96wCryss2DhixCiCU66I3GLYF4+585ObO8Tx7Z1GqhT92RaNGjCxjMIwaPg==", "dev": true, "hasInstallScript": true, "dependencies": { - "@nrwl/tao": "18.2.3", + "@nrwl/tao": "18.2.4", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "3.0.0-rc.46", "@zkochan/js-yaml": "0.0.6", @@ -13832,16 +13750,16 @@ "nx-cloud": "bin/nx-cloud.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "18.2.3", - "@nx/nx-darwin-x64": "18.2.3", - "@nx/nx-freebsd-x64": "18.2.3", - "@nx/nx-linux-arm-gnueabihf": "18.2.3", - "@nx/nx-linux-arm64-gnu": "18.2.3", - "@nx/nx-linux-arm64-musl": "18.2.3", - "@nx/nx-linux-x64-gnu": "18.2.3", - "@nx/nx-linux-x64-musl": "18.2.3", - "@nx/nx-win32-arm64-msvc": "18.2.3", - "@nx/nx-win32-x64-msvc": "18.2.3" + "@nx/nx-darwin-arm64": "18.2.4", + "@nx/nx-darwin-x64": "18.2.4", + "@nx/nx-freebsd-x64": "18.2.4", + "@nx/nx-linux-arm-gnueabihf": "18.2.4", + "@nx/nx-linux-arm64-gnu": "18.2.4", + "@nx/nx-linux-arm64-musl": "18.2.4", + "@nx/nx-linux-x64-gnu": "18.2.4", + "@nx/nx-linux-x64-musl": "18.2.4", + "@nx/nx-win32-arm64-msvc": "18.2.4", + "@nx/nx-win32-x64-msvc": "18.2.4" }, "peerDependencies": { "@swc-node/register": "^1.8.0", @@ -13911,18 +13829,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/nx/node_modules/dotenv": { - "version": "16.3.2", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.2.tgz", - "integrity": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/motdotla/dotenv?sponsor=1" - } - }, "node_modules/nx/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14484,7 +14390,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -14502,7 +14407,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, "engines": { "node": ">=8" } @@ -14517,7 +14421,6 @@ "version": "1.10.2", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", - "dev": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -14533,7 +14436,6 @@ "version": "10.2.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, "engines": { "node": "14 || >=16.14" } @@ -14562,8 +14464,7 @@ "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "4.0.1", @@ -15063,7 +14964,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -15426,9 +15326,9 @@ } }, "node_modules/rollup": { - "version": "4.14.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.1.tgz", - "integrity": "sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==", + "version": "4.14.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.14.2.tgz", + "integrity": "sha512-WkeoTWvuBoFjFAhsEOHKRoZ3r9GfTyhh7Vff1zwebEFLEFjT1lG3784xEgKiTa7E+e70vsC81roVL2MP4tgEEQ==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -15441,21 +15341,21 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.14.1", - "@rollup/rollup-android-arm64": "4.14.1", - "@rollup/rollup-darwin-arm64": "4.14.1", - "@rollup/rollup-darwin-x64": "4.14.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.14.1", - "@rollup/rollup-linux-arm64-gnu": "4.14.1", - "@rollup/rollup-linux-arm64-musl": "4.14.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.14.1", - "@rollup/rollup-linux-riscv64-gnu": "4.14.1", - "@rollup/rollup-linux-s390x-gnu": "4.14.1", - "@rollup/rollup-linux-x64-gnu": "4.14.1", - "@rollup/rollup-linux-x64-musl": "4.14.1", - "@rollup/rollup-win32-arm64-msvc": "4.14.1", - "@rollup/rollup-win32-ia32-msvc": "4.14.1", - "@rollup/rollup-win32-x64-msvc": "4.14.1", + "@rollup/rollup-android-arm-eabi": "4.14.2", + "@rollup/rollup-android-arm64": "4.14.2", + "@rollup/rollup-darwin-arm64": "4.14.2", + "@rollup/rollup-darwin-x64": "4.14.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.14.2", + "@rollup/rollup-linux-arm64-gnu": "4.14.2", + "@rollup/rollup-linux-arm64-musl": "4.14.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.14.2", + "@rollup/rollup-linux-riscv64-gnu": "4.14.2", + "@rollup/rollup-linux-s390x-gnu": "4.14.2", + "@rollup/rollup-linux-x64-gnu": "4.14.2", + "@rollup/rollup-linux-x64-musl": "4.14.2", + "@rollup/rollup-win32-arm64-msvc": "4.14.2", + "@rollup/rollup-win32-ia32-msvc": "4.14.2", + "@rollup/rollup-win32-x64-msvc": "4.14.2", "fsevents": "~2.3.2" } }, @@ -15776,7 +15676,6 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, "dependencies": { "randombytes": "^2.1.0" } @@ -15919,7 +15818,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -15931,7 +15829,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, "engines": { "node": ">=8" } @@ -16126,9 +16023,9 @@ } }, "node_modules/socks": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", - "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", + "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", "dev": true, "dependencies": { "ip-address": "^9.0.5", @@ -16206,7 +16103,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -16216,7 +16112,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -16409,7 +16304,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -16484,7 +16378,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -16576,7 +16469,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, "engines": { "node": ">=6" } @@ -16669,7 +16561,6 @@ "version": "5.29.1", "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz", "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==", - "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", "acorn": "^8.8.2", @@ -16687,7 +16578,6 @@ "version": "5.3.10", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -16721,7 +16611,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -16737,7 +16626,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, "peerDependencies": { "ajv": "^6.9.1" } @@ -16745,14 +16633,12 @@ "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/terser-webpack-plugin/node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -17116,9 +17002,9 @@ } }, "node_modules/undici": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.7.1.tgz", - "integrity": "sha512-+Wtb9bAQw6HYWzCnxrPTMVEV3Q1QjYanI0E4q02ehReMuquQdLTEFEYbfs7hcImVYKcQkWSwT6buEmSVIiDDtQ==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.11.1.tgz", + "integrity": "sha512-KyhzaLJnV1qa3BSHdj4AZ2ndqI0QWPxYzaIOio0WzcEJB9gvuysprJSLtpvc2D9mhR9jPDUk7xlJlZbH2KR5iw==", "dev": true, "engines": { "node": ">=18.0" @@ -17224,7 +17110,6 @@ "version": "1.0.13", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -17323,9 +17208,9 @@ } }, "node_modules/vite": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.5.tgz", - "integrity": "sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==", + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.7.tgz", + "integrity": "sha512-sgnEEFTZYMui/sTlH1/XEnVNHMujOahPLGMxn1+5sIT45Xjng1Ec1K78jRP15dSmVgg5WBin9yO81j3o9OxofA==", "dev": true, "dependencies": { "esbuild": "^0.19.3", @@ -17796,7 +17681,6 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -17831,7 +17715,6 @@ "version": "5.90.3", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", - "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", @@ -18023,7 +17906,6 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, "engines": { "node": ">=10.13.0" } @@ -18053,7 +17935,6 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -18069,7 +17950,6 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, "peerDependencies": { "ajv": "^6.9.1" } @@ -18078,7 +17958,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -18091,7 +17970,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, "engines": { "node": ">=4.0" } @@ -18099,20 +17977,17 @@ "node_modules/webpack/node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, "node_modules/webpack/node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "node_modules/webpack/node_modules/schema-utils": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -18160,7 +18035,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, @@ -18272,7 +18146,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -18289,7 +18162,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -18304,7 +18176,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -18315,8 +18186,7 @@ "node_modules/wrap-ansi-cjs/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", @@ -18459,7 +18329,6 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 1356f79..38831a4 100644 --- a/package.json +++ b/package.json @@ -23,18 +23,20 @@ "@angular/platform-browser": "^17.0.2", "@angular/platform-browser-dynamic": "^17.0.2", "@angular/router": "^17.0.2", - "@capacitor/android": "5.7.4", + "@capacitor/android": "^5.7.4", "@capacitor/app": "5.0.7", "@capacitor/browser": "^5.2.0", "@capacitor/clipboard": "^5.0.7", + "@capacitor/core": "5.7.4", "@capacitor/haptics": "5.0.7", "@capacitor/keyboard": "5.0.8", "@capacitor/preferences": "^5.0.7", "@capacitor/share": "^5.0.7", "@capacitor/status-bar": "5.0.7", - "@ionic/angular": "^7.0.0", - "firebase": "^10.10.0", - "ionicons": "^7.0.0", + "@ionic/angular": "^7.5.0", + "@ngx-env/builder": "^17.3.0", + "firebase": "^10.11.0", + "ionicons": "^7.3.1", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.14.2" @@ -51,7 +53,6 @@ "@angular/language-service": "^17.0.2", "@capacitor/cli": "5.7.4", "@ionic/angular-toolkit": "^11.0.1", - "@ngx-env/builder": "^17.3.0", "@types/jasmine": "~5.1.0", "@typescript-eslint/eslint-plugin": "^6.0.0", "@typescript-eslint/parser": "^6.0.0", diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts deleted file mode 100644 index 25e8c67..0000000 --- a/src/app/app-routing.module.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { NgModule } from '@angular/core'; -import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; -import { AuthGuard } from './services/auth-guard.service'; - -const routes: Routes = [ - { - path: 'home', - canActivate: [AuthGuard], - loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) - }, - { - path: '', - redirectTo: 'home', - pathMatch: 'full' - }, - { - path: 'perfil', - canActivate: [AuthGuard], - loadChildren: () => import('./perfil/perfil.module').then( m => m.PerfilPageModule) - }, - { - path: 'login', - loadChildren: () => import('./login/login.module').then( m => m.LoginPageModule) - }, -]; - -@NgModule({ - imports: [ - RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules }) - ], - exports: [RouterModule] -}) -export class AppRoutingModule { } diff --git a/src/app/app.component.html b/src/app/app.component.html index dc06b99..0b0ed43 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,10 +1,11 @@ - + Menu + @@ -20,7 +21,7 @@ - + Sair @@ -29,4 +30,4 @@ - \ No newline at end of file + diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 51b7b65..224462e 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,21 +1,16 @@ -import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; import { TestBed } from '@angular/core/testing'; - +import { RouterTestingModule } from '@angular/router/testing'; import { AppComponent } from './app.component'; describe('AppComponent', () => { - - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [AppComponent], - schemas: [CUSTOM_ELEMENTS_SCHEMA], - }).compileComponents(); - }); - it('should create the app', () => { + TestBed.overrideComponent(AppComponent, { + add: { + imports: [RouterTestingModule] + } + }); const fixture = TestBed.createComponent(AppComponent); const app = fixture.componentInstance; expect(app).toBeTruthy(); }); - }); diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 7949073..c8466a4 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,15 +1,55 @@ import { Component } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { + IonApp, + IonRouterOutlet, + IonItem, + IonMenu, + IonHeader, + IonToolbar, + IonTitle, + IonContent, + IonList, + IonIcon, + IonLabel, + IonMenuToggle, + IonRouterLink, +} from '@ionic/angular/standalone'; import { AuthService } from './services/auth.service'; +import { addIcons } from 'ionicons'; +import { exitSharp, newspaperSharp, personSharp } from 'ionicons/icons'; @Component({ selector: 'app-root', templateUrl: 'app.component.html', - styleUrls: ['app.component.scss'], + standalone: true, + imports: [ + IonItem, + IonApp, + IonRouterOutlet, + IonMenu, + IonHeader, + IonToolbar, + IonTitle, + IonContent, + IonList, + IonIcon, + IonLabel, + IonMenuToggle, + IonRouterLink, + RouterLink, + ], }) export class AppComponent { - constructor(private auth: AuthService) {} + constructor(private auth: AuthService) { + addIcons({ + 'newspaper-sharp': newspaperSharp, + 'person-sharp': personSharp, + 'exit-sharp': exitSharp + }) + } - async signOut() { + async logout() { await this.auth.signOut(); } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts deleted file mode 100644 index 8e0c6bc..0000000 --- a/src/app/app.module.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { AngularFireModule } from '@angular/fire/compat' -import { AngularFirestoreModule } from '@angular/fire/compat/firestore'; -import { NgModule } from '@angular/core'; -import { BrowserModule } from '@angular/platform-browser'; -import { RouteReuseStrategy } from '@angular/router'; - -import { IonicModule, IonicRouteStrategy } from '@ionic/angular'; - -import { AppComponent } from './app.component'; -import { AppRoutingModule } from './app-routing.module'; -import { HttpClientModule } from '@angular/common/http'; -import { NewsService } from './services/news.service'; -import { UtilsService } from './services/utils.service'; -import { firebaseConfig } from './credentials'; -import { AngularFireAuthModule } from '@angular/fire/compat/auth'; -import { AuthService } from './services/auth.service'; - -@NgModule({ - declarations: [AppComponent], - imports: [ - BrowserModule, - IonicModule.forRoot(), - AppRoutingModule, - HttpClientModule, - AngularFireModule.initializeApp(firebaseConfig), - AngularFirestoreModule, - AngularFireAuthModule - ], - providers: [ - { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }, - UtilsService, - NewsService, - AuthService - ], - bootstrap: [AppComponent], -}) -export class AppModule {} diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts new file mode 100644 index 0000000..c41d0e1 --- /dev/null +++ b/src/app/app.routes.ts @@ -0,0 +1,24 @@ +import { Routes } from '@angular/router'; +import { AuthGuardService } from './services/auth-guard.service'; + +export const routes: Routes = [ + { + path: 'home', + canActivate: [AuthGuardService], + loadComponent: () => import('./pages/home/home.page').then((m) => m.HomePage), + }, + { + path: '', + redirectTo: 'home', + pathMatch: 'full', + }, + { + path: 'perfil', + canActivate: [AuthGuardService], + loadComponent: () => import('./pages/perfil/perfil.page').then( m => m.PerfilPage) + }, + { + path: 'login', + loadComponent: () => import('./pages/login/login.page').then( m => m.LoginPage) + }, +]; diff --git a/src/app/components/header/header.component.html b/src/app/components/header/header.component.html new file mode 100644 index 0000000..1b2e56d --- /dev/null +++ b/src/app/components/header/header.component.html @@ -0,0 +1,10 @@ + + + + {{title}} + + + + + + diff --git a/src/app/components/header/header.component.scss b/src/app/components/header/header.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/components/header/header.component.spec.ts b/src/app/components/header/header.component.spec.ts new file mode 100644 index 0000000..f1d6f0c --- /dev/null +++ b/src/app/components/header/header.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { HeaderComponent } from './header.component'; + +describe('HeaderComponent', () => { + let component: HeaderComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ HeaderComponent ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(HeaderComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/components/header/header.component.ts b/src/app/components/header/header.component.ts new file mode 100644 index 0000000..135bd1a --- /dev/null +++ b/src/app/components/header/header.component.ts @@ -0,0 +1,16 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { IonButtons, IonHeader, IonMenuButton, IonTitle, IonToolbar } from '@ionic/angular/standalone'; + +@Component({ + selector: 'app-header', + templateUrl: './header.component.html', + styleUrls: ['./header.component.scss'], + standalone: true, + imports: [IonHeader, IonToolbar, IonTitle, IonButtons, IonMenuButton], +}) +export class HeaderComponent implements OnInit { + @Input() title: string = 'News'; + constructor() {} + + ngOnInit() {} +} diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts deleted file mode 100644 index 29c3f60..0000000 --- a/src/app/home/home-routing.module.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NgModule } from '@angular/core'; -import { RouterModule, Routes } from '@angular/router'; -import { HomePage } from './home.page'; - -const routes: Routes = [ - { - path: '', - component: HomePage, - } -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] -}) -export class HomePageRoutingModule {} diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts deleted file mode 100644 index a554f01..0000000 --- a/src/app/home/home.module.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { IonicModule } from '@ionic/angular'; -import { FormsModule } from '@angular/forms'; -import { HomePage } from './home.page'; - -import { HomePageRoutingModule } from './home-routing.module'; - - -@NgModule({ - imports: [ - CommonModule, - FormsModule, - IonicModule, - HomePageRoutingModule - ], - declarations: [HomePage] -}) -export class HomePageModule {} diff --git a/src/app/home/home.page.scss b/src/app/home/home.page.scss deleted file mode 100644 index c738a6e..0000000 --- a/src/app/home/home.page.scss +++ /dev/null @@ -1,3 +0,0 @@ -.margin-right{ - margin-right: 20px; -} \ No newline at end of file diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts deleted file mode 100644 index 25c138d..0000000 --- a/src/app/home/home.page.ts +++ /dev/null @@ -1,94 +0,0 @@ -import { UtilsService } from '../services/utils.service'; -import { NewsService } from './../services/news.service'; -import { Component, OnInit } from '@angular/core'; -import { Browser } from '@capacitor/browser'; -import { Clipboard } from '@capacitor/clipboard'; -import { Share } from '@capacitor/share'; -import { InfiniteScrollCustomEvent } from '@ionic/angular'; -import { AuthService } from '../services/auth.service'; - -@Component({ - selector: 'app-home', - templateUrl: 'home.page.html', - styleUrls: ['home.page.scss', '../app.component.scss'], -}) -export class HomePage implements OnInit { - public items: any = []; - private page: number = 1; - private readonly qtyItems: number = 15; - - - constructor(private newsService: NewsService, public utils: UtilsService, public auth: AuthService) {} - - ngOnInit() { - this.generateItems(); - } - - private generateItems() { - this.newsService.getNews(this.qtyItems, this.page).subscribe( - (data: any) => { - const items = data.items.map((item: any) => { - const images = JSON.parse(item.imagens); - const imageLink = `https://agenciadenoticias.ibge.gov.br/${images.image_intro}`; - return { - title: item.titulo, - intro: item.introducao, - date: item.data_publicacao - ? item.data_publicacao.substring(0, 10) - : '', - image: imageLink, - link: item.link, - }; - }); - const filteredItems = items.filter( - (newItem: any) => - !this.items.some((item: any) => item.link === newItem.link) - ); - - if (filteredItems.length > 0) { - this.items = [...this.items, ...filteredItems]; - this.page++; - } - - }, - async () => { - await this.utils.toastMesage('Error', 'Erro ao carregar as notícias'); - } - ); - } - - onIonInfinite(ev: any) { - this.generateItems(); - setTimeout(() => { - ( - (ev as InfiniteScrollCustomEvent).target as HTMLIonInfiniteScrollElement - ).complete(); - }, 3000); - } - - async copyLink(link: string) { - try { - await Clipboard.write({ - string: link, - }); - await this.utils.toastMesage( - '', - 'Link copiado para a área de transferência' - ); - } catch (error: any) { - await this.utils.toastMesage('Error', 'Erro ao copiar o link'); - } - } - - async shareNews(url: string) { - try { - await Share.share({ - url, - }); - } catch {} - } - - async openNews(url: string) { - await Browser.open({ url }); - } -} diff --git a/src/app/login/login-routing.module.ts b/src/app/login/login-routing.module.ts deleted file mode 100644 index 29ef3a2..0000000 --- a/src/app/login/login-routing.module.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - -import { LoginPage } from './login.page'; - -const routes: Routes = [ - { - path: '', - component: LoginPage - } -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule], -}) -export class LoginPageRoutingModule {} diff --git a/src/app/login/login.module.ts b/src/app/login/login.module.ts deleted file mode 100644 index 5eda226..0000000 --- a/src/app/login/login.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; - -import { IonicModule } from '@ionic/angular'; - -import { LoginPageRoutingModule } from './login-routing.module'; - -import { LoginPage } from './login.page'; - -@NgModule({ - imports: [ - CommonModule, - FormsModule, - IonicModule, - LoginPageRoutingModule - ], - declarations: [LoginPage] -}) -export class LoginPageModule {} diff --git a/src/app/home/home.page.html b/src/app/pages/home/home.page.html similarity index 93% rename from src/app/home/home.page.html rename to src/app/pages/home/home.page.html index d05656a..f1e3e8a 100644 --- a/src/app/home/home.page.html +++ b/src/app/pages/home/home.page.html @@ -1,4 +1,4 @@ - + + + +
diff --git a/src/app/pages/home/home.page.scss b/src/app/pages/home/home.page.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/home/home.page.spec.ts b/src/app/pages/home/home.page.spec.ts similarity index 69% rename from src/app/home/home.page.spec.ts rename to src/app/pages/home/home.page.spec.ts index 26eb973..fe8f195 100644 --- a/src/app/home/home.page.spec.ts +++ b/src/app/pages/home/home.page.spec.ts @@ -1,5 +1,4 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { IonicModule } from '@ionic/angular'; import { HomePage } from './home.page'; @@ -8,11 +7,6 @@ describe('HomePage', () => { let fixture: ComponentFixture; beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [HomePage], - imports: [IonicModule.forRoot()] - }).compileComponents(); - fixture = TestBed.createComponent(HomePage); component = fixture.componentInstance; fixture.detectChanges(); diff --git a/src/app/pages/home/home.page.ts b/src/app/pages/home/home.page.ts new file mode 100644 index 0000000..da1d0eb --- /dev/null +++ b/src/app/pages/home/home.page.ts @@ -0,0 +1,163 @@ +import { CommonModule } from '@angular/common'; +import { Component, OnInit } from '@angular/core'; +import { + InfiniteScrollCustomEvent, + IonButton, + IonButtons, + IonCard, + IonCardContent, + IonCardHeader, + IonCardSubtitle, + IonCardTitle, + IonCol, + IonContent, + IonFab, + IonFabButton, + IonFabList, + IonGrid, + IonHeader, + IonIcon, + IonImg, + IonInfiniteScrollContent, + IonItem, + IonList, + IonMenuButton, + IonRow, + IonSearchbar, + IonTitle, + IonToolbar, + IonInfiniteScroll, + ToastController, +} from '@ionic/angular/standalone'; +import { NewsService } from 'src/app/services/news.service'; +import { Share } from '@capacitor/share'; +import { Clipboard } from '@capacitor/clipboard'; +import { Browser } from '@capacitor/browser'; +import { addIcons } from 'ionicons'; +import { document, globe, shareSocialSharp } from 'ionicons/icons'; +import { HeaderComponent } from 'src/app/components/header/header.component'; + +@Component({ + selector: 'app-home', + templateUrl: 'home.page.html', + styleUrls: ['home.page.scss', '../../app.component.scss'], + standalone: true, + imports: [ + CommonModule, + HeaderComponent, + IonInfiniteScroll, + IonHeader, + IonToolbar, + IonTitle, + IonButtons, + IonMenuButton, + IonContent, + IonList, + IonItem, + IonSearchbar, + IonCard, + IonImg, + IonCardHeader, + IonCardTitle, + IonCardSubtitle, + IonCardContent, + IonGrid, + IonRow, + IonCol, + IonButton, + IonFab, + IonFabButton, + IonFabList, + IonIcon, + IonInfiniteScrollContent + ], +}) +export class HomePage implements OnInit { + public items: any = []; + private page: number = 1; + private readonly qtyItems: number = 15; + + constructor(private news: NewsService, private toast: ToastController) {} + + ngOnInit() { + addIcons({ + "share-social-sharp": shareSocialSharp, + "document": document, + "globe": globe + }) + this.generateItems(); + } + + private generateItems() { + this.news.getNews(this.qtyItems, this.page).subscribe( + (data: any) => { + const items = data.items.map((item: any) => { + const images = JSON.parse(item.imagens); + const imageLink = `https://agenciadenoticias.ibge.gov.br/${images.image_intro}`; + return { + title: item.titulo, + intro: item.introducao, + date: item.data_publicacao + ? item.data_publicacao.substring(0, 10) + : '', + image: imageLink, + link: item.link, + }; + }); + const filteredItems = items.filter( + (newItem: any) => + !this.items.some((item: any) => item.link === newItem.link) + ); + + if (filteredItems.length > 0) { + this.items = [...this.items, ...filteredItems]; + this.page++; + } + }, + async () => { + await this.toastMessage('Erro', 'Erro ao carregar notícias'); + } + ); + } + + onIonInfinite(ev: any) { + this.generateItems(); + setTimeout(() => { + ( + (ev as InfiniteScrollCustomEvent).target as HTMLIonInfiniteScrollElement + ).complete(); + }, 3000); + } + + async copyLink(link: string) { + try { + await Clipboard.write({ + string: link, + }); + } catch (error: any) { + this.toastMessage('Erro', error.message); + } + } + + async shareNews(url: string) { + try { + await Share.share({ + url, + }); + } catch {} + } + + async openNews(url: string) { + await Browser.open({ url }); + } + + async toastMessage(header: string, message: string){ + const toastMessage = await this.toast.create({ + header, + message, + duration: 3500, + }); + + await toastMessage.present(); + } +} diff --git a/src/app/login/login.page.html b/src/app/pages/login/login.page.html similarity index 72% rename from src/app/login/login.page.html rename to src/app/pages/login/login.page.html index f1bc0c1..a986935 100644 --- a/src/app/login/login.page.html +++ b/src/app/pages/login/login.page.html @@ -5,18 +5,14 @@

Login

- + - +
Criar Conta Esqueceu a senha? - - -
-
Enviar Limpar diff --git a/src/app/login/login.page.scss b/src/app/pages/login/login.page.scss similarity index 90% rename from src/app/login/login.page.scss rename to src/app/pages/login/login.page.scss index a16ed3b..49c49dd 100644 --- a/src/app/login/login.page.scss +++ b/src/app/pages/login/login.page.scss @@ -1,8 +1,8 @@ ion-content{ - --background: url('../../assets/img/fundo.jpg'); -} - -#container { + --background: url('../../../assets/img/fundo.jpg'); + } + + #container { text-align: center; display: flex; justify-content: center; diff --git a/src/app/login/login.page.spec.ts b/src/app/pages/login/login.page.spec.ts similarity index 100% rename from src/app/login/login.page.spec.ts rename to src/app/pages/login/login.page.spec.ts diff --git a/src/app/login/login.page.ts b/src/app/pages/login/login.page.ts similarity index 65% rename from src/app/login/login.page.ts rename to src/app/pages/login/login.page.ts index 2c74fb5..2943daa 100644 --- a/src/app/login/login.page.ts +++ b/src/app/pages/login/login.page.ts @@ -1,12 +1,34 @@ -import { Component, OnInit } from '@angular/core'; -import { AuthService } from '../services/auth.service'; -import { LoadingController } from '@ionic/angular'; +import { Component } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { + IonContent, + IonHeader, + IonTitle, + IonToolbar, + IonButton, + LoadingController, + IonInput, + MenuController, +} from '@ionic/angular/standalone'; +import { AuthService } from 'src/app/services/auth.service'; import { Router } from '@angular/router'; @Component({ selector: 'app-login', templateUrl: './login.page.html', styleUrls: ['./login.page.scss'], + standalone: true, + imports: [ + IonInput, + IonButton, + IonContent, + IonHeader, + IonTitle, + IonToolbar, + CommonModule, + FormsModule, + ], }) export class LoginPage { email: string = ''; @@ -18,9 +40,17 @@ export class LoginPage { constructor( public auth: AuthService, private loadingControler: LoadingController, - private router: Router + private router: Router, + private menu: MenuController ) {} + ionViewWillEnter(){ + this.menu.enable(false); + } + ionViewWillLeave(){ + this.menu.enable(true); + } + private errorMessage(message: string) { this.error = message; if (this.messageTimeout) clearTimeout(this.messageTimeout); @@ -38,9 +68,7 @@ export class LoginPage { } async googleAuth() { - await this.showLoading(); const error = await this.auth.googleSignIn(); - await this.dimisLoading(); error ? this.errorMessage(error) : this.router.navigate(['/']); } diff --git a/src/app/perfil/perfil.page.html b/src/app/pages/perfil/perfil.page.html similarity index 94% rename from src/app/perfil/perfil.page.html rename to src/app/pages/perfil/perfil.page.html index c6c2f51..9aa3d02 100644 --- a/src/app/perfil/perfil.page.html +++ b/src/app/pages/perfil/perfil.page.html @@ -1,13 +1,4 @@ - - - - Perfil - - - - - - +
diff --git a/src/app/perfil/perfil.page.scss b/src/app/pages/perfil/perfil.page.scss similarity index 100% rename from src/app/perfil/perfil.page.scss rename to src/app/pages/perfil/perfil.page.scss diff --git a/src/app/perfil/perfil.page.spec.ts b/src/app/pages/perfil/perfil.page.spec.ts similarity index 100% rename from src/app/perfil/perfil.page.spec.ts rename to src/app/pages/perfil/perfil.page.spec.ts diff --git a/src/app/pages/perfil/perfil.page.ts b/src/app/pages/perfil/perfil.page.ts new file mode 100644 index 0000000..a625fde --- /dev/null +++ b/src/app/pages/perfil/perfil.page.ts @@ -0,0 +1,61 @@ +import { Component, OnInit } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { + IonContent, + IonHeader, + IonTitle, + IonToolbar, + IonItem, + IonList, + IonButtons, + IonMenuButton, + IonImg, + IonAccordionGroup, + IonAccordion, + IonLabel, + IonCard, + IonCardHeader, + IonCardTitle, + IonCardSubtitle, + IonCardContent, +} from '@ionic/angular/standalone'; +import { AuthService } from 'src/app/services/auth.service'; +import { HeaderComponent } from 'src/app/components/header/header.component'; + +@Component({ + selector: 'app-perfil', + templateUrl: './perfil.page.html', + styleUrls: ['./perfil.page.scss', '../../app.component.scss'], + standalone: true, + imports: [ + HeaderComponent, + IonList, + IonItem, + IonContent, + IonHeader, + IonTitle, + IonToolbar, + CommonModule, + FormsModule, + IonButtons, + IonMenuButton, + IonImg, + IonAccordionGroup, + IonAccordion, + IonLabel, + IonCard, + IonCardHeader, + IonCardTitle, + IonCardSubtitle, + IonCardContent, + ], +}) +export class PerfilPage implements OnInit { + pageTittle: string = 'Perfil'; + constructor( + public auth: AuthService, + ) {} + + ngOnInit() {} +} diff --git a/src/app/perfil/perfil-routing.module.ts b/src/app/perfil/perfil-routing.module.ts deleted file mode 100644 index e6ccf9f..0000000 --- a/src/app/perfil/perfil-routing.module.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - -import { PerfilPage } from './perfil.page'; - -const routes: Routes = [ - { - path: '', - component: PerfilPage - } -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule], -}) -export class PerfilPageRoutingModule {} diff --git a/src/app/perfil/perfil.module.ts b/src/app/perfil/perfil.module.ts deleted file mode 100644 index 78692f2..0000000 --- a/src/app/perfil/perfil.module.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { NgModule } from '@angular/core'; -import { CommonModule } from '@angular/common'; -import { FormsModule } from '@angular/forms'; - -import { IonicModule } from '@ionic/angular'; - -import { PerfilPageRoutingModule } from './perfil-routing.module'; - -import { PerfilPage } from './perfil.page'; - -@NgModule({ - imports: [ - CommonModule, - FormsModule, - IonicModule, - PerfilPageRoutingModule - ], - declarations: [PerfilPage] -}) -export class PerfilPageModule {} diff --git a/src/app/perfil/perfil.page.ts b/src/app/perfil/perfil.page.ts deleted file mode 100644 index 87afa2e..0000000 --- a/src/app/perfil/perfil.page.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-perfil', - templateUrl: './perfil.page.html', - styleUrls: ['./perfil.page.scss', '../app.component.scss'], -}) -export class PerfilPage { - - constructor() { } - -} diff --git a/src/app/services/auth-guard.service.ts b/src/app/services/auth-guard.service.ts index cafd160..94ca916 100644 --- a/src/app/services/auth-guard.service.ts +++ b/src/app/services/auth-guard.service.ts @@ -3,22 +3,17 @@ import { CanActivate, Router } from '@angular/router'; import { AuthService } from './auth.service'; @Injectable({ - providedIn: 'root', + providedIn: 'root' }) -export class AuthGuard implements CanActivate { +export class AuthGuardService implements CanActivate { - constructor(private auth: AuthService, private router: Router) {} + constructor(private auth: AuthService, private router: Router) { } async canActivate() { try { - const result = await this.auth.isLogged(); - if (!result) { - this.router.navigate(['/login']); - return false; - } - - return true; - } catch (error) { + await this.auth.isLogged(); + return true + } catch { this.router.navigate(['/login']); return false; } diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts index 7fee13e..58693ad 100644 --- a/src/app/services/auth.service.ts +++ b/src/app/services/auth.service.ts @@ -1,9 +1,9 @@ import { Injectable } from '@angular/core'; import { AngularFireAuth } from '@angular/fire/compat/auth'; import firebase from 'firebase/compat/app'; -import { firebaseError } from '../utils/firebase/errorFirebase'; import { Router } from '@angular/router'; import { Preferences } from '@capacitor/preferences'; +import { firebaseError } from '../utils/errorFirebase'; @Injectable({ providedIn: 'root', @@ -13,10 +13,7 @@ export class AuthService { async createUser(email: string, password: string) { try { - await this.auth.createUserWithEmailAndPassword( - email, - password - ); + await this.auth.createUserWithEmailAndPassword(email, password); return; } catch (error) { @@ -81,23 +78,33 @@ export class AuthService { } } - async isLogged(): Promise { + async isLogged() { return new Promise((resolve, reject) => { - this.auth.authState.subscribe( + return this.auth.authState.subscribe( (user) => { if (user) { - resolve(user); + this.refreshToken(user); + resolve(true); } else { - reject('Usuário não logado'); + reject(false); } }, - (error) => { - reject(error); + () => { + reject(false); } ); }); } + async refreshToken(user: any) { + try { + await user?.getIdTokenResult(true); + return true; + } catch (error) { + return null; + } + } + async getUser() { try { const user = await this.auth.currentUser; @@ -107,21 +114,21 @@ export class AuthService { } } - async getToken(key: string) { + async getStorage(key: string) { try { - const token = await Preferences.get({ key }); - return token.value; + const result = await Preferences.get({ key }); + return result.value; } catch (error) { - return 'Erro interno do servidor' + return 'Erro interno do servidor'; } } - async setToken(key: string, value: any) { + async setStorage(key: string, value: any) { try { await Preferences.set({ key, value }); return; } catch (error) { - return 'Erro interno do servidor' + return 'Erro interno do servidor'; } } } diff --git a/src/app/services/news.service.ts b/src/app/services/news.service.ts index 2e1e1c5..d2d6d44 100644 --- a/src/app/services/news.service.ts +++ b/src/app/services/news.service.ts @@ -7,7 +7,7 @@ import { Injectable } from '@angular/core'; export class NewsService { constructor(private http: HttpClient) {} - public getNews(qtd: number = 10, page: number = 1) { + getNews(qtd: number = 10, page: number = 1) { return this.http.get( `https://servicodados.ibge.gov.br/api/v3/noticias/?qtd=${qtd}&page=${page}` ); diff --git a/src/app/services/utils.service.spec.ts b/src/app/services/utils.service.spec.ts deleted file mode 100644 index d70aee3..0000000 --- a/src/app/services/utils.service.spec.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { TestBed } from '@angular/core/testing'; - -import { UtilsService } from './utils.service'; - -describe('UtilsService', () => { - let service: UtilsService; - - beforeEach(() => { - TestBed.configureTestingModule({}); - service = TestBed.inject(UtilsService); - }); - - it('should be created', () => { - expect(service).toBeTruthy(); - }); -}); diff --git a/src/app/services/utils.service.ts b/src/app/services/utils.service.ts deleted file mode 100644 index 5b4b5a0..0000000 --- a/src/app/services/utils.service.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Injectable } from '@angular/core'; -import { ToastController } from '@ionic/angular'; - -@Injectable({ - providedIn: 'root', -}) -export class UtilsService { - constructor(private toast: ToastController) {} - - public async toastMesage(header: string, message: string) { - const toastMessage = await this.toast.create({ - header, - message, - duration: 3500, - }); - - toastMessage.present(); - } - - public teste(){ - return import.meta.env['NG_APP_API_KEY'] - } -} diff --git a/src/app/utils/firebase/errorFirebase.ts b/src/app/utils/errorFirebase.ts similarity index 100% rename from src/app/utils/firebase/errorFirebase.ts rename to src/app/utils/errorFirebase.ts diff --git a/src/app/utils/firebase/errorObjMessage.ts b/src/app/utils/errorObjMessage.ts similarity index 100% rename from src/app/utils/firebase/errorObjMessage.ts rename to src/app/utils/errorObjMessage.ts diff --git a/src/env.d.ts b/src/env.d.ts index f27c3a9..2fdf0a8 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -1,27 +1,12 @@ -// Define the type of the environment variables. declare interface Env { readonly NODE_ENV: string; - // Replace the following with your own environment variables. - // Example: NGX_VERSION: string; [key: string]: any; } -// Choose how to access the environment variables. -// Remove the unused options. - -// 1. Use import.meta.env.YOUR_ENV_VAR in your code. (conventional) declare interface ImportMeta { readonly env: Env; } - -// 2. Use _NGX_ENV_.YOUR_ENV_VAR in your code. (customizable) -// You can modify the name of the variable in angular.json. -// ngxEnv: { -// define: '_NGX_ENV_', -// } declare const _NGX_ENV_: Env; - -// 3. Use process.env.YOUR_ENV_VAR in your code. (deprecated) declare namespace NodeJS { export interface ProcessEnv extends Env {} } diff --git a/src/index.html b/src/index.html index a4a7ff8..3b0aae1 100644 --- a/src/index.html +++ b/src/index.html @@ -3,7 +3,7 @@ - Agência de Notícias - IBGE + Ionic App diff --git a/src/main.ts b/src/main.ts index 91ec6da..78f588d 100644 --- a/src/main.ts +++ b/src/main.ts @@ -1,12 +1,31 @@ -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { enableProdMode, importProvidersFrom } from '@angular/core'; +import { bootstrapApplication } from '@angular/platform-browser'; +import { RouteReuseStrategy, provideRouter } from '@angular/router'; +import { + IonicRouteStrategy, + provideIonicAngular, +} from '@ionic/angular/standalone'; -import { AppModule } from './app/app.module'; +import { routes } from './app/app.routes'; +import { AppComponent } from './app/app.component'; import { environment } from './environments/environment'; +import { provideHttpClient } from '@angular/common/http'; + +import { firebaseConfig } from './app/credentials'; +import { AngularFireModule } from '@angular/fire/compat'; if (environment.production) { enableProdMode(); } -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.log(err)); +bootstrapApplication(AppComponent, { + providers: [ + { provide: RouteReuseStrategy, useClass: IonicRouteStrategy }, + provideIonicAngular(), + provideRouter(routes), + provideHttpClient(), + importProvidersFrom( + AngularFireModule.initializeApp(firebaseConfig), + ), + ], +}); diff --git a/src/polyfills.ts b/src/polyfills.ts index 394705a..e2cc080 100644 --- a/src/polyfills.ts +++ b/src/polyfills.ts @@ -41,7 +41,7 @@ * (window as any).__Zone_enable_cross_context_check = true; * */ - + import './zone-flags'; /*************************************************************************************************** diff --git a/src/theme/variables.scss b/src/theme/variables.scss index 83ba539..da4132f 100644 --- a/src/theme/variables.scss +++ b/src/theme/variables.scss @@ -86,65 +86,65 @@ body { --ion-color-primary: #428cff; - --ion-color-primary-rgb: 66, 140, 255; + --ion-color-primary-rgb: 66,140,255; --ion-color-primary-contrast: #ffffff; - --ion-color-primary-contrast-rgb: 255, 255, 255; + --ion-color-primary-contrast-rgb: 255,255,255; --ion-color-primary-shade: #3a7be0; --ion-color-primary-tint: #5598ff; --ion-color-secondary: #50c8ff; - --ion-color-secondary-rgb: 80, 200, 255; + --ion-color-secondary-rgb: 80,200,255; --ion-color-secondary-contrast: #ffffff; - --ion-color-secondary-contrast-rgb: 255, 255, 255; + --ion-color-secondary-contrast-rgb: 255,255,255; --ion-color-secondary-shade: #46b0e0; --ion-color-secondary-tint: #62ceff; --ion-color-tertiary: #6a64ff; - --ion-color-tertiary-rgb: 106, 100, 255; + --ion-color-tertiary-rgb: 106,100,255; --ion-color-tertiary-contrast: #ffffff; - --ion-color-tertiary-contrast-rgb: 255, 255, 255; + --ion-color-tertiary-contrast-rgb: 255,255,255; --ion-color-tertiary-shade: #5d58e0; --ion-color-tertiary-tint: #7974ff; --ion-color-success: #2fdf75; - --ion-color-success-rgb: 47, 223, 117; + --ion-color-success-rgb: 47,223,117; --ion-color-success-contrast: #000000; - --ion-color-success-contrast-rgb: 0, 0, 0; + --ion-color-success-contrast-rgb: 0,0,0; --ion-color-success-shade: #29c467; --ion-color-success-tint: #44e283; --ion-color-warning: #ffd534; - --ion-color-warning-rgb: 255, 213, 52; + --ion-color-warning-rgb: 255,213,52; --ion-color-warning-contrast: #000000; - --ion-color-warning-contrast-rgb: 0, 0, 0; + --ion-color-warning-contrast-rgb: 0,0,0; --ion-color-warning-shade: #e0bb2e; --ion-color-warning-tint: #ffd948; --ion-color-danger: #ff4961; - --ion-color-danger-rgb: 255, 73, 97; + --ion-color-danger-rgb: 255,73,97; --ion-color-danger-contrast: #ffffff; - --ion-color-danger-contrast-rgb: 255, 255, 255; + --ion-color-danger-contrast-rgb: 255,255,255; --ion-color-danger-shade: #e04055; --ion-color-danger-tint: #ff5b71; --ion-color-dark: #f4f5f8; - --ion-color-dark-rgb: 244, 245, 248; + --ion-color-dark-rgb: 244,245,248; --ion-color-dark-contrast: #000000; - --ion-color-dark-contrast-rgb: 0, 0, 0; + --ion-color-dark-contrast-rgb: 0,0,0; --ion-color-dark-shade: #d7d8da; --ion-color-dark-tint: #f5f6f9; --ion-color-medium: #989aa2; - --ion-color-medium-rgb: 152, 154, 162; + --ion-color-medium-rgb: 152,154,162; --ion-color-medium-contrast: #000000; - --ion-color-medium-contrast-rgb: 0, 0, 0; + --ion-color-medium-contrast-rgb: 0,0,0; --ion-color-medium-shade: #86888f; --ion-color-medium-tint: #a2a4ab; --ion-color-light: #222428; - --ion-color-light-rgb: 34, 36, 40; + --ion-color-light-rgb: 34,36,40; --ion-color-light-contrast: #ffffff; - --ion-color-light-contrast-rgb: 255, 255, 255; + --ion-color-light-contrast-rgb: 255,255,255; --ion-color-light-shade: #1e2023; --ion-color-light-tint: #383a3e; @@ -158,10 +158,10 @@ .ios body { --ion-background-color: #000000; - --ion-background-color-rgb: 0, 0, 0; + --ion-background-color-rgb: 0,0,0; --ion-text-color: #ffffff; - --ion-text-color-rgb: 255, 255, 255; + --ion-text-color-rgb: 255,255,255; --ion-color-step-50: #0d0d0d; --ion-color-step-100: #1a1a1a; @@ -194,6 +194,7 @@ --ion-toolbar-border-color: var(--ion-color-step-250); } + /* * Material Design Dark Theme * ------------------------------------------- @@ -201,10 +202,10 @@ .md body { --ion-background-color: #121212; - --ion-background-color-rgb: 18, 18, 18; + --ion-background-color-rgb: 18,18,18; --ion-text-color: #ffffff; - --ion-text-color-rgb: 255, 255, 255; + --ion-text-color-rgb: 255,255,255; --ion-border-color: #222222; @@ -244,4 +245,4 @@ html { * https://ionicframework.com/docs/layout/dynamic-font-scaling */ --ion-dynamic-font: var(--ion-default-dynamic-font); -} +} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index e426762..6d869b4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,10 +18,7 @@ "importHelpers": true, "target": "es2022", "module": "es2020", - "lib": [ - "es2018", - "dom" - ], + "lib": ["es2018", "dom"], "useDefineForClassFields": false }, "angularCompilerOptions": {