diff --git a/cypress/integration/dashboard.spec.ts b/cypress/integration/dashboard.spec.ts index f72b3c5c..80c6c1f8 100644 --- a/cypress/integration/dashboard.spec.ts +++ b/cypress/integration/dashboard.spec.ts @@ -14,16 +14,16 @@ */ /* eslint-disable @typescript-eslint/no-explicit-any */ -import {ScheduleProvider} from '../../src/app/modules/calendar/schedule.provider'; +//import {ScheduleProvider} from '../../src/app/modules/calendar/schedule.provider'; describe('dashboard', async function () { describe('schedule section', function () { it('should lead to the schedule', function () { - cy.visit('/dashboard'); + cy.visit('/overview'); cy.get('.schedule').contains('a', 'Stundenplan').click(); cy.url().should('include', '/schedule/recurring'); - cy.visit('/dashboard'); + cy.visit('/overview'); cy.get('.schedule').contains('a', 'Kein Eintrag gefunden').click(); cy.url().should('include', '/schedule/recurring'); }); @@ -34,7 +34,7 @@ describe('dashboard', async function () { // cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', { // fixture: 'search/types/date-series/date-series-1.json', // }).as('search'); - // cy.visit('/dashboard'); + // cy.visit('/overview'); // cy.get('.schedule-item-button').should('exist'); // cy.window() // .then(win => (angular = (win as any).ng)) @@ -48,14 +48,14 @@ describe('dashboard', async function () { // }), // ); // cy.wait('@search'); - // cy.visit('/dashboard'); + // cy.visit('/overview'); // cy.get('.schedule-item-button').should('contain', 'UNIcert (Test)'); //}); }); describe('mensa section', function () { it('should have info when nothing is added', function () { - cy.visit('/dashboard'); + cy.visit('/overview'); cy.get('stapps-mensa-section').within(() => { cy.get('.card').should('have.length', 1); @@ -67,7 +67,7 @@ describe('dashboard', async function () { }); it('should add a mensa', function () { - cy.visit('/dashboard'); + cy.visit('/overview'); cy.get('stapps-mensa-section').find('.card > ion-label > a').click(); cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', { fixture: 'search/types/canteen/canteen-search-result.json', @@ -95,7 +95,7 @@ describe('dashboard', async function () { }); it('should have desktop navigation buttons', function () { - cy.visit('/dashboard'); + cy.visit('/overview'); cy.get('stapps-news-section').within(function () { cy.get('.swiper-button-prev').should('exist'); @@ -104,7 +104,7 @@ describe('dashboard', async function () { }); it('should have working desktop navigation', function () { - cy.visit('/dashboard'); + cy.visit('/overview'); cy.get('stapps-news-section').within(function () { cy.get('.swiper-slide-active').should( @@ -119,7 +119,7 @@ describe('dashboard', async function () { }); it('should have a link to the news page', function () { - cy.visit('/dashboard'); + cy.visit('/overview'); cy.wait('@search'); cy.intercept('POST', 'https://mobile.server.uni-frankfurt.de/search', { fixture: 'search/types/message/single-message.json', @@ -130,45 +130,46 @@ describe('dashboard', async function () { }); }); - describe('navigation section', function () { - it('should have editable dashboard sections', function () { - cy.visit('/dashboard'); + // TODO: Reenable tests after update of component + // describe('navigation section', function () { + // it('should have editable dashboard sections', function () { + // cy.visit('/overview'); - const section = 'Vorlesungsv.'; + // const section = 'Vorlesungsv.'; - cy.get('stapps-navigation-section').within(() => { - cy.get('.card').should('contain.text', section); + // cy.get('stapps-navigation-section').within(() => { + // cy.get('.card').should('contain.text', section); - cy.get('ion-icon[name=edit_square]').click(); - }); + // cy.get('ion-icon[name=edit_square]').click(); + // }); - cy.get('stapps-dashboard-edit-modal').within(() => { - cy.contains('ion-item', section).find('ion-toggle').click(); + // cy.get('stapps-dashboard-edit-modal').within(() => { + // cy.contains('ion-item', section).find('ion-toggle').click(); - cy.contains('ion-button', 'Bestätigen').click(); - }); + // cy.contains('ion-button', 'Bestätigen').click(); + // }); - cy.get('stapps-navigation-section').within(() => { - cy.get('.card').should('not.contain.text', section); + // cy.get('stapps-navigation-section').within(() => { + // cy.get('.card').should('not.contain.text', section); - cy.get('ion-icon[name=edit_square]').click({scrollBehavior: false}); - }); + // cy.get('ion-icon[name=edit_square]').click({scrollBehavior: false}); + // }); - cy.get('stapps-dashboard-edit-modal').within(() => { - cy.contains('ion-item', section).find('ion-toggle').click(); + // cy.get('stapps-dashboard-edit-modal').within(() => { + // cy.contains('ion-item', section).find('ion-toggle').click(); - cy.contains('ion-button', 'Bestätigen').click(); - }); + // cy.contains('ion-button', 'Bestätigen').click(); + // }); - cy.get('stapps-navigation-section') - .find('.card') - .should('contain.text', section); - }); - }); + // cy.get('stapps-navigation-section') + // .find('.card') + // .should('contain.text', section); + // }); + // }); describe('search section', function () { it('should lead to the search when hitting enter', function () { - cy.visit('/dashboard'); + cy.visit('/overview'); cy.get('stapps-search-section') .find('.searchbar') @@ -181,7 +182,7 @@ describe('dashboard', async function () { }); it('should go to search when clicking the icon', function () { - cy.visit('/dashboard'); + cy.visit('/overview'); cy.get('stapps-search-section').find('ion-icon[name=search]').click(); cy.url().should('eq', Cypress.config().baseUrl + '/search/'); diff --git a/package-lock.json b/package-lock.json index d73717dd..760cd0fa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -234,6 +234,12 @@ "brace-expansion": "^1.1.7" } }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -593,12 +599,12 @@ } }, "@babel/generator": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", - "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "version": "7.19.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", + "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", "dev": true, "requires": { - "@babel/types": "^7.19.3", + "@babel/types": "^7.19.4", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" } @@ -626,9 +632,9 @@ } }, "magic-string": { - "version": "0.26.6", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.6.tgz", - "integrity": "sha512-6d+3bFybzyQFJYSoRsl9ZC0wheze8M1LrQC7tNMRqXR4izUTDOLMd9BtSuExK9iAukFh+s5K0WAhc/dlQ+HKYA==", + "version": "0.26.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.7.tgz", + "integrity": "sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==", "dev": true, "requires": { "sourcemap-codec": "^1.4.8" @@ -729,9 +735,9 @@ } }, "@babel/compat-data": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.3.tgz", - "integrity": "sha512-prBHMK4JYYK+wDjJF1q99KK4JLL+egWS4nmNqdlMUgCExMZ+iZW0hGhyC3VEbsPjvaN0TBhW//VIFwBrk8sEiw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.4.tgz", + "integrity": "sha512-CHIGpJcUQ5lU9KrPHTjBMhVwQG6CQjxfg36fGXl3qk/Gik1WwWachaXFuo0uCWJT/mStOKtcbFJCaVLihC1CMw==", "dev": true }, "@babel/core": { @@ -1044,12 +1050,12 @@ } }, "@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz", + "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.19.4" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -1071,9 +1077,9 @@ } }, "@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", "dev": true }, "@babel/helper-validator-identifier": { @@ -1113,14 +1119,14 @@ } }, "@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz", + "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==", "dev": true, "requires": { "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" + "@babel/traverse": "^7.19.4", + "@babel/types": "^7.19.4" }, "dependencies": { "@babel/template": { @@ -1193,9 +1199,9 @@ } }, "@babel/parser": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.3.tgz", - "integrity": "sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz", + "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -1311,14 +1317,14 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", - "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.19.4.tgz", + "integrity": "sha512-wHmj6LDxVDnL+3WhXteUBaoM1aVILZODAUjg11kHqG4cOlfgMQGxw6aCgvrXrmaJR3Bn14oZhImyCPZzRpC93Q==", "dev": true, "requires": { - "@babel/compat-data": "^7.18.8", - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9", + "@babel/compat-data": "^7.19.4", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-plugin-utils": "^7.19.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.18.8" } @@ -1543,12 +1549,12 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", - "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.19.4.tgz", + "integrity": "sha512-934S2VLLlt2hRJwPf4MczaOr4hYF0z+VKPwqTNxyKX7NthTiPfhuKFWQZHXRM0vh/wo/VyXB3s4bZUNA08l+tQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-classes": { @@ -1595,12 +1601,12 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.18.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz", - "integrity": "sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.19.4.tgz", + "integrity": "sha512-t0j0Hgidqf0aM86dF8U+vXYReUgJnlv4bZLsyoPnwZNrGY+7/38o8YjaELrvHeVfTZao15kjR0PVv0nju2iduA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.19.0" } }, "@babel/plugin-transform-dotall-regex": { @@ -1973,17 +1979,17 @@ } }, "@babel/runtime": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", - "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz", + "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.1.tgz", - "integrity": "sha512-j2vJGnkopRzH+ykJ8h68wrHnEUmtK//E723jjixiAl/PPf6FhqY/vYRcMVlNydRKQjQsTsYEjpx+DZMIvnGk/g==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.19.4.tgz", + "integrity": "sha512-HzjQ8+dzdx7dmZy4DQ8KV8aHi/74AjEbBGTFutBmg/pd3dY5/q1sfuOGPTFGEytlQhWoeVXqcK5BwMgIkRkNDQ==", "dev": true, "requires": { "core-js-pure": "^3.25.1", @@ -2002,30 +2008,30 @@ } }, "@babel/traverse": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.3.tgz", - "integrity": "sha512-qh5yf6149zhq2sgIXmwjnsvmnNQC2iw70UFjp4olxucKrWd/dvlUsBI88VSLUsnMNF7/vnOiA+nk1+yLoCqROQ==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz", + "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==", "dev": true, "requires": { "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", + "@babel/generator": "^7.19.4", "@babel/helper-environment-visitor": "^7.18.9", "@babel/helper-function-name": "^7.19.0", "@babel/helper-hoist-variables": "^7.18.6", "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.19.3", - "@babel/types": "^7.19.3", + "@babel/parser": "^7.19.4", + "@babel/types": "^7.19.4", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { "@babel/generator": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", - "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "version": "7.19.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", + "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", "dev": true, "requires": { - "@babel/types": "^7.19.3", + "@babel/types": "^7.19.4", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" } @@ -2050,12 +2056,12 @@ } }, "@babel/types": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.3.tgz", - "integrity": "sha512-hGCaQzIY22DJlDh9CH7NOxgKkFjBk0Cw9xDO1Xmh2151ti7wiGfQ3LauXzL4HP1fmFlTX6XjpRETTpUcv7wQLw==", + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz", + "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==", "dev": true, "requires": { - "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-string-parser": "^7.19.4", "@babel/helper-validator-identifier": "^7.19.1", "to-fast-properties": "^2.0.0" } @@ -2256,12 +2262,12 @@ } }, "@babel/generator": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.3.tgz", - "integrity": "sha512-fqVZnmp1ncvZU757UzDheKZpfPgatqY59XtW2/j/18H7u76akb8xqvjw82f+i2UKd/ksYsSick/BCLQUUtJ/qQ==", + "version": "7.19.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz", + "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==", "dev": true, "requires": { - "@babel/types": "^7.19.3", + "@babel/types": "^7.19.4", "@jridgewell/gen-mapping": "^0.3.2", "jsesc": "^2.5.1" } @@ -2627,9 +2633,9 @@ } }, "@eslint/eslintrc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.2.tgz", - "integrity": "sha512-AXYd23w1S/bv3fTs3Lz0vjiYemS08jWkI3hYyS9I1ry+0f+Yjs1wm+sU0BS8qDOPrBIkp4qHYC16I8uVtpLajQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz", + "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==", "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -2973,9 +2979,9 @@ } }, "@ionic/core": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.0.tgz", - "integrity": "sha512-6MR0hOdIM6sQyZyXez3/jWAnHScrZKaQxzGT2XiXXIpBrKztNdeAhqDLXoxbDU1PLyDnXXPWBzT6xZ698gG67g==", + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-6.3.2.tgz", + "integrity": "sha512-L4xqJyixmGApwYc5fQgGoK80wXGCrbjL8vGfeNbjYqxxP0ZIKGAhURPoMAtSTqLLK9gdhh4Mv6gw4gNKvxodPA==", "requires": { "@stencil/core": "^2.18.0", "ionicons": "^6.0.3", @@ -3582,21 +3588,21 @@ } }, "@nrwl/cli": { - "version": "14.8.3", - "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-14.8.3.tgz", - "integrity": "sha512-a8URAbqyZvegXMYU8pCA3Hfv0UdiDJc6HboazxinCJJgZWyqKYxRIWmKiWnfpXsr+qF6ntmBR/tC6yHbOL22gQ==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-15.0.0.tgz", + "integrity": "sha512-D0zAhZ375bQnoUM2HLifMzAa75A3/lC9OkkewsiVVbqaznjEIry8ezHZepgfjFRVzLr3ue7FIpDEH3iJIYzvVw==", "dev": true, "requires": { - "nx": "14.8.3" + "nx": "15.0.0" }, "dependencies": { "@nrwl/tao": { - "version": "14.8.3", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-14.8.3.tgz", - "integrity": "sha512-lN7+1biSM/7PYMMgh3jjOXJ9fe6VjhVrtZsDcB6lcklpShjXfHXqlpXDM7vjlw19aLeZMdFWHFoU2C5BTBtzgQ==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-15.0.0.tgz", + "integrity": "sha512-qup1eSWYwp/KVrw/wxeWBvYttQ9dcbQnqpXb5NQMD31SpXEZSpJB1i3GV/o6CF5qQQSNLwICXZx25rNTTQAqpg==", "dev": true, "requires": { - "nx": "14.8.3" + "nx": "15.0.0" } }, "@zkochan/js-yaml": { @@ -3609,12 +3615,14 @@ } }, "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.1.3.tgz", + "integrity": "sha512-00tXVRwKx/FZr/IDVFt4C+f9FYairX517WoGCL6dpOntqLkZofjhu43F/Xl44UOpqa+9sLFDrG/XAnFsUYgkDA==", "dev": true, "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "chalk": { @@ -3679,18 +3687,18 @@ } }, "nx": { - "version": "14.8.3", - "resolved": "https://registry.npmjs.org/nx/-/nx-14.8.3.tgz", - "integrity": "sha512-6aMYrzlTqE77vHbaE1teI5P1A2oYkJGkuDMIo/zegRwUxCAjRzLAluUgPrmgqhuPTyTDn8p4aDfxAWV3Q0o/2Q==", + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/nx/-/nx-15.0.0.tgz", + "integrity": "sha512-uh9Ou5oj7yr6Uyp4QhqW1vIVoanYn1sJM1jzOyoT17GAhhODfS0BtQgUvlmInDuRqP8LMaPg4LXFMby07U1HXg==", "dev": true, "requires": { - "@nrwl/cli": "14.8.3", - "@nrwl/tao": "14.8.3", + "@nrwl/cli": "15.0.0", + "@nrwl/tao": "15.0.0", "@parcel/watcher": "2.0.4", "@yarnpkg/lockfile": "^1.1.0", "@yarnpkg/parsers": "^3.0.0-rc.18", "@zkochan/js-yaml": "0.0.6", - "axios": "0.21.1", + "axios": "^1.0.0", "chalk": "4.1.0", "chokidar": "^3.5.1", "cli-cursor": "3.1.0", @@ -3871,52 +3879,39 @@ } }, "@openstapps/api": { - "version": "0.43.0", - "resolved": "https://registry.npmjs.org/@openstapps/api/-/api-0.43.0.tgz", - "integrity": "sha512-thi+i1UzybkyZSG7rsBTWspwNO+qipPzgzmkenn5iCxCMMUNjAzDXnpzTa92ZDel7IvhjLvmfPVFBxu3wOay0g==", + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/@openstapps/api/-/api-0.44.0.tgz", + "integrity": "sha512-ZVSt5JiN2ESgTxrNR0IRPbeMtmXATdytAeXMbtDFeKgwFb9uJAt6jZIto9sHQHZg2kJG6Ka9ycFaMstflZjLOg==", "requires": { "@krlwlfrt/async-pool": "0.7.0", - "@openstapps/core": "0.69.0", + "@openstapps/core": "0.71.0", "@openstapps/core-tools": "0.32.0", - "@openstapps/logger": "1.0.0", + "@openstapps/logger": "1.0.1", "@types/cli-progress": "3.11.0", - "@types/express": "4.17.13", + "@types/express": "4.17.14", "@types/morgan": "1.9.3", - "@types/node": "14.18.24", + "@types/node": "14.18.32", "@types/traverse": "0.6.32", "@types/uuid": "8.3.4", "@types/wait-on": "5.3.1", - "body-parser": "1.20.0", + "body-parser": "1.20.1", "cli-progress": "3.11.2", - "commander": "9.4.0", - "express": "4.18.1", + "commander": "9.4.1", + "express": "4.18.2", "got": "11.8.5", "json-schema": "0.4.0", "moment": "2.29.4", "morgan": "1.10.0", "rfdc": "1.3.0", - "traverse": "0.6.6", + "traverse": "0.6.7", "uuid": "8.3.2", "wait-on": "6.0.1" }, "dependencies": { - "@openstapps/core": { - "version": "0.69.0", - "resolved": "https://registry.npmjs.org/@openstapps/core/-/core-0.69.0.tgz", - "integrity": "sha512-IaUb10IfldokrqopdqsyHl5j3rVvg8CA10s2E+WpVOjgkXnW8SP9jVg5AP0jx3vgN3e0xHsrPtvrZWTPgyoSRQ==", - "requires": { - "@openstapps/core-tools": "0.32.0", - "@types/geojson": "1.0.6", - "@types/json-patch": "0.0.30", - "@types/json-schema": "7.0.11", - "@types/node": "14.18.24", - "fast-deep-equal": "3.1.3", - "http-status-codes": "2.2.0", - "json-patch": "0.7.0", - "json-schema": "0.4.0", - "rfdc": "1.3.0", - "ts-optchain": "0.1.8" - } + "@types/node": { + "version": "14.18.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.32.tgz", + "integrity": "sha512-Y6S38pFr04yb13qqHf8uk1nHE3lXgQ30WZbv1mLliV9pt0NjvqdWttLcrOYLnXbOafknVYRHZGoMSpR9UwfYow==" } } }, @@ -3934,6 +3929,11 @@ "yaml": "1.10.2" }, "dependencies": { + "commander": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" + }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3953,9 +3953,9 @@ } }, "@openstapps/core": { - "version": "0.70.0", - "resolved": "https://registry.npmjs.org/@openstapps/core/-/core-0.70.0.tgz", - "integrity": "sha512-obLFSiI5P0cEAeadxEQ1Wbbe/FDiSi0p4azpmszUPyshpSXKqt4y6F4Z+dnswBSe85wtPg/PuHC1MYZ79SJB4g==", + "version": "0.71.0", + "resolved": "https://registry.npmjs.org/@openstapps/core/-/core-0.71.0.tgz", + "integrity": "sha512-5RpbidtKknzx8/zmHUfppNHH1UuJSevO4Sr444HmW9voULSnlaghzIGyjUuuAjCm/LCG30WVhKTe3/nWZAnCbg==", "requires": { "@openstapps/core-tools": "0.32.0", "@types/geojson": "1.0.6", @@ -3999,6 +3999,24 @@ "ts-node": "10.9.1" }, "dependencies": { + "@openstapps/logger": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-1.0.0.tgz", + "integrity": "sha512-ImCfnLJWHWwFJ1W7KCIWgFe7EXI0cAtap0Dznz+758BPAlLZ+hJHSbIbGHWwEAfRNAB53TIABF5npSsKSDq4Sw==", + "requires": { + "@types/node": "14.18.24", + "@types/nodemailer": "6.4.5", + "chalk": "4.1.2", + "flatted": "3.2.6", + "moment": "2.29.4", + "nodemailer": "6.7.8" + } + }, + "commander": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -4079,16 +4097,41 @@ } }, "@openstapps/logger": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-1.0.0.tgz", - "integrity": "sha512-ImCfnLJWHWwFJ1W7KCIWgFe7EXI0cAtap0Dznz+758BPAlLZ+hJHSbIbGHWwEAfRNAB53TIABF5npSsKSDq4Sw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@openstapps/logger/-/logger-1.0.1.tgz", + "integrity": "sha512-ekiqaj07NG2JKUdJBSoLTYJTz1sEtzJsGoz0F19s0h2A9fxP2duWD7bIcqfOcxj5Wggxr88zX/AK8cZG4Gda4g==", "requires": { - "@types/node": "14.18.24", - "@types/nodemailer": "6.4.5", + "@types/node": "14.18.32", + "@types/nodemailer": "6.4.6", "chalk": "4.1.2", - "flatted": "3.2.6", + "flatted": "3.2.7", "moment": "2.29.4", - "nodemailer": "6.7.8" + "nodemailer": "6.8.0" + }, + "dependencies": { + "@types/node": { + "version": "14.18.32", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.32.tgz", + "integrity": "sha512-Y6S38pFr04yb13qqHf8uk1nHE3lXgQ30WZbv1mLliV9pt0NjvqdWttLcrOYLnXbOafknVYRHZGoMSpR9UwfYow==" + }, + "@types/nodemailer": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.6.tgz", + "integrity": "sha512-pD6fL5GQtUKvD2WnPmg5bC2e8kWCAPDwMPmHe/ohQbW+Dy0EcHgZ2oCSuPlWNqk74LS5BVMig1SymQbFMPPK3w==", + "requires": { + "@types/node": "*" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==" + }, + "nodemailer": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.8.0.tgz", + "integrity": "sha512-EjYvSmHzekz6VNkNd12aUqAco+bOkRe3Of5jVhltqKhEsjw/y0PYPJfp83+s9Wzh1dspYAkUW/YNQ350NATbSQ==" + } } }, "@parcel/watcher": { @@ -4161,9 +4204,9 @@ "integrity": "sha512-/fXkh1lwZ+X9JQCw50mPjhBogzEHOBvVC5pLoDLZqodVYK0DGWILM2YLV4dcIUBNEK8/HMDpO/Rq81/rS3mNOw==" }, "@swc/helpers": { - "version": "0.4.11", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.11.tgz", - "integrity": "sha512-rEUrBSGIoSFuYxwBYtlUFMlE2CwGhmW+w9355/5oduSw8e5h2+Tj4UrAGNNgP9915++wj5vkQo0UuOBqOAq4nw==", + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.12.tgz", + "integrity": "sha512-R6RmwS9Dld5lNvwKlPn62+piU+WDG1sMfsnfJioXCciyko/gZ0DQ4Mqglhq1iGU1nQ/RcGkAwfMH+elMSkJH3Q==", "dev": true, "requires": { "tslib": "^2.4.0" @@ -4323,9 +4366,9 @@ "dev": true }, "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.14.tgz", + "integrity": "sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==", "requires": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.18", @@ -5122,9 +5165,9 @@ "dev": true }, "@yarnpkg/parsers": { - "version": "3.0.0-rc.22", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.22.tgz", - "integrity": "sha512-GAWDjXduYBUVmOzlj3X0OwTQ1BV4ZeDdgw8yXST3K0lB95drWEGxa1at0v7BmHDyK2y1F1IJufc8N4yrcuXjWg==", + "version": "3.0.0-rc.25", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.25.tgz", + "integrity": "sha512-uotaIJwVQeV/DcGA9G2EVuVFHnEEdxDy3yRLeh9VHS6Lx7nZETaWzJPU1bgAwnAa3gplol2NIQhlsr2eqgq9qA==", "dev": true, "requires": { "js-yaml": "^3.10.0", @@ -5851,9 +5894,9 @@ "dev": true }, "body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "requires": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -5863,7 +5906,7 @@ "http-errors": "2.0.0", "iconv-lite": "0.4.24", "on-finished": "2.4.1", - "qs": "6.10.3", + "qs": "6.11.0", "raw-body": "2.5.1", "type-is": "~1.6.18", "unpipe": "1.0.0" @@ -6240,9 +6283,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001418", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001418.tgz", - "integrity": "sha512-oIs7+JL3K9JRQ3jPZjlH6qyYDp+nBTCais7hjh0s+fuBwufc7uZ7hPYMXrDOJhV360KGMTcczMRObk0/iMqZRg==", + "version": "1.0.30001421", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001421.tgz", + "integrity": "sha512-Sw4eLbgUJAEhjLs1Fa+mk45sidp1wRn5y6GtDpHGBaNJ9OCDJaVh2tIaWWUnGfuXfKf1JCBaIarak3FkVAvEeA==", "dev": true }, "capacitor-secure-storage-plugin": { @@ -6463,9 +6506,9 @@ "dev": true }, "ci-info": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.4.0.tgz", - "integrity": "sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug==", + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.5.0.tgz", + "integrity": "sha512-yH4RezKOGlOhxkmhbeNuC4eYZKAUsEaGtBuBzDDP1eFUKiccDWzBABxBfOx31IDwDIXMTxWuwAxUGModvkbuVw==", "dev": true }, "circular-dependency-plugin": { @@ -6651,9 +6694,9 @@ } }, "commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==" }, "comment-parser": { "version": "1.3.1", @@ -7080,21 +7123,10 @@ } }, "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - } - } + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true }, "cookie": { "version": "0.5.0", @@ -7699,9 +7731,9 @@ } }, "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, "requires": { "clone": "^1.0.2" @@ -8036,9 +8068,9 @@ } }, "electron-to-chromium": { - "version": "1.4.275", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.275.tgz", - "integrity": "sha512-aJeQQ+Hl9Jyyzv4chBqYJwmVRY46N5i2BEX5Cuyk/5gFCUZ5F3i7Hnba6snZftWla7Gglwc5pIgcd+E7cW+rPg==", + "version": "1.4.284", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz", + "integrity": "sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==", "dev": true }, "elementtree": { @@ -8935,13 +8967,13 @@ "dev": true }, "express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.20.0", + "body-parser": "1.20.1", "content-disposition": "0.5.4", "content-type": "~1.0.4", "cookie": "0.5.0", @@ -8960,7 +8992,7 @@ "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.10.3", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "0.18.0", @@ -10975,9 +11007,9 @@ "dev": true }, "joi": { - "version": "17.6.2", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.2.tgz", - "integrity": "sha512-+gqqdh1xc1wb+Lor0J9toqgeReyDOCqOdG8QSdRcEvwrcRiFQZneUCGKjFjuyBWUb3uaFOgY56yMaZ5FIc+H4w==", + "version": "17.6.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.6.3.tgz", + "integrity": "sha512-YlQsIaS9MHYekzf1Qe11LjTkNzx9qhYluK3172z38RxYoAUf82XMX1p1DG1H4Wtk2ED/vPdSn9OggqtDu+aTow==", "requires": { "@hapi/hoek": "^9.0.0", "@hapi/topo": "^5.0.0", @@ -12337,9 +12369,9 @@ } }, "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" }, "minimist-options": { "version": "4.1.0", @@ -12537,9 +12569,9 @@ "dev": true }, "nan": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.16.0.tgz", - "integrity": "sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA==" + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.17.0.tgz", + "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==" }, "nanoid": { "version": "3.3.4", @@ -12711,9 +12743,9 @@ "dev": true }, "node-gyp": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.2.0.tgz", - "integrity": "sha512-/+/YxGfIJOh/fnMsr4Ep0v6oOIjnO1BgLd2dcDspBX1spTkQU7xSIox5RdRE/2/Uq3ZwK8Z5swRIbMUmPlslmg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.0.tgz", + "integrity": "sha512-A6rJWfXFz7TQNjpldJ915WFb1LnhO4lIve3ANPbWreuEoLoKlFT3sxIepPBkLhM27crW8YmN+pjlgbasH6cH/Q==", "requires": { "env-paths": "^2.2.0", "glob": "^7.1.4", @@ -13530,9 +13562,9 @@ } }, "pdfmake": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.2.5.tgz", - "integrity": "sha512-NlayjehMtuZEdw2Lyipf/MxOCR2vATZQ7jn8cH0/dHwsNb+mqof9/6SW4jZT5p+So4qz+0mD21KG81+dDQSEhA==", + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.2.6.tgz", + "integrity": "sha512-gZARnKLJjTuHWKIkqF4G6dafIaPfH7NFqBz9U9wb26PV5koHQ5eeQ/0rgZmIdfJzMKqHzXB9aK25ykG2AnnzEQ==", "dev": true, "requires": { "@foliojs-fork/linebreak": "^1.1.1", @@ -14602,9 +14634,9 @@ "dev": true }, "qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "requires": { "side-channel": "^1.0.4" } @@ -15030,9 +15062,9 @@ } }, "regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + "version": "0.13.10", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz", + "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw==" }, "regenerator-transform": { "version": "0.15.0", @@ -15878,9 +15910,9 @@ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==" }, "socket.io": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.2.tgz", - "integrity": "sha512-6fCnk4ARMPZN448+SQcnn1u8OHUC72puJcNtSgg2xS34Cu7br1gQ09YKkO1PFfDn/wyUE9ZgMAwosJed003+NQ==", + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.3.tgz", + "integrity": "sha512-zdpnnKU+H6mOp7nYRXH4GNv1ux6HL6+lHL8g7Ds7Lj8CkdK1jJK/dlwsKDculbyOHifcJ0Pr/yeXnZQ5GeFrcg==", "dev": true, "requires": { "accepts": "~1.3.4", @@ -16871,13 +16903,13 @@ }, "dependencies": { "@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, "ajv": { @@ -17038,9 +17070,9 @@ } }, "traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha512-kdf4JKs8lbARxWdp7RKdNzoJBhGUcIalSYibuGyHJbmk40pOysQ0+QPvlkCOICOivDWU2IJo2rkrxyTK2AH4fw==" + "version": "0.6.7", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.7.tgz", + "integrity": "sha512-/y956gpUo9ZNCb99YjxG7OaslxZWHfCHAUUfshwqOXmxUIvqLjVO581BT+gM59+QV9tFe6/CGG53tsA1Y7RSdg==" }, "tree-kill": { "version": "1.2.2", @@ -17249,9 +17281,9 @@ "dev": true }, "ua-parser-js": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", - "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "version": "0.7.32", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz", + "integrity": "sha512-f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==", "dev": true }, "uglify-js": { diff --git a/package.json b/package.json index f01eb07e..813a4804 100644 --- a/package.json +++ b/package.json @@ -85,9 +85,9 @@ "@ionic/storage-angular": "3.0.6", "@ngx-translate/core": "14.0.0", "@ngx-translate/http-loader": "7.0.0", - "@openstapps/api": "0.43.0", + "@openstapps/api": "0.44.0", "@openstapps/configuration": "0.33.0", - "@openstapps/core": "0.70.0", + "@openstapps/core": "0.71.0", "@transistorsoft/capacitor-background-fetch": "1.0.0", "capacitor-secure-storage-plugin": "0.8.0", "cordova-plugin-calendar": "5.1.6", diff --git a/src/app/_helpers/data/sample-configuration.ts b/src/app/_helpers/data/sample-configuration.ts index d65c781e..32bfb25a 100644 --- a/src/app/_helpers/data/sample-configuration.ts +++ b/src/app/_helpers/data/sample-configuration.ts @@ -159,7 +159,6 @@ export const sampleIndexResponse: SCIndexResponse = { menus: [ { icon: 'icon', - id: 'main', items: [ { icon: 'icon', @@ -175,13 +174,14 @@ export const sampleIndexResponse: SCIndexResponse = { }, }, ], - name: 'main', + title: 'main', + route: '/main', translations: { de: { - name: 'Haupt', + title: 'Haupt', }, en: { - name: 'main', + title: 'main', }, }, }, diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index cdccd088..5c17b26e 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -15,9 +15,7 @@ import {NgModule} from '@angular/core'; import {PreloadAllModules, RouterModule, Routes} from '@angular/router'; -const routes: Routes = [ - {path: '', redirectTo: '/dashboard', pathMatch: 'full'}, -]; +const routes: Routes = [{path: '', redirectTo: '/overview', pathMatch: 'full'}]; /** * TODO @@ -30,7 +28,7 @@ const routes: Routes = [ errorHandler: error => { // Handle unknown routes, at the moment this can only be done via window.location if (error.message.includes('Cannot match any routes')) { - window.location.href = '/dashboard'; + window.location.href = '/overview'; } }, }), diff --git a/src/app/modules/dashboard/dashboard.component.html b/src/app/modules/dashboard/dashboard.component.html index 193c6649..0c3cb0ae 100644 --- a/src/app/modules/dashboard/dashboard.component.html +++ b/src/app/modules/dashboard/dashboard.component.html @@ -49,7 +49,6 @@ - - - + + + - {{ category.translations[language].name | titlecase }} + {{ category.translations[language].title | titlecase }} - - + + {{ item.translations[language].title | titlecase }} diff --git a/src/app/modules/menu/navigation/navigation.scss b/src/app/modules/menu/navigation/navigation.scss index b4aee603..3765ebb0 100644 --- a/src/app/modules/menu/navigation/navigation.scss +++ b/src/app/modules/menu/navigation/navigation.scss @@ -51,6 +51,13 @@ ion-router-outlet { background: white; } +.menu-category { + ion-label { + font-weight: bold; + font-size: 115%; + } +} + .link-active > * { color: var(--ion-color-primary); diff --git a/src/app/modules/menu/navigation/tabs-routing.module.ts b/src/app/modules/menu/navigation/tabs-routing.module.ts index 7b675a26..8046ff51 100644 --- a/src/app/modules/menu/navigation/tabs-routing.module.ts +++ b/src/app/modules/menu/navigation/tabs-routing.module.ts @@ -19,7 +19,7 @@ import {RouterModule, Routes} from '@angular/router'; const routes: Routes = [ { path: '', - redirectTo: '/dashboard', + redirectTo: '/overview', pathMatch: 'full', }, ]; diff --git a/src/app/modules/menu/navigation/tabs.component.ts b/src/app/modules/menu/navigation/tabs.component.ts index 0b3f851a..87795a92 100644 --- a/src/app/modules/menu/navigation/tabs.component.ts +++ b/src/app/modules/menu/navigation/tabs.component.ts @@ -14,6 +14,7 @@ */ import {Component} from '@angular/core'; +import {NavigationEnd, Router} from '@angular/router'; import { SCAppConfigurationMenuCategory, SCLanguage, @@ -33,29 +34,44 @@ export class TabsComponent { /** * Possible languages to be used for translation */ - language: keyof SCTranslations = 'en'; + language: keyof SCTranslations; /** * Menu entries from config module */ - menu: SCAppConfigurationMenuCategory; + menu: SCAppConfigurationMenuCategory[]; /** * Core translator */ translator: SCThingTranslator; + /** + * Name of selected tab + */ + selectedTab: string; + constructor( private readonly configProvider: ConfigProvider, public translateService: TranslateService, private readonly logger: NGXLogger, + private readonly router: Router, ) { + this.language = this.translateService + .currentLang as keyof SCTranslations; + this.translator = new SCThingTranslator(this.language); void this.loadMenuEntries(); + this.router.events.subscribe((event: unknown) => { + if (event instanceof NavigationEnd) { + this.selectTab(event.url); + } + }); + this.selectTab(router.url); + translateService.onLangChange?.subscribe((event: LangChangeEvent) => { this.language = event.lang as keyof SCTranslations; this.translator = new SCThingTranslator(this.language); }); - this.translator = new SCThingTranslator('en'); } /** @@ -67,7 +83,7 @@ export class TabsComponent { 'menus', )) as SCAppConfigurationMenuCategory[]; - const menu = menus.find(menu => menu.id === 'main'); + const menu = menus.slice(0, 5); if (menu) { this.menu = menu; } @@ -75,4 +91,19 @@ export class TabsComponent { this.logger.error(`error from loading menu entries: ${error}`); } } + + /* eslint-disable @typescript-eslint/no-explicit-any */ + selectTab(url: string) { + if (!this.menu) { + return; + } + if (url === '/') { + this.selectedTab = (this.menu[0] as any)?.title ?? ''; + return; + } + const candidate = this.menu + .slice(0, 5) + .find(category => url.includes(category.route)); + this.selectedTab = candidate?.title ?? ''; + } } diff --git a/src/app/modules/menu/navigation/tabs.spec.ts b/src/app/modules/menu/navigation/tabs.spec.ts index 354e89bb..2bbc1a29 100644 --- a/src/app/modules/menu/navigation/tabs.spec.ts +++ b/src/app/modules/menu/navigation/tabs.spec.ts @@ -16,6 +16,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import {CUSTOM_ELEMENTS_SCHEMA} from '@angular/core'; import {TestBed, waitForAsync} from '@angular/core/testing'; +import {RouterTestingModule} from '@angular/router/testing'; import {TabsComponent} from './tabs.component'; import {ConfigProvider} from '../../config/config.provider'; @@ -80,7 +81,7 @@ describe('Tabs', () => { TestBed.configureTestingModule({ declarations: [TabsComponent], schemas: [CUSTOM_ELEMENTS_SCHEMA], - imports: [TranslateModule.forRoot()], + imports: [RouterTestingModule, TranslateModule.forRoot()], providers: [ {provide: Platform, useValue: platformSpy}, {provide: TranslateService, useValue: translateServiceSpy}, diff --git a/src/app/modules/menu/navigation/tabs.template.html b/src/app/modules/menu/navigation/tabs.template.html index ce8c8507..a93a7492 100644 --- a/src/app/modules/menu/navigation/tabs.template.html +++ b/src/app/modules/menu/navigation/tabs.template.html @@ -12,9 +12,9 @@ ~ You should have received a copy of the GNU General Public License along with ~ this program. If not, see . --> - + + + + + + {{ + category.translations[language].title | titlecase + }} + + diff --git a/src/assets/i18n/de.json b/src/assets/i18n/de.json index 56dc87ae..f70459ed 100644 --- a/src/assets/i18n/de.json +++ b/src/assets/i18n/de.json @@ -30,13 +30,6 @@ "UNKNOWN": "Unbekannter Fehler." } }, - "tabs": { - "home": "Home", - "canteens": "Mensa", - "schedule": "Studium", - "map": "Karte", - "profile": "Profil" - }, "assessments": { "TITLE": "Noten", "courseOfStudyAssessments": { diff --git a/src/assets/i18n/en.json b/src/assets/i18n/en.json index 29af986b..291fe7df 100644 --- a/src/assets/i18n/en.json +++ b/src/assets/i18n/en.json @@ -30,13 +30,6 @@ "UNKNOWN": "Unknown problem." } }, - "tabs": { - "home": "Home", - "canteens": "Canteens", - "schedule": "Study", - "map": "Map", - "profile": "Profile" - }, "assessments": { "TITLE": "Grades", "courseOfStudyAssessments": {