From 6ff883c9823b89c727d25fcccf2df8c647b5c0ae Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Fri, 3 Feb 2023 19:37:47 +0100 Subject: [PATCH] message --- .gitignore | 3 +- package-lock.json | 757 ++++++++++++++++-- package.json | 2 + src/app/home/home.page.ts | 1 + .../approve-event-modal.page.ts | 4 +- .../approve-event/approve-event.page.ts | 22 +- .../gabinete-digital/gabinete-digital.page.ts | 5 +- src/app/services/background.service.ts | 1 - src/app/services/notifications.service.ts | 80 +- .../approve-event/approve-event.page.ts | 19 +- .../events-to-approve.page.ts | 3 +- .../store/eventoaprovacao-store.service.ts | 29 +- src/app/store/session.service.ts | 29 + src/assets/firebase-messaging-sw.js | 39 +- src/environments/environment.prod.ts | 2 +- src/index.html | 30 - version/git-version.ts | 14 +- 17 files changed, 871 insertions(+), 169 deletions(-) diff --git a/.gitignore b/.gitignore index 0dbfed9eb..c82b7773f 100644 --- a/.gitignore +++ b/.gitignore @@ -77,4 +77,5 @@ _www/ www2020 android copy/ report.* -src/plugin/src/ \ No newline at end of file +src/plugin/src/ +_node_modules/ \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index afca13576..58cc3a51c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,12 +18,14 @@ "@angular/cdk": "^11.2.13", "@angular/common": "^12.1.2", "@angular/core": "^12.1.2", + "@angular/fire": "^7.5.0", "@angular/forms": "~12.1.2", "@angular/localize": "^12.1.2", "@angular/material": "^11.2.13", "@angular/material-moment-adapter": "^12.0.5", "@angular/platform-browser": "~12.1.2", "@angular/platform-browser-dynamic": "~12.1.2", + "@angular/pwa": "^15.1.4", "@angular/router": "~12.1.2", "@awesome-cordova-plugins/core": "^5.40.0", "@awesome-cordova-plugins/document-viewer": "^5.41.0", @@ -1072,7 +1074,7 @@ }, "node_modules/@angular/cli": { "version": "12.1.2", - "dev": true, + "devOptional": true, "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -1107,7 +1109,7 @@ }, "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { "version": "0.1201.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@angular-devkit/core": "12.1.2", @@ -1121,7 +1123,7 @@ }, "node_modules/@angular/cli/node_modules/@angular-devkit/core": { "version": "12.1.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "ajv": "8.6.0", @@ -1139,7 +1141,7 @@ }, "node_modules/@angular/cli/node_modules/@angular-devkit/schematics": { "version": "12.1.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "@angular-devkit/core": "12.1.2", @@ -1154,7 +1156,7 @@ }, "node_modules/@angular/cli/node_modules/ajv": { "version": "8.6.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -1169,7 +1171,7 @@ }, "node_modules/@angular/cli/node_modules/ansi-escapes": { "version": "4.3.2", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "type-fest": "^0.21.3" @@ -1183,7 +1185,7 @@ }, "node_modules/@angular/cli/node_modules/cli-width": { "version": "3.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "engines": { "node": ">= 10" @@ -1191,7 +1193,7 @@ }, "node_modules/@angular/cli/node_modules/debug": { "version": "4.3.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "ms": "2.1.2" @@ -1207,7 +1209,7 @@ }, "node_modules/@angular/cli/node_modules/figures": { "version": "3.2.0", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" @@ -1221,7 +1223,7 @@ }, "node_modules/@angular/cli/node_modules/ini": { "version": "2.0.0", - "dev": true, + "devOptional": true, "license": "ISC", "engines": { "node": ">=10" @@ -1229,7 +1231,7 @@ }, "node_modules/@angular/cli/node_modules/inquirer": { "version": "8.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "ansi-escapes": "^4.2.1", @@ -1253,7 +1255,7 @@ }, "node_modules/@angular/cli/node_modules/open": { "version": "8.2.1", - "dev": true, + "devOptional": true, "license": "MIT", "dependencies": { "define-lazy-prop": "^2.0.0", @@ -1269,7 +1271,7 @@ }, "node_modules/@angular/cli/node_modules/pacote": { "version": "11.3.4", - "dev": true, + "devOptional": true, "license": "ISC", "dependencies": { "@npmcli/git": "^2.0.1", @@ -1301,7 +1303,7 @@ }, "node_modules/@angular/cli/node_modules/symbol-observable": { "version": "4.0.0", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=0.10" @@ -1309,7 +1311,7 @@ }, "node_modules/@angular/cli/node_modules/uuid": { "version": "8.3.2", - "dev": true, + "devOptional": true, "license": "MIT", "bin": { "uuid": "dist/bin/uuid" @@ -1393,6 +1395,157 @@ "zone.js": "~0.11.4" } }, + "node_modules/@angular/fire": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-7.5.0.tgz", + "integrity": "sha512-M/JJ5SKnpfNZFLKl0Awjn3r2NhURy2Mx+E8EzSDWSg1sHD7IThrynZYPUSZR+cd3KGsGoEacIP2x8Ra+0a+CVg==", + "dependencies": { + "@angular-devkit/schematics": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@schematics/angular": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "file-loader": "^6.2.0", + "firebase": "^9.8.0", + "fs-extra": "^8.0.1", + "fuzzy": "^0.1.3", + "inquirer": "^8.1.1", + "inquirer-autocomplete-prompt": "^1.0.1", + "jsonc-parser": "^3.0.0", + "node-fetch": "^2.6.1", + "open": "^8.0.0", + "ora": "^5.3.0", + "rxfire": "^6.0.0", + "semver": "^7.1.3", + "triple-beam": "^1.3.0", + "tslib": "^2.0.0", + "winston": "^3.0.0" + }, + "peerDependencies": { + "@angular/common": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@angular/core": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@angular/platform-browser": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@angular/platform-browser-dynamic": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "firebase-tools": "^9.9.0 || ^10.0.0 || ^11.0.0", + "rxjs": "~6.6.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "firebase-tools": { + "optional": true + } + } + }, + "node_modules/@angular/fire/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular/fire/node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@angular/fire/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular/fire/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/@angular/fire/node_modules/inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@angular/fire/node_modules/inquirer/node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@angular/fire/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/@angular/fire/node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@angular/fire/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/@angular/forms": { "version": "12.1.5", "license": "MIT", @@ -1560,6 +1713,141 @@ "@angular/platform-browser": "12.1.5" } }, + "node_modules/@angular/pwa": { + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular/pwa/-/pwa-15.1.4.tgz", + "integrity": "sha512-MtEWnozukUAUOXKTrOv9GewCqCW6Hj7zft1KeshmjqdOhu/qanUfkih9q2MtGjuwO1EeSiOjIH1nM//W2VjXBA==", + "dependencies": { + "@angular-devkit/schematics": "15.1.4", + "@schematics/angular": "15.1.4", + "parse5-html-rewriting-stream": "6.0.1" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/cli": "^15.0.0" + }, + "peerDependenciesMeta": { + "@angular/cli": { + "optional": true + } + } + }, + "node_modules/@angular/pwa/node_modules/@angular-devkit/core": { + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.4.tgz", + "integrity": "sha512-PW5MRmd9DHJR4FaXchwQtj9pXnsghSTnwRvfZeCRNYgU2sv0DKyTV+YTSJB+kNXnoPNG1Je6amDEkiXecpspXg==", + "dependencies": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular/pwa/node_modules/@angular-devkit/schematics": { + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.4.tgz", + "integrity": "sha512-jpddxo9Qd2yRQ1t9FLhAx5S+luz6HkyhDytq0LFKbxf9ikf1J4oy9riPBFl4pRmrNARWcHZ6GbD20/Ky8PjmXQ==", + "dependencies": { + "@angular-devkit/core": "15.1.4", + "jsonc-parser": "3.2.0", + "magic-string": "0.27.0", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/pwa/node_modules/@schematics/angular": { + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.4.tgz", + "integrity": "sha512-4SV8dDGZeSvts01b8y2W6FmpDD0dQhBlGMhMJKC/tUnhfNKfYCs2VKtMBsIc3ZiGP2yoA3+nUiMmtS6hEkXYHw==", + "dependencies": { + "@angular-devkit/core": "15.1.4", + "@angular-devkit/schematics": "15.1.4", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^14.20.0 || ^16.13.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/pwa/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular/pwa/node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/@angular/pwa/node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, + "node_modules/@angular/pwa/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@angular/pwa/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, "node_modules/@angular/router": { "version": "12.1.5", "license": "MIT", @@ -6054,7 +6342,6 @@ }, "node_modules/@schematics/angular": { "version": "12.1.2", - "dev": true, "license": "MIT", "dependencies": { "@angular-devkit/core": "12.1.2", @@ -6069,7 +6356,6 @@ }, "node_modules/@schematics/angular/node_modules/@angular-devkit/core": { "version": "12.1.2", - "dev": true, "license": "MIT", "dependencies": { "ajv": "8.6.0", @@ -6087,7 +6373,6 @@ }, "node_modules/@schematics/angular/node_modules/@angular-devkit/schematics": { "version": "12.1.2", - "dev": true, "license": "MIT", "dependencies": { "@angular-devkit/core": "12.1.2", @@ -6102,7 +6387,6 @@ }, "node_modules/@schematics/angular/node_modules/ajv": { "version": "8.6.0", - "dev": true, "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", @@ -6922,7 +7206,7 @@ }, "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", - "dev": true, + "devOptional": true, "license": "BSD-2-Clause" }, "node_modules/abab": { @@ -7327,7 +7611,7 @@ }, "node_modules/ansi-colors": { "version": "4.1.1", - "dev": true, + "devOptional": true, "license": "MIT", "engines": { "node": ">=6" @@ -11790,7 +12074,6 @@ }, "node_modules/define-lazy-prop": { "version": "2.0.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -13391,6 +13674,42 @@ "node": ">=4" } }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/fill-range": { "version": "7.0.1", "license": "MIT", @@ -13685,6 +14004,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/fuzzy": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz", + "integrity": "sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/g": { "version": "2.0.1", "license": "MIT" @@ -14855,6 +15182,52 @@ "node": ">=6.0.0" } }, + "node_modules/inquirer-autocomplete-prompt": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.4.0.tgz", + "integrity": "sha512-qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==", + "dependencies": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "figures": "^3.2.0", + "run-async": "^2.4.0", + "rxjs": "^6.6.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "inquirer": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inquirer-autocomplete-prompt/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/inquirer/node_modules/ansi-regex": { "version": "3.0.1", "license": "MIT", @@ -19840,7 +20213,6 @@ }, "node_modules/jsonc-parser": { "version": "3.0.0", - "dev": true, "license": "MIT" }, "node_modules/jsonfile": { @@ -23229,7 +23601,6 @@ }, "node_modules/parse5-html-rewriting-stream": { "version": "6.0.1", - "dev": true, "license": "MIT", "dependencies": { "parse5": "^6.0.1", @@ -23238,7 +23609,6 @@ }, "node_modules/parse5-html-rewriting-stream/node_modules/parse5": { "version": "6.0.1", - "dev": true, "license": "MIT" }, "node_modules/parse5-htmlparser2-tree-adapter": { @@ -23256,7 +23626,6 @@ }, "node_modules/parse5-sax-parser": { "version": "6.0.1", - "dev": true, "license": "MIT", "dependencies": { "parse5": "^6.0.1" @@ -23264,7 +23633,6 @@ }, "node_modules/parse5-sax-parser/node_modules/parse5": { "version": "6.0.1", - "dev": true, "license": "MIT" }, "node_modules/parseqs": { @@ -26928,6 +27296,23 @@ "version": "4.1.0", "license": "Apache-2.0" }, + "node_modules/rxfire": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/rxfire/-/rxfire-6.0.3.tgz", + "integrity": "sha512-77nkyffHh7jgfi1YA/N9RI+kWxYpgKk6GRML1lyersvaqbJt4hkvWwk1rWib9Rb5Lr5mT+Ha45lu7nM79sJCZA==", + "dependencies": { + "tslib": "^1.9.0 || ~2.1.0" + }, + "peerDependencies": { + "firebase": "^9.0.0", + "rxjs": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/rxfire/node_modules/tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + }, "node_modules/rxjs": { "version": "6.6.7", "license": "Apache-2.0", @@ -39221,7 +39606,7 @@ }, "@angular/cli": { "version": "12.1.2", - "dev": true, + "devOptional": true, "requires": { "@angular-devkit/architect": "0.1201.2", "@angular-devkit/core": "12.1.2", @@ -39246,7 +39631,7 @@ "dependencies": { "@angular-devkit/architect": { "version": "0.1201.2", - "dev": true, + "devOptional": true, "requires": { "@angular-devkit/core": "12.1.2", "rxjs": "6.6.7" @@ -39254,7 +39639,7 @@ }, "@angular-devkit/core": { "version": "12.1.2", - "dev": true, + "devOptional": true, "requires": { "ajv": "8.6.0", "ajv-formats": "2.1.0", @@ -39266,7 +39651,7 @@ }, "@angular-devkit/schematics": { "version": "12.1.2", - "dev": true, + "devOptional": true, "requires": { "@angular-devkit/core": "12.1.2", "ora": "5.4.1", @@ -39275,7 +39660,7 @@ }, "ajv": { "version": "8.6.0", - "dev": true, + "devOptional": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -39285,36 +39670,36 @@ }, "ansi-escapes": { "version": "4.3.2", - "dev": true, + "devOptional": true, "requires": { "type-fest": "^0.21.3" } }, "cli-width": { "version": "3.0.0", - "dev": true + "devOptional": true }, "debug": { "version": "4.3.1", - "dev": true, + "devOptional": true, "requires": { "ms": "2.1.2" } }, "figures": { "version": "3.2.0", - "dev": true, + "devOptional": true, "requires": { "escape-string-regexp": "^1.0.5" } }, "ini": { "version": "2.0.0", - "dev": true + "devOptional": true }, "inquirer": { "version": "8.1.1", - "dev": true, + "devOptional": true, "requires": { "ansi-escapes": "^4.2.1", "chalk": "^4.1.1", @@ -39334,7 +39719,7 @@ }, "open": { "version": "8.2.1", - "dev": true, + "devOptional": true, "requires": { "define-lazy-prop": "^2.0.0", "is-docker": "^2.1.1", @@ -39343,7 +39728,7 @@ }, "pacote": { "version": "11.3.4", - "dev": true, + "devOptional": true, "requires": { "@npmcli/git": "^2.0.1", "@npmcli/installed-package-contents": "^1.0.6", @@ -39368,11 +39753,11 @@ }, "symbol-observable": { "version": "4.0.0", - "dev": true + "devOptional": true }, "uuid": { "version": "8.3.2", - "dev": true + "devOptional": true } } }, @@ -39418,6 +39803,118 @@ "tslib": "^2.2.0" } }, + "@angular/fire": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-7.5.0.tgz", + "integrity": "sha512-M/JJ5SKnpfNZFLKl0Awjn3r2NhURy2Mx+E8EzSDWSg1sHD7IThrynZYPUSZR+cd3KGsGoEacIP2x8Ra+0a+CVg==", + "requires": { + "@angular-devkit/schematics": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "@schematics/angular": "^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0", + "file-loader": "^6.2.0", + "firebase": "^9.8.0", + "fs-extra": "^8.0.1", + "fuzzy": "^0.1.3", + "inquirer": "^8.1.1", + "inquirer-autocomplete-prompt": "^1.0.1", + "jsonc-parser": "^3.0.0", + "node-fetch": "^2.6.1", + "open": "^8.0.0", + "ora": "^5.3.0", + "rxfire": "^6.0.0", + "semver": "^7.1.3", + "triple-beam": "^1.3.0", + "tslib": "^2.0.0", + "winston": "^3.0.0" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "requires": { + "tslib": "^2.1.0" + } + } + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, "@angular/forms": { "version": "12.1.5", "requires": { @@ -39499,6 +39996,89 @@ "tslib": "^2.2.0" } }, + "@angular/pwa": { + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular/pwa/-/pwa-15.1.4.tgz", + "integrity": "sha512-MtEWnozukUAUOXKTrOv9GewCqCW6Hj7zft1KeshmjqdOhu/qanUfkih9q2MtGjuwO1EeSiOjIH1nM//W2VjXBA==", + "requires": { + "@angular-devkit/schematics": "15.1.4", + "@schematics/angular": "15.1.4", + "parse5-html-rewriting-stream": "6.0.1" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.4.tgz", + "integrity": "sha512-PW5MRmd9DHJR4FaXchwQtj9pXnsghSTnwRvfZeCRNYgU2sv0DKyTV+YTSJB+kNXnoPNG1Je6amDEkiXecpspXg==", + "requires": { + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + } + }, + "@angular-devkit/schematics": { + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.4.tgz", + "integrity": "sha512-jpddxo9Qd2yRQ1t9FLhAx5S+luz6HkyhDytq0LFKbxf9ikf1J4oy9riPBFl4pRmrNARWcHZ6GbD20/Ky8PjmXQ==", + "requires": { + "@angular-devkit/core": "15.1.4", + "jsonc-parser": "3.2.0", + "magic-string": "0.27.0", + "ora": "5.4.1", + "rxjs": "6.6.7" + } + }, + "@schematics/angular": { + "version": "15.1.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.4.tgz", + "integrity": "sha512-4SV8dDGZeSvts01b8y2W6FmpDD0dQhBlGMhMJKC/tUnhfNKfYCs2VKtMBsIc3ZiGP2yoA3+nUiMmtS6hEkXYHw==", + "requires": { + "@angular-devkit/core": "15.1.4", + "@angular-devkit/schematics": "15.1.4", + "jsonc-parser": "3.2.0" + } + }, + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "requires": { + "ajv": "^8.0.0" + } + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" + } + } + }, "@angular/router": { "version": "12.1.5", "requires": { @@ -42497,7 +43077,6 @@ }, "@schematics/angular": { "version": "12.1.2", - "dev": true, "requires": { "@angular-devkit/core": "12.1.2", "@angular-devkit/schematics": "12.1.2", @@ -42506,7 +43085,6 @@ "dependencies": { "@angular-devkit/core": { "version": "12.1.2", - "dev": true, "requires": { "ajv": "8.6.0", "ajv-formats": "2.1.0", @@ -42518,7 +43096,6 @@ }, "@angular-devkit/schematics": { "version": "12.1.2", - "dev": true, "requires": { "@angular-devkit/core": "12.1.2", "ora": "5.4.1", @@ -42527,7 +43104,6 @@ }, "ajv": { "version": "8.6.0", - "dev": true, "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -43186,7 +43762,7 @@ }, "@yarnpkg/lockfile": { "version": "1.1.0", - "dev": true + "devOptional": true }, "abab": { "version": "2.0.6" @@ -43450,7 +44026,7 @@ }, "ansi-colors": { "version": "4.1.1", - "dev": true + "devOptional": true }, "ansi-escapes": { "version": "3.2.0" @@ -46272,8 +46848,7 @@ "version": "1.1.3" }, "define-lazy-prop": { - "version": "2.0.0", - "dev": true + "version": "2.0.0" }, "define-properties": { "version": "1.1.3", @@ -47355,6 +47930,27 @@ "escape-string-regexp": "^1.0.5" } }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, "fill-range": { "version": "7.0.1", "requires": { @@ -47546,6 +48142,11 @@ "version": "1.2.3", "dev": true }, + "fuzzy": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz", + "integrity": "sha512-/gZffu4ykarLrCiP3Ygsa86UAo1E5vEVlvTrpkKywXSbP9Xhln3oSp9QSV57gEq3JFFpGJ4GZ+5zdEp3FcUh4w==" + }, "g": { "version": "2.0.1" }, @@ -48424,6 +49025,36 @@ } } }, + "inquirer-autocomplete-prompt": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.4.0.tgz", + "integrity": "sha512-qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==", + "requires": { + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "figures": "^3.2.0", + "run-async": "^2.4.0", + "rxjs": "^6.6.2" + }, + "dependencies": { + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + } + } + }, "insight": { "version": "0.11.1", "requires": { @@ -51791,8 +52422,7 @@ "version": "2.2.1" }, "jsonc-parser": { - "version": "3.0.0", - "dev": true + "version": "3.0.0" }, "jsonfile": { "version": "6.1.0", @@ -54043,15 +54673,13 @@ }, "parse5-html-rewriting-stream": { "version": "6.0.1", - "dev": true, "requires": { "parse5": "^6.0.1", "parse5-sax-parser": "^6.0.1" }, "dependencies": { "parse5": { - "version": "6.0.1", - "dev": true + "version": "6.0.1" } } }, @@ -54070,14 +54698,12 @@ }, "parse5-sax-parser": { "version": "6.0.1", - "dev": true, "requires": { "parse5": "^6.0.1" }, "dependencies": { "parse5": { - "version": "6.0.1", - "dev": true + "version": "6.0.1" } } }, @@ -56402,6 +57028,21 @@ "rx": { "version": "4.1.0" }, + "rxfire": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/rxfire/-/rxfire-6.0.3.tgz", + "integrity": "sha512-77nkyffHh7jgfi1YA/N9RI+kWxYpgKk6GRML1lyersvaqbJt4hkvWwk1rWib9Rb5Lr5mT+Ha45lu7nM79sJCZA==", + "requires": { + "tslib": "^1.9.0 || ~2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + } + } + }, "rxjs": { "version": "6.6.7", "requires": { diff --git a/package.json b/package.json index c9fdb520b..c471d122c 100644 --- a/package.json +++ b/package.json @@ -28,12 +28,14 @@ "@angular/cdk": "^11.2.13", "@angular/common": "^12.1.2", "@angular/core": "^12.1.2", + "@angular/fire": "^7.5.0", "@angular/forms": "~12.1.2", "@angular/localize": "^12.1.2", "@angular/material": "^11.2.13", "@angular/material-moment-adapter": "^12.0.5", "@angular/platform-browser": "~12.1.2", "@angular/platform-browser-dynamic": "~12.1.2", + "@angular/pwa": "^15.1.4", "@angular/router": "~12.1.2", "@awesome-cordova-plugins/core": "^5.40.0", "@awesome-cordova-plugins/document-viewer": "^5.41.0", diff --git a/src/app/home/home.page.ts b/src/app/home/home.page.ts index 886ad13a3..f87616714 100644 --- a/src/app/home/home.page.ts +++ b/src/app/home/home.page.ts @@ -100,6 +100,7 @@ export class HomePage implements OnInit { document.querySelectorAll('ion-modal').forEach((e: any) => e.remove()) document.querySelectorAll('popover-viewport').forEach((e: any) => e.remove()) document.querySelectorAll('.loading-blocker').forEach((e: any) => e.remove()) + document.querySelectorAll('ion-popover').forEach((e: any) => e.remove()) }); window['platform'] = platform diff --git a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts index d82b40569..e9a5c1d1e 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts +++ b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts @@ -206,13 +206,13 @@ export class ApproveEventModalPage implements OnInit { try { await this.processes.PostTaskAction(body).toPromise() this.router.navigate(['/home/gabinete-digital/event-list']); - this.toastService._successMessage() + this.toastService._successMessage('Evento enviado para revisão'); } catch (error) { if(error.status == 0) { this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão') } else { - this.toastService._badRequest() + this.toastService._badRequest('Evento não enviado para revisão'); } this.router.navigate(['/home/gabinete-digital/event-list']); } diff --git a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts index 7a6558bdf..76b71e2bb 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts +++ b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts @@ -216,13 +216,14 @@ export class ApproveEventPage implements OnInit { await this.processes.PostTaskAction(body).toPromise() this.toastService._successMessage(); this.goBack(); + this.toastService._successMessage('Evento Aprovar') } catch (error) { if(error.status == 0) { this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão') } else { - this.toastService._badRequest() + this.toastService._badRequest('Evento não aprovar') } } finally { @@ -266,14 +267,14 @@ export class ApproveEventPage implements OnInit { this.offlineManager.storeRequestData('event-listRever', body); }); - this.toastService._successMessage('Pedido enviado'); + this.toastService._successMessage('Evento enviado para revisão'); this.goBack(); } catch (error) { if(error.status == 0) { this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão') } else { - this.toastService._badRequest(); + this.toastService._badRequest('Evento não enviado para revisão'); } } finally { loader.remove() @@ -299,7 +300,7 @@ export class ApproveEventPage implements OnInit { this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão') } else { - this.toastService._badRequest() + this.toastService._badRequest('Evento não rejeitado') } } finally { @@ -379,13 +380,14 @@ export class ApproveEventPage implements OnInit { await this.processes.PostTaskAction(body).toPromise(); this.toastService._successMessage(); this.goBack(); + this.toastService._successMessage('Evento enviado para revisão'); } catch (error) { - if(error.status == 0) { - this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão') - } else { - - this.toastService._badRequest(); - } + if(error.status == 0) { + this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão') + } else { + + this.toastService._badRequest('Evento não enviado para revisão'); + } } finally { loader.remove() } diff --git a/src/app/pages/gabinete-digital/gabinete-digital.page.ts b/src/app/pages/gabinete-digital/gabinete-digital.page.ts index ab0b6f288..5e74dc460 100644 --- a/src/app/pages/gabinete-digital/gabinete-digital.page.ts +++ b/src/app/pages/gabinete-digital/gabinete-digital.page.ts @@ -166,6 +166,7 @@ export class GabineteDigitalPage implements OnInit { } this.LoadCounts(); + this.updateAllProcess() const pathname = window.location.pathname this.router.events.forEach((event) => { @@ -176,9 +177,11 @@ export class GabineteDigitalPage implements OnInit { if(this.NotificationsService.active === false) { this.checkRoutes(); this.LoadCounts(); + this.updateAllProcess() } else { this.checkRoutes(); this.LoadCounts(); + this.updateAllProcess() } } }) @@ -786,7 +789,7 @@ export class GabineteDigitalPage implements OnInit { if (event) { setTimeout(() => { - event.target.complete(); + event?.target?.complete(); }, 2000); } else { diff --git a/src/app/services/background.service.ts b/src/app/services/background.service.ts index 505d8b1ca..ca5021972 100644 --- a/src/app/services/background.service.ts +++ b/src/app/services/background.service.ts @@ -35,7 +35,6 @@ export class BackgroundService { e.funx() } }) - this.status = 'offline' } paint() { diff --git a/src/app/services/notifications.service.ts b/src/app/services/notifications.service.ts index 134d22127..ec8b4c390 100644 --- a/src/app/services/notifications.service.ts +++ b/src/app/services/notifications.service.ts @@ -13,7 +13,7 @@ import { SessionStore } from '../store/session.service'; import { ActionPerformed, PushNotificationSchema, PushNotifications, Token, } from '@capacitor/push-notifications'; import { notificationObject } from '../models/notifications'; import { v4 as uuidv4 } from 'uuid' - +import { Capacitor } from '@capacitor/core'; @Injectable({ providedIn: 'root' }) @@ -31,6 +31,7 @@ export class NotificationsService { }} = {} active = false + isPushNotificationsAvailable = Capacitor.isPluginAvailable('PushNotifications'); constructor( private http: HttpClient, @@ -85,44 +86,53 @@ export class NotificationsService { } requestPermissions() { - PushNotifications.requestPermissions().then(result => { - if (result.receive === 'granted') { - // Register with Apple / Google to receive push via APNS/FCM - PushNotifications.register(); - } else { - // Show some error - } - }); + if(!this.isPushNotificationsAvailable) { + return false + } + + PushNotifications.requestPermissions().then(result => { + if (result.receive === 'granted') { + // Register with Apple / Google to receive push via APNS/FCM + PushNotifications.register(); + } else { + // Show some error + } + }); } getAndpostToken(username) { - if (this.platform.is('desktop') || this.platform.is('mobileweb')) { - - } else { - const geturl = environment.apiURL + 'notifications/token'; - PushNotifications.addListener('registration', - (token: Token) => { - const headers = { 'Authorization': SessionStore.user.BasicAuthKey }; - const body = { - UserId: SessionStore.user.UserId, - TokenId: token.value, - Status: 1, - Service: 1 - }; + if(!this.isPushNotificationsAvailable) { + return false + } - this.http.post(`${geturl}`, body, { headers }).subscribe(data => { - this.active = true - console.log(data) - }, (error) => { - console.log(error) - }) - } - ); - } + const geturl = environment.apiURL + 'notifications/token'; + PushNotifications.addListener('registration', + (token: Token) => { + const headers = { 'Authorization': SessionStore.user.BasicAuthKey }; + const body = { + UserId: SessionStore.user.UserId, + TokenId: token.value, + Status: 1, + Service: 1 + }; + + this.http.post(`${geturl}`, body, { headers }).subscribe(data => { + this.active = true + console.log(data) + }, (error) => { + console.log(error) + }) + } + ); + } registrationError() { + if(!this.isPushNotificationsAvailable) { + return false + } + PushNotifications.addListener('registrationError', (error: any) => { this.active = false @@ -131,6 +141,10 @@ export class NotificationsService { } onReciveForeground() { + if(!this.isPushNotificationsAvailable) { + return false + } + console.log('foregrund'); PushNotifications.addListener('pushNotificationReceived', (notification: PushNotificationSchema) => { @@ -158,6 +172,10 @@ export class NotificationsService { } onReciveBackground() { + if(!this.isPushNotificationsAvailable) { + return false + } + console.log('fbackgrund'); PushNotifications.addListener('pushNotificationActionPerformed', (notification: ActionPerformed) => { diff --git a/src/app/shared/agenda/approve-event/approve-event.page.ts b/src/app/shared/agenda/approve-event/approve-event.page.ts index 376173f5d..da1467b5a 100644 --- a/src/app/shared/agenda/approve-event/approve-event.page.ts +++ b/src/app/shared/agenda/approve-event/approve-event.page.ts @@ -87,9 +87,14 @@ export class ApproveEventPage implements OnInit { try { await this.processes.PostTaskAction(body).toPromise() this.modalController.dismiss(serialNumber); - this.toastService._successMessage() + this.toastService._successMessage('Evento aprovar') } catch (error) { - this.toastService._badRequest() + if(error.status == 0) { + this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão') + } else { + + this.toastService._badRequest('Evento não aprovar') + } } finally { this.close() loader.remove() @@ -108,7 +113,13 @@ export class ApproveEventPage implements OnInit { await this.processes.PostTaskAction(body).toPromise() this.toastService._successMessage('Evento rejeitado') } catch (error) { - this.toastService._badRequest('Processo não efectuado') + if(error.status == 0) { + this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão') + } else { + + this.toastService._badRequest('Evento não rejeitado') + } + } finally { loader.remove() this.close() @@ -196,7 +207,7 @@ export class ApproveEventPage implements OnInit { this.toastService._badRequest('Sem acesso à internet. Por favor verifique sua conexão') } else { - this.toastService._badRequest(); + this.toastService._badRequest('Evento não enviado para revisão'); } } finally { loader.remove() diff --git a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts index e832ab727..b21e9b2f7 100644 --- a/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts +++ b/src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts @@ -42,7 +42,6 @@ export class EventsToApprovePage implements OnInit { } ngOnInit() { - // console.log('ERROR LEGN',this.eventsMDGPRList.length) this.segment = this.loggeduser.Profile; this.LoadToApproveEvents(); @@ -127,7 +126,7 @@ export class EventsToApprovePage implements OnInit { doRefresh(event) { if (event) { setTimeout(() => { - event.target.complete(); + event?.target?.complete(); }, 2000); } diff --git a/src/app/store/eventoaprovacao-store.service.ts b/src/app/store/eventoaprovacao-store.service.ts index 5435e7fd9..78802a652 100644 --- a/src/app/store/eventoaprovacao-store.service.ts +++ b/src/app/store/eventoaprovacao-store.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import { localstoreService } from './localstore.service' import { AES, enc, SHA1 } from 'crypto-js' +import { isArray } from 'ionic-angular/umd/util/util'; @Injectable({ providedIn: 'root' @@ -24,8 +25,8 @@ export class EventoaprovacaoStoreService { setTimeout(()=>{ - let restoreMd = localstoreService.get(this.keyNamemd, {}) - let restorePr = localstoreService.get(this.keyNamepr, {}) + let restoreMd = localstoreService.get(this.keyNamemd, []) + let restorePr = localstoreService.get(this.keyNamepr, []) this._listPr = restorePr.listPr || [] this._listMd = restoreMd.lisMd || [] @@ -36,8 +37,8 @@ export class EventoaprovacaoStoreService { } - get listpr() { return this._listPr } - get listmd() { return this._listMd } + get listpr() { return this._listPr || [] } + get listmd() { return this._listMd || [] } get count() { return this._count || 0 } set count(value: number) { @@ -55,20 +56,24 @@ export class EventoaprovacaoStoreService { } resetpr(eventsList: any) { - this._listPr = eventsList + if(Array.isArray(eventsList)) { + this._listPr = eventsList - this.countPr = this._listPr.length - this.count = this.countPr + this.countMd + this.countPr = this._listPr.length + this.count = this.countPr + this.countMd - this.savePr() + this.savePr() + } } resetmd(eventsList: any) { - this._listMd = eventsList + if(Array.isArray(eventsList)) { + this._listMd = eventsList - this.countMd = this._listMd.length - this.count = this.countPr + this.countMd - this.saveMd() + this.countMd = this._listMd.length + this.count = this.countPr + this.countMd + this.saveMd() + } } private saveMd() { diff --git a/src/app/store/session.service.ts b/src/app/store/session.service.ts index cf33bdcfb..cd9309ad3 100644 --- a/src/app/store/session.service.ts +++ b/src/app/store/session.service.ts @@ -149,6 +149,35 @@ class SessionService { return initials; } + + clearPermission() { + this.permission = { + Agenda: { + access: false + }, + Gabinete: { + access: false, + pr_tasks: false, + md_tasks: false, + aprove_event: false + }, + Actions: { + access : false, + create : false, + delete : false, + edit : false, + createPost : false, + deletePost : false, + editPost : false + }, + Chat: { + access: false + } + } + } + + setPermission() {} + } diff --git a/src/assets/firebase-messaging-sw.js b/src/assets/firebase-messaging-sw.js index 627521a5c..fdd82b78c 100644 --- a/src/assets/firebase-messaging-sw.js +++ b/src/assets/firebase-messaging-sw.js @@ -1,11 +1,3 @@ - if ('serviceWorker' in navigator) { - navigator.serviceWorker.register('./firebase-messaging-sw.js') - .then(function(registration) { - }).catch(function(err) { - }); - } -// Scripts for firebase and firebase messaging - importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-app.js'); importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-messaging.js'); @@ -36,4 +28,33 @@ messaging.onBackgroundMessage(function(payload) { self.registration.showNotification(notificationTitle, notificationOptions); -}); \ No newline at end of file +}); + + +self.addEventListener('install', function(event) { + self.skipWaiting(); + console.log('Installed', event); +}); + +self.addEventListener('activate', function(event) { + console.log('Activated', event); +}); + +self.addEventListener('push', function(event) { + + var uid = "EXISTS_IN_CORE.JS"; + var token = "ALSO_EXISTS_IN_CORE.JS"; + + console.log("Push recieved - we need to know the uid and token here, from core.js"); +}); + +self.addEventListener('message', function(event){ + var data = JSON.parse(event.data); + + console.log("SW Received Message:"); + console.log(data); + + self.userID = data.uid; + self.userToken = data.token; + +}); \ No newline at end of file diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 53f31b337..38a854fa6 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -3,4 +3,4 @@ import { oaprProd } from './suport/oapr' import { doneITProd } from './suport/doneIt' -export const environment: Environment = oaprProd; \ No newline at end of file +export const environment: Environment = doneITProd; \ No newline at end of file diff --git a/src/index.html b/src/index.html index 09f31204c..dcc59a249 100644 --- a/src/index.html +++ b/src/index.html @@ -48,36 +48,6 @@ } --> - - diff --git a/version/git-version.ts b/version/git-version.ts index d328b8553..a9853b5e8 100644 --- a/version/git-version.ts +++ b/version/git-version.ts @@ -1,12 +1,12 @@ export let versionData = { - "shortSHA": "5cef86553", - "SHA": "5cef86553525ac3ef5e20797b04f3e2c12119d82", + "shortSHA": "065fc517a", + "SHA": "065fc517aedb4f1a87f84ccf0a87b4331f373f67", "branch": "no_bug_movemente", "lastCommitAuthor": "'Peter Maquiran'", - "lastCommitTime": "'Thu Feb 2 18:44:19 2023 +0100'", - "lastCommitMessage": "fix pop", - "lastCommitNumber": "4718", - "change": "diff --git a/src/firebase-messaging-sw.js b/src/firebase-messaging-sw.js\ndeleted file mode 100644\nindex f2423c01d..000000000\n--- a/src/firebase-messaging-sw.js\n+++ /dev/null\n@@ -1,40 +0,0 @@\n- if ('serviceWorker' in navigator) {\n- navigator.serviceWorker.register('./firebase-messaging-sw.js')\n- .then(function(registration) {\n- }).catch(function(err) {\n- });\n- } \n-// Scripts for firebase and firebase messaging\n-\n-\n-/* importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-app.js');\n-importScripts('https://www.gstatic.com/firebasejs/8.2.0/firebase-messaging.js');\n-\n-// Initialize the Firebase app in the service worker by passing the generated config\n-var firebaseConfig = {\n- apiKey: \"AIzaSyAAdHmTFznCMerdT99nrewJgISRvtxPqoY\",\n- authDomain: \"gabinete-digital-2020.firebaseapp.com\",\n- databaseURL: \"https://gabinete-digital-2020.firebaseio.com\",\n- projectId: \"gabinete-digital-2020\",\n- storageBucket: \"gabinete-digital-2020.appspot.com\",\n- messagingSenderId: \"800733765231\",\n- appId: \"1:800733765231:web:28e7792ab150006513779a\",\n- measurementId: \"G-8QN4BLZ8XK\"\n-};\n-\n-firebase.initializeApp(firebaseConfig);\n-\n-// Retrieve firebase messaging\n-const messaging = firebase.messaging();\n-\n-messaging.onBackgroundMessage(function(payload) {\n- console.log('Received background message ', payload);\n-\n- const notificationTitle = payload.notification.title;\n- const notificationOptions = {\n- body: payload.notification.body,\n- };\n-\n- self.registration.showNotification(notificationTitle,\n- notificationOptions);\n-}); */\n\\ No newline at end of file\ndiff --git a/src/index.html b/src/index.html\nindex dcc59a249..09f31204c 100644\n--- a/src/index.html\n+++ b/src/index.html\n@@ -48,6 +48,36 @@\n }\n -->\n \n+ \n+\n \n \n \ndiff --git a/www.rar b/www.rar\nindex 546192517..5575a7494 100644\nBinary files a/www.rar and b/www.rar differ", - "changeStatus": "On branch no_bug_movemente\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.html\n\tmodified: src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts\n\tmodified: src/app/pages/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss\n\tmodified: src/app/pages/gabinete-digital/diplomas/diplomas.page.ts\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.html\n\tmodified: src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.scss\n\tmodified: src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.page.ts\n\tmodified: src/app/shared/gabinete-digital/diplomas/diplomas.page.ts\n\tmodified: src/app/shared/popover/diplomas-gerar-options/diplomas-gerar-options.page.ts\n\nChanges not staged for commit:\n (use \"git add/rm ...\" to update what will be committed)\n (use \"git restore ...\" to discard changes in working directory)\n\tdeleted: src/firebase-messaging-sw.js\n\tmodified: src/index.html\n\tmodified: www.rar\n\nUntracked files:\n (use \"git add ...\" to include in what will be committed)\n\tsrc/assets/firebase-messaging-sw.js\n\tsrc/assets/js/firebase-app.js\n\tsrc/assets/js/firebase-messaging.js", + "lastCommitTime": "'Fri Feb 3 14:37:29 2023 +0100'", + "lastCommitMessage": "improve", + "lastCommitNumber": "4719", + "change": "", + "changeStatus": "On branch no_bug_movemente\nChanges to be committed:\n (use \"git restore --staged ...\" to unstage)\n\tmodified: .gitignore\n\tmodified: package-lock.json\n\tmodified: package.json\n\tmodified: src/app/home/home.page.ts\n\tmodified: src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.ts\n\tmodified: src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.ts\n\tmodified: src/app/pages/gabinete-digital/gabinete-digital.page.ts\n\tmodified: src/app/services/background.service.ts\n\tmodified: src/app/services/notifications.service.ts\n\tmodified: src/app/shared/agenda/approve-event/approve-event.page.ts\n\tmodified: src/app/shared/gabinete-digital/events-to-approve/events-to-approve.page.ts\n\tmodified: src/app/store/eventoaprovacao-store.service.ts\n\tmodified: src/app/store/session.service.ts\n\tmodified: src/assets/firebase-messaging-sw.js\n\tmodified: src/environments/environment.prod.ts\n\tmodified: src/index.html", "changeAuthor": "peter.maquiran" } \ No newline at end of file