From 8a6a8bd1dcf46b2686f7ce855eef93bb31b096ff Mon Sep 17 00:00:00 2001 From: Simon Giesel Date: Sat, 3 Jun 2023 23:42:07 +0200 Subject: [PATCH] feat(webapp): ui refinements --- webapp/.eslintrc.js | 2 +- webapp/package.json | 10 +- webapp/pnpm-lock.yaml | 294 +++-- webapp/public/safari-pinned-tab.svg | 1075 +---------------- webapp/src/assets/logo_black.svg | 1 - webapp/src/assets/logo_white.svg | 1 - webapp/src/assets/svg/logo_black.svg | 1 + webapp/src/assets/svg/logo_white.svg | 1 + webapp/src/assets/svg/svgo.config.js | 6 + webapp/src/components/atoms/AtomLogo.vue | 8 +- .../molecules/MoleculeAddAccountModal.vue | 4 +- .../molecules/MoleculeDataTable.vue | 12 +- .../molecules/MoleculeNavigationDrawer.vue | 16 +- .../molecules/MoleculeTransactionTable.vue | 8 +- webapp/src/components/views/BankView.vue | 11 +- webapp/src/components/views/CheckInView.vue | 6 +- webapp/src/components/views/DataView.vue | 50 +- webapp/tailwind.config.js | 6 +- 18 files changed, 266 insertions(+), 1246 deletions(-) delete mode 100644 webapp/src/assets/logo_black.svg delete mode 100644 webapp/src/assets/logo_white.svg create mode 100644 webapp/src/assets/svg/logo_black.svg create mode 100644 webapp/src/assets/svg/logo_white.svg create mode 100644 webapp/src/assets/svg/svgo.config.js diff --git a/webapp/.eslintrc.js b/webapp/.eslintrc.js index 7f4cee1..e77b946 100644 --- a/webapp/.eslintrc.js +++ b/webapp/.eslintrc.js @@ -140,7 +140,7 @@ module.exports = { 'svg': 'always', 'math': 'always', }], - 'tailwindcss/no-custom-classname': 'off', + // 'tailwindcss/no-custom-classname': 'off', }, }, ], diff --git a/webapp/package.json b/webapp/package.json index 0e82487..12c9590 100644 --- a/webapp/package.json +++ b/webapp/package.json @@ -8,13 +8,14 @@ "build": "vue-tsc --noEmit && vite build", "lint": "eslint -c .eslintrc.js src/", "preview": "vite preview", - "typegen": "pocketbase-typegen --json ../server/pb_schema.json --out ./src/types/pocketbase.types.ts" + "typegen": "pocketbase-typegen --json ../server/pb_schema.json --out ./src/types/pocketbase.types.ts", + "optimize-svg": "svgo -f ./src/assets/svg/ --config=./src/assets/svg/svgo.config.js" }, "dependencies": { "@heroicons/vue": "^2.0.18", "@vueuse/core": "^10.1.2", "canvas-confetti": "^1.6.0", - "daisyui": "^2.52.0", + "daisyui": "^3.0.2", "pocketbase": "^0.15.1", "vue": "^3.3.4", "vue-router": "4.2.2" @@ -26,15 +27,16 @@ "@typescript-eslint/parser": "^5.59.8", "@vitejs/plugin-vue": "^4.2.3", "autoprefixer": "^10.4.14", - "eslint": "^8.41.0", + "eslint": "^8.42.0", "eslint-plugin-tailwindcss": "^3.12.1", "eslint-plugin-vue": "^9.14.1", "eslint-plugin-vue-scoped-css": "^2.4.0", "pocketbase-typegen": "^1.1.9", "postcss": "^8.4.24", "sass": "^1.62.1", + "svgo": "^3.0.2", "tailwindcss": "^3.3.2", - "typescript": "^5.0.4", + "typescript": "^5.1.3", "vite": "^4.3.9", "vue-eslint-parser": "^9.3.0", "vue-tsc": "^1.6.5" diff --git a/webapp/pnpm-lock.yaml b/webapp/pnpm-lock.yaml index 58852f1..ae1da6d 100644 --- a/webapp/pnpm-lock.yaml +++ b/webapp/pnpm-lock.yaml @@ -15,8 +15,8 @@ dependencies: specifier: ^1.6.0 version: 1.6.0 daisyui: - specifier: ^2.52.0 - version: 2.52.0(autoprefixer@10.4.14)(postcss@8.4.24) + specifier: ^3.0.2 + version: 3.0.2(postcss@8.4.24) pocketbase: specifier: ^0.15.1 version: 0.15.1 @@ -36,10 +36,10 @@ devDependencies: version: 1.6.0 '@typescript-eslint/eslint-plugin': specifier: ^5.59.8 - version: 5.59.8(@typescript-eslint/parser@5.59.8)(eslint@8.41.0)(typescript@5.0.4) + version: 5.59.8(@typescript-eslint/parser@5.59.8)(eslint@8.42.0)(typescript@5.1.3) '@typescript-eslint/parser': specifier: ^5.59.8 - version: 5.59.8(eslint@8.41.0)(typescript@5.0.4) + version: 5.59.8(eslint@8.42.0)(typescript@5.1.3) '@vitejs/plugin-vue': specifier: ^4.2.3 version: 4.2.3(vite@4.3.9)(vue@3.3.4) @@ -47,17 +47,17 @@ devDependencies: specifier: ^10.4.14 version: 10.4.14(postcss@8.4.24) eslint: - specifier: ^8.41.0 - version: 8.41.0 + specifier: ^8.42.0 + version: 8.42.0 eslint-plugin-tailwindcss: specifier: ^3.12.1 version: 3.12.1(tailwindcss@3.3.2) eslint-plugin-vue: specifier: ^9.14.1 - version: 9.14.1(eslint@8.41.0) + version: 9.14.1(eslint@8.42.0) eslint-plugin-vue-scoped-css: specifier: ^2.4.0 - version: 2.4.0(eslint@8.41.0)(vue-eslint-parser@9.3.0) + version: 2.4.0(eslint@8.42.0)(vue-eslint-parser@9.3.0) pocketbase-typegen: specifier: ^1.1.9 version: 1.1.9 @@ -67,21 +67,24 @@ devDependencies: sass: specifier: ^1.62.1 version: 1.62.1 + svgo: + specifier: ^3.0.2 + version: 3.0.2 tailwindcss: specifier: ^3.3.2 version: 3.3.2 typescript: - specifier: ^5.0.4 - version: 5.0.4 + specifier: ^5.1.3 + version: 5.1.3 vite: specifier: ^4.3.9 version: 4.3.9(sass@1.62.1) vue-eslint-parser: specifier: ^9.3.0 - version: 9.3.0(eslint@8.41.0) + version: 9.3.0(eslint@8.42.0) vue-tsc: specifier: ^1.6.5 - version: 1.7.0(typescript@5.0.4) + version: 1.7.0(typescript@5.1.3) packages: @@ -305,13 +308,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.41.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.42.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.41.0 + eslint: 8.42.0 eslint-visitor-keys: 3.4.1 dev: true @@ -337,8 +340,8 @@ packages: - supports-color dev: true - /@eslint/js@8.41.0: - resolution: {integrity: sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==} + /@eslint/js@8.42.0: + resolution: {integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -355,8 +358,8 @@ packages: vue: 3.3.4 dev: false - /@humanwhocodes/config-array@0.11.8: - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + /@humanwhocodes/config-array@0.11.10: + resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 @@ -475,6 +478,11 @@ packages: dev: true optional: true + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + /@types/canvas-confetti@1.6.0: resolution: {integrity: sha512-Yq6rIccwcco0TLD5SMUrIM7Fk7Fe/C0jmNRxJJCLtAF6gebDkPuUjK5EHedxecm69Pi/aA+It39Ux4OHmFhjRw==} dev: true @@ -491,7 +499,7 @@ packages: resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} dev: false - /@typescript-eslint/eslint-plugin@5.59.8(@typescript-eslint/parser@5.59.8)(eslint@8.41.0)(typescript@5.0.4): + /@typescript-eslint/eslint-plugin@5.59.8(@typescript-eslint/parser@5.59.8)(eslint@8.42.0)(typescript@5.1.3): resolution: {integrity: sha512-JDMOmhXteJ4WVKOiHXGCoB96ADWg9q7efPWHRViT/f09bA8XOMLAVHHju3l0MkZnG1izaWXYmgvQcUjTRcpShQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -503,23 +511,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.59.8(eslint@8.41.0)(typescript@5.0.4) + '@typescript-eslint/parser': 5.59.8(eslint@8.42.0)(typescript@5.1.3) '@typescript-eslint/scope-manager': 5.59.8 - '@typescript-eslint/type-utils': 5.59.8(eslint@8.41.0)(typescript@5.0.4) - '@typescript-eslint/utils': 5.59.8(eslint@8.41.0)(typescript@5.0.4) + '@typescript-eslint/type-utils': 5.59.8(eslint@8.42.0)(typescript@5.1.3) + '@typescript-eslint/utils': 5.59.8(eslint@8.42.0)(typescript@5.1.3) debug: 4.3.4 - eslint: 8.41.0 + eslint: 8.42.0 grapheme-splitter: 1.0.4 ignore: 5.2.0 natural-compare-lite: 1.4.0 semver: 7.5.1 - tsutils: 3.21.0(typescript@5.0.4) - typescript: 5.0.4 + tsutils: 3.21.0(typescript@5.1.3) + typescript: 5.1.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.59.8(eslint@8.41.0)(typescript@5.0.4): + /@typescript-eslint/parser@5.59.8(eslint@8.42.0)(typescript@5.1.3): resolution: {integrity: sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -531,10 +539,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.59.8 '@typescript-eslint/types': 5.59.8 - '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.1.3) debug: 4.3.4 - eslint: 8.41.0 - typescript: 5.0.4 + eslint: 8.42.0 + typescript: 5.1.3 transitivePeerDependencies: - supports-color dev: true @@ -547,7 +555,7 @@ packages: '@typescript-eslint/visitor-keys': 5.59.8 dev: true - /@typescript-eslint/type-utils@5.59.8(eslint@8.41.0)(typescript@5.0.4): + /@typescript-eslint/type-utils@5.59.8(eslint@8.42.0)(typescript@5.1.3): resolution: {integrity: sha512-+5M518uEIHFBy3FnyqZUF3BMP+AXnYn4oyH8RF012+e7/msMY98FhGL5SrN29NQ9xDgvqCgYnsOiKp1VjZ/fpA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -557,12 +565,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.0.4) - '@typescript-eslint/utils': 5.59.8(eslint@8.41.0)(typescript@5.0.4) + '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.1.3) + '@typescript-eslint/utils': 5.59.8(eslint@8.42.0)(typescript@5.1.3) debug: 4.3.4 - eslint: 8.41.0 - tsutils: 3.21.0(typescript@5.0.4) - typescript: 5.0.4 + eslint: 8.42.0 + tsutils: 3.21.0(typescript@5.1.3) + typescript: 5.1.3 transitivePeerDependencies: - supports-color dev: true @@ -572,7 +580,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.59.8(typescript@5.0.4): + /@typescript-eslint/typescript-estree@5.59.8(typescript@5.1.3): resolution: {integrity: sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -587,25 +595,25 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.1 - tsutils: 3.21.0(typescript@5.0.4) - typescript: 5.0.4 + tsutils: 3.21.0(typescript@5.1.3) + typescript: 5.1.3 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.59.8(eslint@8.41.0)(typescript@5.0.4): + /@typescript-eslint/utils@5.59.8(eslint@8.42.0)(typescript@5.1.3): resolution: {integrity: sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) '@types/json-schema': 7.0.11 '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.59.8 '@typescript-eslint/types': 5.59.8 - '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.0.4) - eslint: 8.41.0 + '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.1.3) + eslint: 8.42.0 eslint-scope: 5.1.1 semver: 7.5.1 transitivePeerDependencies: @@ -644,13 +652,13 @@ packages: muggle-string: 0.2.2 dev: true - /@volar/typescript@1.5.4(typescript@5.0.4): + /@volar/typescript@1.5.4(typescript@5.1.3): resolution: {integrity: sha512-mVJJ7ZGY2RBDj6PAircUvLBLbFJJRNmqN5IYNpIUyFwnxdKxn1t3NhxaLYSPi/A0gdMDbCBtq0a4Azc0IuIOfQ==} peerDependencies: typescript: '*' dependencies: '@volar/language-core': 1.5.4 - typescript: 5.0.4 + typescript: 5.1.3 dev: true /@vue/compiler-core@3.3.4: @@ -744,14 +752,14 @@ packages: /@vue/shared@3.3.4: resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} - /@vue/typescript@1.7.0(typescript@5.0.4): + /@vue/typescript@1.7.0(typescript@5.1.3): resolution: {integrity: sha512-/EcwHTezjY8DknfO/+9S04s9lXQWl7dLDJMTNjgEAWUrgJILN9cbooQ0UfTqC5Z1PPXBHHtdFyqKajrhTlSJ4A==} peerDependencies: typescript: '*' dependencies: - '@volar/typescript': 1.5.4(typescript@5.0.4) + '@volar/typescript': 1.5.4(typescript@5.1.3) '@vue/language-core': 1.7.0 - typescript: 5.0.4 + typescript: 5.1.3 dev: true /@vueuse/core@10.1.2(vue@3.3.4): @@ -929,6 +937,7 @@ packages: picocolors: 1.0.0 postcss: 8.4.24 postcss-value-parser: 4.2.0 + dev: true /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -968,6 +977,7 @@ packages: electron-to-chromium: 1.4.411 node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.5) + dev: true /cacache@15.3.0: resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} @@ -1007,6 +1017,7 @@ packages: /caniuse-lite@1.0.30001489: resolution: {integrity: sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==} + dev: true /canvas-confetti@1.6.0: resolution: {integrity: sha512-ej+w/m8Jzpv9Z7W7uJZer14Ke8P2ogsjg4ZMGIuq4iqUOqY2Jq8BNW42iGmNfRwREaaEfFIczLuZZiEVSYNHAA==} @@ -1050,28 +1061,19 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 + dev: true /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} - dependencies: - color-name: 1.1.4 - simple-swizzle: 0.2.2 - dev: false + dev: true /color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true dev: true - /color@4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} - engines: {node: '>=12.5.0'} - dependencies: - color-convert: 2.0.1 - color-string: 1.9.1 + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} dev: false /combined-stream@1.0.8: @@ -1085,6 +1087,11 @@ packages: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + /commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} @@ -1114,6 +1121,16 @@ packages: which: 2.0.2 dev: true + /css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.1.0 + nth-check: 2.1.1 + dev: true + /css-selector-tokenizer@0.8.0: resolution: {integrity: sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==} dependencies: @@ -1121,6 +1138,27 @@ packages: fastparse: 1.1.2 dev: false + /css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.0.2 + dev: true + + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + /css@3.0.0: resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} dependencies: @@ -1134,17 +1172,22 @@ packages: engines: {node: '>=4'} hasBin: true + /csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + css-tree: 2.2.1 + dev: true + /csstype@3.1.2: resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} - /daisyui@2.52.0(autoprefixer@10.4.14)(postcss@8.4.24): - resolution: {integrity: sha512-LQTA5/IVXAJHBMFoeaEMfd7/akAFPPcdQPR3O9fzzcFiczneJFM73CFPnScmW2sOgn/D83cvkP854ep2T9OfTg==} + /daisyui@3.0.2(postcss@8.4.24): + resolution: {integrity: sha512-0X+0PkgTIWevt5m4AZCCgvqI5pKRormTEhdfmc31dwfLNq6uY4wENCXAtcXzZMKt7JBKcVTWlj/uDrOjj6XpUQ==} peerDependencies: - autoprefixer: ^10.0.2 - postcss: ^8.1.6 + postcss: ^8 dependencies: - autoprefixer: 10.4.14(postcss@8.4.24) - color: 4.2.3 + colord: 2.9.3 css-selector-tokenizer: 0.8.0 postcss: 8.4.24 postcss-js: 4.0.1(postcss@8.4.24) @@ -1218,8 +1261,36 @@ packages: esutils: 2.0.3 dev: true + /dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + /electron-to-chromium@1.4.411: resolution: {integrity: sha512-5VXLW4Qw89vM2WTICHua/y8v7fKGDRVa2VPOtBB9IpLvW316B+xd8yD1wTmLPY2ot/00P/qt87xdolj4aG/Lzg==} + dev: true /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1233,6 +1304,11 @@ packages: dev: true optional: true + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} @@ -1277,6 +1353,7 @@ packages: /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} + dev: true /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -1294,39 +1371,39 @@ packages: tailwindcss: 3.3.2 dev: true - /eslint-plugin-vue-scoped-css@2.4.0(eslint@8.41.0)(vue-eslint-parser@9.3.0): + /eslint-plugin-vue-scoped-css@2.4.0(eslint@8.42.0)(vue-eslint-parser@9.3.0): resolution: {integrity: sha512-H2GdGyaNuz58gMwJYrPAyok2ZZFklb1wnI4jqLyQZf17gvZeTOpYzCxqhhcT5hBeaCUHhjxU5akCI7A4AtBHew==} engines: {node: ^12.22 || ^14.17 || >=16} peerDependencies: eslint: '>=5.0.0' vue-eslint-parser: '>=7.1.0' dependencies: - eslint: 8.41.0 - eslint-utils: 3.0.0(eslint@8.41.0) + eslint: 8.42.0 + eslint-utils: 3.0.0(eslint@8.42.0) lodash: 4.17.21 postcss: 8.4.24 postcss-safe-parser: 6.0.0(postcss@8.4.24) postcss-scss: 4.0.4(postcss@8.4.24) postcss-selector-parser: 6.0.10 postcss-styl: 0.12.3 - vue-eslint-parser: 9.3.0(eslint@8.41.0) + vue-eslint-parser: 9.3.0(eslint@8.42.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-vue@9.14.1(eslint@8.41.0): + /eslint-plugin-vue@9.14.1(eslint@8.42.0): resolution: {integrity: sha512-LQazDB1qkNEKejLe/b5a9VfEbtbczcOaui5lQ4Qw0tbRBbQYREyxxOV5BQgNDTqGPs9pxqiEpbMi9ywuIaF7vw==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) - eslint: 8.41.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) + eslint: 8.42.0 natural-compare: 1.4.0 nth-check: 2.1.1 postcss-selector-parser: 6.0.10 semver: 7.3.7 - vue-eslint-parser: 9.3.0(eslint@8.41.0) + vue-eslint-parser: 9.3.0(eslint@8.42.0) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -1356,13 +1433,13 @@ packages: estraverse: 5.3.0 dev: true - /eslint-utils@3.0.0(eslint@8.41.0): + /eslint-utils@3.0.0(eslint@8.42.0): resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.41.0 + eslint: 8.42.0 eslint-visitor-keys: 2.1.0 dev: true @@ -1381,16 +1458,16 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.41.0: - resolution: {integrity: sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==} + /eslint@8.42.0: + resolution: {integrity: sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0) '@eslint-community/regexpp': 4.5.1 '@eslint/eslintrc': 2.0.3 - '@eslint/js': 8.41.0 - '@humanwhocodes/config-array': 0.11.8 + '@eslint/js': 8.42.0 + '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 @@ -1565,6 +1642,7 @@ packages: /fraction.js@4.2.0: resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true /fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} @@ -1790,10 +1868,6 @@ packages: dev: true optional: true - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: false - /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -1945,6 +2019,14 @@ packages: dev: true optional: true + /mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + dev: true + + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: true + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -2124,6 +2206,7 @@ packages: /node-releases@2.0.12: resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + dev: true /nopt@5.0.0: resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} @@ -2140,6 +2223,7 @@ packages: /normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} + dev: true /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} @@ -2537,12 +2621,6 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} - dependencies: - is-arrayish: 0.3.2 - dev: false - /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -2692,6 +2770,19 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} + /svgo@3.0.2: + resolution: {integrity: sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 5.1.0 + css-tree: 2.3.1 + csso: 5.0.5 + picocolors: 1.0.0 + dev: true + /tailwindcss@3.3.2: resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} engines: {node: '>=14.0.0'} @@ -2771,14 +2862,14 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tsutils@3.21.0(typescript@5.0.4): + /tsutils@3.21.0(typescript@5.1.3): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 5.0.4 + typescript: 5.1.3 dev: true /type-check@0.4.0: @@ -2793,9 +2884,9 @@ packages: engines: {node: '>=10'} dev: true - /typescript@5.0.4: - resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} - engines: {node: '>=12.20'} + /typescript@5.1.3: + resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} + engines: {node: '>=14.17'} hasBin: true dev: true @@ -2822,6 +2913,7 @@ packages: browserslist: 4.21.5 escalade: 3.1.1 picocolors: 1.0.0 + dev: true /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} @@ -2880,14 +2972,14 @@ packages: vue: 3.3.4 dev: false - /vue-eslint-parser@9.3.0(eslint@8.41.0): + /vue-eslint-parser@9.3.0(eslint@8.42.0): resolution: {integrity: sha512-48IxT9d0+wArT1+3wNIy0tascRoywqSUe2E1YalIC1L8jsUGe5aJQItWfRok7DVFGz3UYvzEI7n5wiTXsCMAcQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' dependencies: debug: 4.3.4 - eslint: 8.41.0 + eslint: 8.42.0 eslint-scope: 7.1.1 eslint-visitor-keys: 3.3.0 espree: 9.3.2 @@ -2914,16 +3006,16 @@ packages: he: 1.2.0 dev: true - /vue-tsc@1.7.0(typescript@5.0.4): + /vue-tsc@1.7.0(typescript@5.1.3): resolution: {integrity: sha512-WXRQ6StfLrXHq1uIe29o9OOKh6aXR2LdxT7z951ZZzEJj3y+dCoaqCOT9NVtvCK5C2m6PbFKRx5sG7t/jbtmjg==} hasBin: true peerDependencies: typescript: '*' dependencies: '@vue/language-core': 1.7.0 - '@vue/typescript': 1.7.0(typescript@5.0.4) + '@vue/typescript': 1.7.0(typescript@5.1.3) semver: 7.5.1 - typescript: 5.0.4 + typescript: 5.1.3 dev: true /vue@3.3.4: diff --git a/webapp/public/safari-pinned-tab.svg b/webapp/public/safari-pinned-tab.svg index 6565705..d23547f 100644 --- a/webapp/public/safari-pinned-tab.svg +++ b/webapp/public/safari-pinned-tab.svg @@ -1,1074 +1 @@ - - - - -Created by potrace 1.14, written by Peter Selinger 2001-2017 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/webapp/src/assets/logo_black.svg b/webapp/src/assets/logo_black.svg deleted file mode 100644 index 0e2300d..0000000 --- a/webapp/src/assets/logo_black.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webapp/src/assets/logo_white.svg b/webapp/src/assets/logo_white.svg deleted file mode 100644 index 843607e..0000000 --- a/webapp/src/assets/logo_white.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webapp/src/assets/svg/logo_black.svg b/webapp/src/assets/svg/logo_black.svg new file mode 100644 index 0000000..b768284 --- /dev/null +++ b/webapp/src/assets/svg/logo_black.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/webapp/src/assets/svg/logo_white.svg b/webapp/src/assets/svg/logo_white.svg new file mode 100644 index 0000000..a01e991 --- /dev/null +++ b/webapp/src/assets/svg/logo_white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/webapp/src/assets/svg/svgo.config.js b/webapp/src/assets/svg/svgo.config.js new file mode 100644 index 0000000..db76dc1 --- /dev/null +++ b/webapp/src/assets/svg/svgo.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: [ + 'preset-default', + 'prefixIds', + ], +}; \ No newline at end of file diff --git a/webapp/src/components/atoms/AtomLogo.vue b/webapp/src/components/atoms/AtomLogo.vue index dc690f2..99c3766 100644 --- a/webapp/src/components/atoms/AtomLogo.vue +++ b/webapp/src/components/atoms/AtomLogo.vue @@ -1,13 +1,13 @@ diff --git a/webapp/src/components/molecules/MoleculeAddAccountModal.vue b/webapp/src/components/molecules/MoleculeAddAccountModal.vue index f8df50b..ebad2f5 100644 --- a/webapp/src/components/molecules/MoleculeAddAccountModal.vue +++ b/webapp/src/components/molecules/MoleculeAddAccountModal.vue @@ -4,7 +4,7 @@ title="Account hinzufügen" >
-

Daten

+

Daten

-

Kontakt

+

Kontakt

-
- - +
+
+ - +
{{ header.title }}
\ No newline at end of file diff --git a/webapp/src/components/molecules/MoleculeNavigationDrawer.vue b/webapp/src/components/molecules/MoleculeNavigationDrawer.vue index bcf706a..2688082 100644 --- a/webapp/src/components/molecules/MoleculeNavigationDrawer.vue +++ b/webapp/src/components/molecules/MoleculeNavigationDrawer.vue @@ -1,13 +1,13 @@ @@ -121,6 +119,9 @@ if(router.currentRoute.value.query.accountNumber) { onKeyStroke(['e', 'g', 'a'], (e) => { e.preventDefault(); + if(depositModalOpen.value || salaryModalOpen.value || withdrawModalOpen.value) { + return; + } switch (e.key) { case 'e': depositModalLabel.value?.click(); diff --git a/webapp/src/components/views/CheckInView.vue b/webapp/src/components/views/CheckInView.vue index 356fc57..060e383 100644 --- a/webapp/src/components/views/CheckInView.vue +++ b/webapp/src/components/views/CheckInView.vue @@ -5,10 +5,8 @@ v-if="error" class="alert alert-error mt-6 shadow-lg" > -
- - Fehler: {{ error }} -
+ + Fehler: {{ error }} diff --git a/webapp/src/components/views/DataView.vue b/webapp/src/components/views/DataView.vue index 1a561ff..b360a39 100644 --- a/webapp/src/components/views/DataView.vue +++ b/webapp/src/components/views/DataView.vue @@ -2,7 +2,7 @@
- - - -
+ + + +