1
0
Fork 0
forked from Kispi/Core

feat(webapp): ui refinements

This commit is contained in:
Simon Giesel 2023-06-03 23:42:07 +02:00
parent 364ee76159
commit 8a6a8bd1dc
18 changed files with 266 additions and 1246 deletions

View file

@ -140,7 +140,7 @@ module.exports = {
'svg': 'always', 'svg': 'always',
'math': 'always', 'math': 'always',
}], }],
'tailwindcss/no-custom-classname': 'off', // 'tailwindcss/no-custom-classname': 'off',
}, },
}, },
], ],

View file

@ -8,13 +8,14 @@
"build": "vue-tsc --noEmit && vite build", "build": "vue-tsc --noEmit && vite build",
"lint": "eslint -c .eslintrc.js src/", "lint": "eslint -c .eslintrc.js src/",
"preview": "vite preview", "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": { "dependencies": {
"@heroicons/vue": "^2.0.18", "@heroicons/vue": "^2.0.18",
"@vueuse/core": "^10.1.2", "@vueuse/core": "^10.1.2",
"canvas-confetti": "^1.6.0", "canvas-confetti": "^1.6.0",
"daisyui": "^2.52.0", "daisyui": "^3.0.2",
"pocketbase": "^0.15.1", "pocketbase": "^0.15.1",
"vue": "^3.3.4", "vue": "^3.3.4",
"vue-router": "4.2.2" "vue-router": "4.2.2"
@ -26,15 +27,16 @@
"@typescript-eslint/parser": "^5.59.8", "@typescript-eslint/parser": "^5.59.8",
"@vitejs/plugin-vue": "^4.2.3", "@vitejs/plugin-vue": "^4.2.3",
"autoprefixer": "^10.4.14", "autoprefixer": "^10.4.14",
"eslint": "^8.41.0", "eslint": "^8.42.0",
"eslint-plugin-tailwindcss": "^3.12.1", "eslint-plugin-tailwindcss": "^3.12.1",
"eslint-plugin-vue": "^9.14.1", "eslint-plugin-vue": "^9.14.1",
"eslint-plugin-vue-scoped-css": "^2.4.0", "eslint-plugin-vue-scoped-css": "^2.4.0",
"pocketbase-typegen": "^1.1.9", "pocketbase-typegen": "^1.1.9",
"postcss": "^8.4.24", "postcss": "^8.4.24",
"sass": "^1.62.1", "sass": "^1.62.1",
"svgo": "^3.0.2",
"tailwindcss": "^3.3.2", "tailwindcss": "^3.3.2",
"typescript": "^5.0.4", "typescript": "^5.1.3",
"vite": "^4.3.9", "vite": "^4.3.9",
"vue-eslint-parser": "^9.3.0", "vue-eslint-parser": "^9.3.0",
"vue-tsc": "^1.6.5" "vue-tsc": "^1.6.5"

View file

@ -15,8 +15,8 @@ dependencies:
specifier: ^1.6.0 specifier: ^1.6.0
version: 1.6.0 version: 1.6.0
daisyui: daisyui:
specifier: ^2.52.0 specifier: ^3.0.2
version: 2.52.0(autoprefixer@10.4.14)(postcss@8.4.24) version: 3.0.2(postcss@8.4.24)
pocketbase: pocketbase:
specifier: ^0.15.1 specifier: ^0.15.1
version: 0.15.1 version: 0.15.1
@ -36,10 +36,10 @@ devDependencies:
version: 1.6.0 version: 1.6.0
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: ^5.59.8 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': '@typescript-eslint/parser':
specifier: ^5.59.8 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': '@vitejs/plugin-vue':
specifier: ^4.2.3 specifier: ^4.2.3
version: 4.2.3(vite@4.3.9)(vue@3.3.4) version: 4.2.3(vite@4.3.9)(vue@3.3.4)
@ -47,17 +47,17 @@ devDependencies:
specifier: ^10.4.14 specifier: ^10.4.14
version: 10.4.14(postcss@8.4.24) version: 10.4.14(postcss@8.4.24)
eslint: eslint:
specifier: ^8.41.0 specifier: ^8.42.0
version: 8.41.0 version: 8.42.0
eslint-plugin-tailwindcss: eslint-plugin-tailwindcss:
specifier: ^3.12.1 specifier: ^3.12.1
version: 3.12.1(tailwindcss@3.3.2) version: 3.12.1(tailwindcss@3.3.2)
eslint-plugin-vue: eslint-plugin-vue:
specifier: ^9.14.1 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: eslint-plugin-vue-scoped-css:
specifier: ^2.4.0 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: pocketbase-typegen:
specifier: ^1.1.9 specifier: ^1.1.9
version: 1.1.9 version: 1.1.9
@ -67,21 +67,24 @@ devDependencies:
sass: sass:
specifier: ^1.62.1 specifier: ^1.62.1
version: 1.62.1 version: 1.62.1
svgo:
specifier: ^3.0.2
version: 3.0.2
tailwindcss: tailwindcss:
specifier: ^3.3.2 specifier: ^3.3.2
version: 3.3.2 version: 3.3.2
typescript: typescript:
specifier: ^5.0.4 specifier: ^5.1.3
version: 5.0.4 version: 5.1.3
vite: vite:
specifier: ^4.3.9 specifier: ^4.3.9
version: 4.3.9(sass@1.62.1) version: 4.3.9(sass@1.62.1)
vue-eslint-parser: vue-eslint-parser:
specifier: ^9.3.0 specifier: ^9.3.0
version: 9.3.0(eslint@8.41.0) version: 9.3.0(eslint@8.42.0)
vue-tsc: vue-tsc:
specifier: ^1.6.5 specifier: ^1.6.5
version: 1.7.0(typescript@5.0.4) version: 1.7.0(typescript@5.1.3)
packages: packages:
@ -305,13 +308,13 @@ packages:
dev: true dev: true
optional: 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==} resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies: dependencies:
eslint: 8.41.0 eslint: 8.42.0
eslint-visitor-keys: 3.4.1 eslint-visitor-keys: 3.4.1
dev: true dev: true
@ -337,8 +340,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@eslint/js@8.41.0: /@eslint/js@8.42.0:
resolution: {integrity: sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==} resolution: {integrity: sha512-6SWlXpWU5AvId8Ac7zjzmIOqMOba/JWY8XZ4A7q7Gn1Vlfg/SFFIlrtHXt9nPn4op9ZPAkl91Jao+QQv3r/ukw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
@ -355,8 +358,8 @@ packages:
vue: 3.3.4 vue: 3.3.4
dev: false dev: false
/@humanwhocodes/config-array@0.11.8: /@humanwhocodes/config-array@0.11.10:
resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} resolution: {integrity: sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==}
engines: {node: '>=10.10.0'} engines: {node: '>=10.10.0'}
dependencies: dependencies:
'@humanwhocodes/object-schema': 1.2.1 '@humanwhocodes/object-schema': 1.2.1
@ -475,6 +478,11 @@ packages:
dev: true dev: true
optional: 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: /@types/canvas-confetti@1.6.0:
resolution: {integrity: sha512-Yq6rIccwcco0TLD5SMUrIM7Fk7Fe/C0jmNRxJJCLtAF6gebDkPuUjK5EHedxecm69Pi/aA+It39Ux4OHmFhjRw==} resolution: {integrity: sha512-Yq6rIccwcco0TLD5SMUrIM7Fk7Fe/C0jmNRxJJCLtAF6gebDkPuUjK5EHedxecm69Pi/aA+It39Ux4OHmFhjRw==}
dev: true dev: true
@ -491,7 +499,7 @@ packages:
resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==} resolution: {integrity: sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA==}
dev: false 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==} resolution: {integrity: sha512-JDMOmhXteJ4WVKOiHXGCoB96ADWg9q7efPWHRViT/f09bA8XOMLAVHHju3l0MkZnG1izaWXYmgvQcUjTRcpShQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
@ -503,23 +511,23 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@eslint-community/regexpp': 4.5.1 '@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/scope-manager': 5.59.8
'@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)
'@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)
debug: 4.3.4 debug: 4.3.4
eslint: 8.41.0 eslint: 8.42.0
grapheme-splitter: 1.0.4 grapheme-splitter: 1.0.4
ignore: 5.2.0 ignore: 5.2.0
natural-compare-lite: 1.4.0 natural-compare-lite: 1.4.0
semver: 7.5.1 semver: 7.5.1
tsutils: 3.21.0(typescript@5.0.4) tsutils: 3.21.0(typescript@5.1.3)
typescript: 5.0.4 typescript: 5.1.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
@ -531,10 +539,10 @@ packages:
dependencies: dependencies:
'@typescript-eslint/scope-manager': 5.59.8 '@typescript-eslint/scope-manager': 5.59.8
'@typescript-eslint/types': 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 debug: 4.3.4
eslint: 8.41.0 eslint: 8.42.0
typescript: 5.0.4 typescript: 5.1.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@ -547,7 +555,7 @@ packages:
'@typescript-eslint/visitor-keys': 5.59.8 '@typescript-eslint/visitor-keys': 5.59.8
dev: true 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==} resolution: {integrity: sha512-+5M518uEIHFBy3FnyqZUF3BMP+AXnYn4oyH8RF012+e7/msMY98FhGL5SrN29NQ9xDgvqCgYnsOiKp1VjZ/fpA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
@ -557,12 +565,12 @@ packages:
typescript: typescript:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 5.59.8(typescript@5.0.4) '@typescript-eslint/typescript-estree': 5.59.8(typescript@5.1.3)
'@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)
debug: 4.3.4 debug: 4.3.4
eslint: 8.41.0 eslint: 8.42.0
tsutils: 3.21.0(typescript@5.0.4) tsutils: 3.21.0(typescript@5.1.3)
typescript: 5.0.4 typescript: 5.1.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
@ -572,7 +580,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true 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==} resolution: {integrity: sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
@ -587,25 +595,25 @@ packages:
globby: 11.1.0 globby: 11.1.0
is-glob: 4.0.3 is-glob: 4.0.3
semver: 7.5.1 semver: 7.5.1
tsutils: 3.21.0(typescript@5.0.4) tsutils: 3.21.0(typescript@5.1.3)
typescript: 5.0.4 typescript: 5.1.3
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies: 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/json-schema': 7.0.11
'@types/semver': 7.5.0 '@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 5.59.8 '@typescript-eslint/scope-manager': 5.59.8
'@typescript-eslint/types': 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)
eslint: 8.41.0 eslint: 8.42.0
eslint-scope: 5.1.1 eslint-scope: 5.1.1
semver: 7.5.1 semver: 7.5.1
transitivePeerDependencies: transitivePeerDependencies:
@ -644,13 +652,13 @@ packages:
muggle-string: 0.2.2 muggle-string: 0.2.2
dev: true 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==} resolution: {integrity: sha512-mVJJ7ZGY2RBDj6PAircUvLBLbFJJRNmqN5IYNpIUyFwnxdKxn1t3NhxaLYSPi/A0gdMDbCBtq0a4Azc0IuIOfQ==}
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
dependencies: dependencies:
'@volar/language-core': 1.5.4 '@volar/language-core': 1.5.4
typescript: 5.0.4 typescript: 5.1.3
dev: true dev: true
/@vue/compiler-core@3.3.4: /@vue/compiler-core@3.3.4:
@ -744,14 +752,14 @@ packages:
/@vue/shared@3.3.4: /@vue/shared@3.3.4:
resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} 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==} resolution: {integrity: sha512-/EcwHTezjY8DknfO/+9S04s9lXQWl7dLDJMTNjgEAWUrgJILN9cbooQ0UfTqC5Z1PPXBHHtdFyqKajrhTlSJ4A==}
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
dependencies: 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 '@vue/language-core': 1.7.0
typescript: 5.0.4 typescript: 5.1.3
dev: true dev: true
/@vueuse/core@10.1.2(vue@3.3.4): /@vueuse/core@10.1.2(vue@3.3.4):
@ -929,6 +937,7 @@ packages:
picocolors: 1.0.0 picocolors: 1.0.0
postcss: 8.4.24 postcss: 8.4.24
postcss-value-parser: 4.2.0 postcss-value-parser: 4.2.0
dev: true
/balanced-match@1.0.2: /balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
@ -968,6 +977,7 @@ packages:
electron-to-chromium: 1.4.411 electron-to-chromium: 1.4.411
node-releases: 2.0.12 node-releases: 2.0.12
update-browserslist-db: 1.0.11(browserslist@4.21.5) update-browserslist-db: 1.0.11(browserslist@4.21.5)
dev: true
/cacache@15.3.0: /cacache@15.3.0:
resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==}
@ -1007,6 +1017,7 @@ packages:
/caniuse-lite@1.0.30001489: /caniuse-lite@1.0.30001489:
resolution: {integrity: sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==} resolution: {integrity: sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==}
dev: true
/canvas-confetti@1.6.0: /canvas-confetti@1.6.0:
resolution: {integrity: sha512-ej+w/m8Jzpv9Z7W7uJZer14Ke8P2ogsjg4ZMGIuq4iqUOqY2Jq8BNW42iGmNfRwREaaEfFIczLuZZiEVSYNHAA==} resolution: {integrity: sha512-ej+w/m8Jzpv9Z7W7uJZer14Ke8P2ogsjg4ZMGIuq4iqUOqY2Jq8BNW42iGmNfRwREaaEfFIczLuZZiEVSYNHAA==}
@ -1050,28 +1061,19 @@ packages:
engines: {node: '>=7.0.0'} engines: {node: '>=7.0.0'}
dependencies: dependencies:
color-name: 1.1.4 color-name: 1.1.4
dev: true
/color-name@1.1.4: /color-name@1.1.4:
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: true
/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
/color-support@1.1.3: /color-support@1.1.3:
resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==}
hasBin: true hasBin: true
dev: true dev: true
/color@4.2.3: /colord@2.9.3:
resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
engines: {node: '>=12.5.0'}
dependencies:
color-convert: 2.0.1
color-string: 1.9.1
dev: false dev: false
/combined-stream@1.0.8: /combined-stream@1.0.8:
@ -1085,6 +1087,11 @@ packages:
resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
engines: {node: '>= 6'} 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: /commander@9.5.0:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
engines: {node: ^12.20.0 || >=14} engines: {node: ^12.20.0 || >=14}
@ -1114,6 +1121,16 @@ packages:
which: 2.0.2 which: 2.0.2
dev: true 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: /css-selector-tokenizer@0.8.0:
resolution: {integrity: sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==} resolution: {integrity: sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==}
dependencies: dependencies:
@ -1121,6 +1138,27 @@ packages:
fastparse: 1.1.2 fastparse: 1.1.2
dev: false 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: /css@3.0.0:
resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==}
dependencies: dependencies:
@ -1134,17 +1172,22 @@ packages:
engines: {node: '>=4'} engines: {node: '>=4'}
hasBin: true 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: /csstype@3.1.2:
resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
/daisyui@2.52.0(autoprefixer@10.4.14)(postcss@8.4.24): /daisyui@3.0.2(postcss@8.4.24):
resolution: {integrity: sha512-LQTA5/IVXAJHBMFoeaEMfd7/akAFPPcdQPR3O9fzzcFiczneJFM73CFPnScmW2sOgn/D83cvkP854ep2T9OfTg==} resolution: {integrity: sha512-0X+0PkgTIWevt5m4AZCCgvqI5pKRormTEhdfmc31dwfLNq6uY4wENCXAtcXzZMKt7JBKcVTWlj/uDrOjj6XpUQ==}
peerDependencies: peerDependencies:
autoprefixer: ^10.0.2 postcss: ^8
postcss: ^8.1.6
dependencies: dependencies:
autoprefixer: 10.4.14(postcss@8.4.24) colord: 2.9.3
color: 4.2.3
css-selector-tokenizer: 0.8.0 css-selector-tokenizer: 0.8.0
postcss: 8.4.24 postcss: 8.4.24
postcss-js: 4.0.1(postcss@8.4.24) postcss-js: 4.0.1(postcss@8.4.24)
@ -1218,8 +1261,36 @@ packages:
esutils: 2.0.3 esutils: 2.0.3
dev: true 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: /electron-to-chromium@1.4.411:
resolution: {integrity: sha512-5VXLW4Qw89vM2WTICHua/y8v7fKGDRVa2VPOtBB9IpLvW316B+xd8yD1wTmLPY2ot/00P/qt87xdolj4aG/Lzg==} resolution: {integrity: sha512-5VXLW4Qw89vM2WTICHua/y8v7fKGDRVa2VPOtBB9IpLvW316B+xd8yD1wTmLPY2ot/00P/qt87xdolj4aG/Lzg==}
dev: true
/emoji-regex@8.0.0: /emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@ -1233,6 +1304,11 @@ packages:
dev: true dev: true
optional: true optional: true
/entities@4.5.0:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
dev: true
/env-paths@2.2.1: /env-paths@2.2.1:
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
engines: {node: '>=6'} engines: {node: '>=6'}
@ -1277,6 +1353,7 @@ packages:
/escalade@3.1.1: /escalade@3.1.1:
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
engines: {node: '>=6'} engines: {node: '>=6'}
dev: true
/escape-string-regexp@4.0.0: /escape-string-regexp@4.0.0:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
@ -1294,39 +1371,39 @@ packages:
tailwindcss: 3.3.2 tailwindcss: 3.3.2
dev: true 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==} resolution: {integrity: sha512-H2GdGyaNuz58gMwJYrPAyok2ZZFklb1wnI4jqLyQZf17gvZeTOpYzCxqhhcT5hBeaCUHhjxU5akCI7A4AtBHew==}
engines: {node: ^12.22 || ^14.17 || >=16} engines: {node: ^12.22 || ^14.17 || >=16}
peerDependencies: peerDependencies:
eslint: '>=5.0.0' eslint: '>=5.0.0'
vue-eslint-parser: '>=7.1.0' vue-eslint-parser: '>=7.1.0'
dependencies: dependencies:
eslint: 8.41.0 eslint: 8.42.0
eslint-utils: 3.0.0(eslint@8.41.0) eslint-utils: 3.0.0(eslint@8.42.0)
lodash: 4.17.21 lodash: 4.17.21
postcss: 8.4.24 postcss: 8.4.24
postcss-safe-parser: 6.0.0(postcss@8.4.24) postcss-safe-parser: 6.0.0(postcss@8.4.24)
postcss-scss: 4.0.4(postcss@8.4.24) postcss-scss: 4.0.4(postcss@8.4.24)
postcss-selector-parser: 6.0.10 postcss-selector-parser: 6.0.10
postcss-styl: 0.12.3 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: transitivePeerDependencies:
- supports-color - supports-color
dev: true 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==} resolution: {integrity: sha512-LQazDB1qkNEKejLe/b5a9VfEbtbczcOaui5lQ4Qw0tbRBbQYREyxxOV5BQgNDTqGPs9pxqiEpbMi9ywuIaF7vw==}
engines: {node: ^14.17.0 || >=16.0.0} engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 eslint: ^6.2.0 || ^7.0.0 || ^8.0.0
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) '@eslint-community/eslint-utils': 4.4.0(eslint@8.42.0)
eslint: 8.41.0 eslint: 8.42.0
natural-compare: 1.4.0 natural-compare: 1.4.0
nth-check: 2.1.1 nth-check: 2.1.1
postcss-selector-parser: 6.0.10 postcss-selector-parser: 6.0.10
semver: 7.3.7 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 xml-name-validator: 4.0.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -1356,13 +1433,13 @@ packages:
estraverse: 5.3.0 estraverse: 5.3.0
dev: true 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==} resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
peerDependencies: peerDependencies:
eslint: '>=5' eslint: '>=5'
dependencies: dependencies:
eslint: 8.41.0 eslint: 8.42.0
eslint-visitor-keys: 2.1.0 eslint-visitor-keys: 2.1.0
dev: true dev: true
@ -1381,16 +1458,16 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
/eslint@8.41.0: /eslint@8.42.0:
resolution: {integrity: sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==} resolution: {integrity: sha512-ulg9Ms6E1WPf67PHaEY4/6E2tEn5/f7FXGzr3t9cBMugOmf1INYvuUwwh1aXQN4MfJ6a5K2iNwP3w4AColvI9A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true hasBin: true
dependencies: 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-community/regexpp': 4.5.1
'@eslint/eslintrc': 2.0.3 '@eslint/eslintrc': 2.0.3
'@eslint/js': 8.41.0 '@eslint/js': 8.42.0
'@humanwhocodes/config-array': 0.11.8 '@humanwhocodes/config-array': 0.11.10
'@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8 '@nodelib/fs.walk': 1.2.8
ajv: 6.12.6 ajv: 6.12.6
@ -1565,6 +1642,7 @@ packages:
/fraction.js@4.2.0: /fraction.js@4.2.0:
resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
dev: true
/fs-minipass@2.1.0: /fs-minipass@2.1.0:
resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==}
@ -1790,10 +1868,6 @@ packages:
dev: true dev: true
optional: true optional: true
/is-arrayish@0.3.2:
resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
dev: false
/is-binary-path@2.1.0: /is-binary-path@2.1.0:
resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -1945,6 +2019,14 @@ packages:
dev: true dev: true
optional: 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: /merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'} engines: {node: '>= 8'}
@ -2124,6 +2206,7 @@ packages:
/node-releases@2.0.12: /node-releases@2.0.12:
resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==}
dev: true
/nopt@5.0.0: /nopt@5.0.0:
resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==}
@ -2140,6 +2223,7 @@ packages:
/normalize-range@0.1.2: /normalize-range@0.1.2:
resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true
/npmlog@5.0.1: /npmlog@5.0.1:
resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==}
@ -2537,12 +2621,6 @@ packages:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
dev: true 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: /slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -2692,6 +2770,19 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'} 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: /tailwindcss@3.3.2:
resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==} resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
@ -2771,14 +2862,14 @@ packages:
resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
dev: true dev: true
/tsutils@3.21.0(typescript@5.0.4): /tsutils@3.21.0(typescript@5.1.3):
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
peerDependencies: 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' 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: dependencies:
tslib: 1.14.1 tslib: 1.14.1
typescript: 5.0.4 typescript: 5.1.3
dev: true dev: true
/type-check@0.4.0: /type-check@0.4.0:
@ -2793,9 +2884,9 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: true dev: true
/typescript@5.0.4: /typescript@5.1.3:
resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==}
engines: {node: '>=12.20'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
dev: true dev: true
@ -2822,6 +2913,7 @@ packages:
browserslist: 4.21.5 browserslist: 4.21.5
escalade: 3.1.1 escalade: 3.1.1
picocolors: 1.0.0 picocolors: 1.0.0
dev: true
/uri-js@4.4.1: /uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@ -2880,14 +2972,14 @@ packages:
vue: 3.3.4 vue: 3.3.4
dev: false 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==} resolution: {integrity: sha512-48IxT9d0+wArT1+3wNIy0tascRoywqSUe2E1YalIC1L8jsUGe5aJQItWfRok7DVFGz3UYvzEI7n5wiTXsCMAcQ==}
engines: {node: ^14.17.0 || >=16.0.0} engines: {node: ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: '>=6.0.0' eslint: '>=6.0.0'
dependencies: dependencies:
debug: 4.3.4 debug: 4.3.4
eslint: 8.41.0 eslint: 8.42.0
eslint-scope: 7.1.1 eslint-scope: 7.1.1
eslint-visitor-keys: 3.3.0 eslint-visitor-keys: 3.3.0
espree: 9.3.2 espree: 9.3.2
@ -2914,16 +3006,16 @@ packages:
he: 1.2.0 he: 1.2.0
dev: true 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==} resolution: {integrity: sha512-WXRQ6StfLrXHq1uIe29o9OOKh6aXR2LdxT7z951ZZzEJj3y+dCoaqCOT9NVtvCK5C2m6PbFKRx5sG7t/jbtmjg==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
typescript: '*' typescript: '*'
dependencies: dependencies:
'@vue/language-core': 1.7.0 '@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 semver: 7.5.1
typescript: 5.0.4 typescript: 5.1.3
dev: true dev: true
/vue@3.3.4: /vue@3.3.4:

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 77 KiB

After

Width:  |  Height:  |  Size: 77 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 33 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 32 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 32 KiB

View file

@ -0,0 +1,6 @@
module.exports = {
plugins: [
'preset-default',
'prefixIds',
],
};

View file

@ -1,13 +1,13 @@
<template> <template>
<img <img
v-if="isDark" v-if="isDark"
src="../../assets/logo_white.svg" src="../../assets/svg/logo_white.svg"
class="w-48 scale-[1.4]" class="w-48"
/> />
<img <img
v-else v-else
src="../../assets/logo_black.svg" src="../../assets/svg/logo_black.svg"
class="w-48 scale-[1.4]" class="w-48"
/> />
</template> </template>

View file

@ -4,7 +4,7 @@
title="Account hinzufügen" title="Account hinzufügen"
> >
<div class="flex flex-col gap-4"> <div class="flex flex-col gap-4">
<h4 class="text-md">Daten</h4> <h4 class="text-lg">Daten</h4>
<div class="flex gap-4"> <div class="flex gap-4">
<AtomInput <AtomInput
v-model="firstName" v-model="firstName"
@ -46,7 +46,7 @@
placeholder="Stadt" placeholder="Stadt"
/> />
</div> </div>
<h4 class="text-md">Kontakt</h4> <h4 class="text-lg">Kontakt</h4>
<div <div
v-for="index in contactCount" v-for="index in contactCount"
class="flex gap-4" class="flex gap-4"

View file

@ -1,12 +1,12 @@
<template> <template>
<div class="overflow-x-auto"> <div class="h-full overflow-x-auto rounded-lg">
<table class="table-zebra table w-full"> <table class="table-pin-rows table-zebra table">
<thead class="sticky top-0"> <thead class="uppercase">
<tr> <tr>
<th v-for="header in tableHeaders">{{ header.title }}</th> <th v-for="header in tableHeaders">{{ header.title }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody class="bg-base-100">
<tr v-for="entry in data"> <tr v-for="entry in data">
<td <td
v-for="header in tableHeaders" v-for="header in tableHeaders"
@ -84,7 +84,5 @@ export enum TableHeaderType {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.table th:first-child {
position: inherit;
}
</style> </style>

View file

@ -1,13 +1,13 @@
<template> <template>
<div class="drawer-mobile drawer"> <div class="drawer lg:drawer-open">
<input <input
:id="drawerId" :id="drawerId"
type="checkbox" type="checkbox"
class="drawer-toggle" class="drawer-toggle"
/> />
<div class="drawer-content flex h-screen flex-col bg-base-300"> <div class="drawer-content flex h-screen flex-col overflow-y-scroll bg-base-300">
<div <div
class="navbar sticky top-0 z-50 max-w-7xl place-self-center bg-neutral-focus text-neutral-content shadow-lg lg:hidden" class="navbar top-0 max-w-7xl place-self-center bg-neutral-focus text-neutral-content shadow-lg lg:hidden"
> >
<div class="flex-none"> <div class="flex-none">
<label <label
@ -31,11 +31,9 @@
:for="drawerId" :for="drawerId"
class="drawer-overlay" class="drawer-overlay"
/> />
<ul class="menu w-64 overflow-y-auto bg-base-100 p-4"> <ul class="menu h-full w-64 overflow-y-auto bg-base-100 p-4">
<li class="pointer-events-none"> <li class="pointer-events-none">
<a>
<AtomLogo class="w-28" /> <AtomLogo class="w-28" />
</a>
</li> </li>
<template v-if="isAuthenticated"> <template v-if="isAuthenticated">
<li class="pointer-events-none rounded-md bg-warning uppercase text-warning-content"> <li class="pointer-events-none rounded-md bg-warning uppercase text-warning-content">
@ -51,7 +49,7 @@
Abmelden Abmelden
</span> </span>
</li> </li>
<li class="menu-title" /> <li class="menu-title !p-0" />
</template> </template>
<li <li
v-for="navigationEntry of navigationEntries" v-for="navigationEntry of navigationEntries"
@ -107,7 +105,7 @@ defineProps({
function getNavigationEntryClass(navigationEntry: INavigationEntry) { function getNavigationEntryClass(navigationEntry: INavigationEntry) {
return { return {
// eslint-disable-next-line @typescript-eslint/naming-convention // eslint-disable-next-line @typescript-eslint/naming-convention
'menu-title': navigationEntry.name === 'divider', 'menu-title !p-0': navigationEntry.name === 'divider',
disabled: navigationEntry.disabled, disabled: navigationEntry.disabled,
}; };
} }

View file

@ -1,12 +1,12 @@
<template> <template>
<table class="table-zebra table"> <table class="table-zebra table overflow-hidden rounded-lg">
<thead> <thead class="bg-base-200">
<tr> <tr>
<th /> <th />
<th class="text-right text-lg normal-case">{{ CurrencyService.toString(balance) }}</th> <th class="text-right text-lg normal-case text-base-content">{{ CurrencyService.toString(balance) }}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody class="bg-base-100">
<tr v-for="transaction in transactions"> <tr v-for="transaction in transactions">
<td> <td>
<div class="flex items-center"> <div class="flex items-center">

View file

@ -8,7 +8,7 @@
<h4 class="mb-10 text-4xl">Kontonummer: {{ account.accountNumber }}</h4> <h4 class="mb-10 text-4xl">Kontonummer: {{ account.accountNumber }}</h4>
<MoleculeTransactionTable <MoleculeTransactionTable
v-if="transactions" v-if="transactions"
class="mb-24 w-[42rem]" class="mb-24 max-w-[42rem]"
:balance="getBalance()" :balance="getBalance()"
:transactions="transactions" :transactions="transactions"
/> />
@ -72,11 +72,9 @@
v-if="error" v-if="error"
class="alert alert-error mt-6 shadow-lg" class="alert alert-error mt-6 shadow-lg"
> >
<div>
<XCircleIcon class="h-6 w-6" /> <XCircleIcon class="h-6 w-6" />
<span class="text-base font-normal"><b>Fehler: </b>{{ error }}</span> <span class="text-base font-normal"><b>Fehler: </b>{{ error }}</span>
</div> </div>
</div>
</AtomHeroText> </AtomHeroText>
</template> </template>
@ -121,6 +119,9 @@ if(router.currentRoute.value.query.accountNumber) {
onKeyStroke(['e', 'g', 'a'], (e) => { onKeyStroke(['e', 'g', 'a'], (e) => {
e.preventDefault(); e.preventDefault();
if(depositModalOpen.value || salaryModalOpen.value || withdrawModalOpen.value) {
return;
}
switch (e.key) { switch (e.key) {
case 'e': case 'e':
depositModalLabel.value?.click(); depositModalLabel.value?.click();

View file

@ -5,11 +5,9 @@
v-if="error" v-if="error"
class="alert alert-error mt-6 shadow-lg" class="alert alert-error mt-6 shadow-lg"
> >
<div>
<XCircleIcon class="h-6 w-6" /> <XCircleIcon class="h-6 w-6" />
<span class="text-base font-normal"><b>Fehler:</b> {{ error }}</span> <span class="text-base font-normal"><b>Fehler:</b> {{ error }}</span>
</div> </div>
</div>
</AtomHeroText> </AtomHeroText>
</template> </template>

View file

@ -2,7 +2,7 @@
<MoleculeAuthDialog v-if="!isAuthenticated" /> <MoleculeAuthDialog v-if="!isAuthenticated" />
<div <div
v-else v-else
class="lg:p-6" class="flex h-full flex-col p-6"
> >
<AtomInput <AtomInput
v-model="searchQuery" v-model="searchQuery"
@ -16,6 +16,7 @@
:contact-modal-id="contactModalId" :contact-modal-id="contactModalId"
@open-contact-modal="openContactModal" @open-contact-modal="openContactModal"
/> />
</div>
<MoleculeContactModal <MoleculeContactModal
:id="contactModalId" :id="contactModalId"
:contact-id="contactId" :contact-id="contactId"
@ -39,7 +40,6 @@
> >
<PlusIcon class="h-7 w-7" /> <PlusIcon class="h-7 w-7" />
</label> </label>
</div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
@ -144,12 +144,10 @@ onMounted(async () => {
getData(); getData();
} }
accountsSubscription.value = await AccountService.subscribeToAccountChanges(async () => { accountsSubscription.value = await AccountService.subscribeToAccountChanges(async () => {
console.log('accounts changed');
await getData(); await getData();
search(searchQuery.value); search(searchQuery.value);
}); });
transactionsSubscription.value = await BankService.subscribeToTransactionChanges(async () => { transactionsSubscription.value = await BankService.subscribeToTransactionChanges(async () => {
console.log('transactions changed');
await getData(); await getData();
search(searchQuery.value); search(searchQuery.value);
}); });

View file

@ -10,7 +10,7 @@ module.exports = {
daisyui: { daisyui: {
themes: [ themes: [
'light', 'light',
'night', 'dark',
{ {
// light: { // light: {
// 'primary': '#EE8039', // 'primary': '#EE8039',
@ -23,7 +23,7 @@ module.exports = {
// 'warning': '#F6B64B', // 'warning': '#F6B64B',
// 'error': '#DD513C', // 'error': '#DD513C',
// }, // },
// night: { // dark: {
// 'primary': '#EE8039', // 'primary': '#EE8039',
// 'secondary': '#BFB0D6', // 'secondary': '#BFB0D6',
// 'accent': '#F9F6F0', // 'accent': '#F9F6F0',
@ -36,6 +36,6 @@ module.exports = {
// }, // },
}, },
], ],
darkTheme: 'night', darkTheme: 'dark',
}, },
}; };