diff --git a/frontend/package.json b/frontend/package.json index f282fe2e9..8ba96bb97 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -37,7 +37,7 @@ "@urql/devtools": "^2.0.3", "@urql/svelte": "^4.0.3", "autoprefixer": "^10.4.14", - "daisyui": "^2.51.6", + "daisyui": "^3.4.0", "eslint": "^8.41.0", "eslint-plugin-svelte": "^2.30.0", "globals": "^13.20.0", diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index ec9673c57..147f85c59 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -40,7 +40,7 @@ dependencies: version: 4.14.1 svelte-intl-precompile: specifier: ^0.12.1 - version: 0.12.1(@babel/core@7.21.8)(svelte@3.59.1) + version: 0.12.1(@babel/core@7.22.9)(svelte@3.59.1) devDependencies: '@egoist/tailwindcss-icons': @@ -51,7 +51,7 @@ devDependencies: version: 8.42.0 '@graphql-codegen/cli': specifier: ^3.3.1 - version: 3.3.1(@babel/core@7.21.8)(graphql@16.6.0) + version: 3.3.1(@babel/core@7.22.9)(graphql@16.6.0) '@graphql-codegen/client-preset': specifier: ^2.1.1 version: 2.1.1(graphql@16.6.0) @@ -107,8 +107,8 @@ devDependencies: specifier: ^10.4.14 version: 10.4.14(postcss@8.4.23) daisyui: - specifier: ^2.51.6 - version: 2.51.6(autoprefixer@10.4.14)(postcss@8.4.23) + specifier: ^3.4.0 + version: 3.4.0 eslint: specifier: ^8.41.0 version: 8.41.0 @@ -135,13 +135,13 @@ devDependencies: version: 3.59.1 svelte-check: specifier: ^3.3.2 - version: 3.3.2(@babel/core@7.21.8)(postcss@8.4.23)(svelte@3.59.1) + version: 3.3.2(@babel/core@7.22.9)(postcss@8.4.23)(svelte@3.59.1) svelte-eslint-parser: specifier: ^0.30.0 version: 0.30.0(svelte@3.59.1) svelte-preprocess: specifier: ^5.0.3 - version: 5.0.3(@babel/core@7.21.8)(postcss@8.4.23)(svelte@3.59.1)(typescript@4.9.5) + version: 5.0.3(@babel/core@7.22.9)(postcss@8.4.23)(svelte@3.59.1)(typescript@4.9.5) svelte-turnstile: specifier: ^0.3.1 version: 0.3.1 @@ -249,10 +249,22 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.18.6 + dev: true + + /@babel/code-frame@7.22.5: + resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.22.5 /@babel/compat-data@7.21.9: resolution: {integrity: sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==} engines: {node: '>=6.9.0'} + dev: true + + /@babel/compat-data@7.22.9: + resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} + engines: {node: '>=6.9.0'} /@babel/core@7.21.8: resolution: {integrity: sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==} @@ -275,6 +287,29 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color + dev: true + + /@babel/core@7.22.9: + resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.22.5 + '@babel/generator': 7.22.9 + '@babel/helper-compilation-targets': 7.22.9(@babel/core@7.22.9) + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.9) + '@babel/helpers': 7.22.6 + '@babel/parser': 7.22.7 + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.8 + '@babel/types': 7.22.5 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color /@babel/generator@7.21.9: resolution: {integrity: sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==} @@ -284,6 +319,16 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 jsesc: 2.5.2 + dev: true + + /@babel/generator@7.22.9: + resolution: {integrity: sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} @@ -304,6 +349,20 @@ packages: browserslist: 4.21.5 lru-cache: 5.1.1 semver: 6.3.0 + dev: true + + /@babel/helper-compilation-targets@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.9 + '@babel/core': 7.22.9 + '@babel/helper-validator-option': 7.22.5 + browserslist: 4.21.9 + lru-cache: 5.1.1 + semver: 6.3.1 /@babel/helper-create-class-features-plugin@7.21.8(@babel/core@7.21.8): resolution: {integrity: sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==} @@ -328,6 +387,11 @@ packages: /@babel/helper-environment-visitor@7.21.5: resolution: {integrity: sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==} engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-environment-visitor@7.22.5: + resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==} + engines: {node: '>=6.9.0'} /@babel/helper-function-name@7.21.0: resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} @@ -335,12 +399,27 @@ packages: dependencies: '@babel/template': 7.21.9 '@babel/types': 7.21.5 + dev: true + + /@babel/helper-function-name@7.22.5: + resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/types': 7.22.5 /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.5 + dev: true + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 /@babel/helper-member-expression-to-functions@7.21.5: resolution: {integrity: sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==} @@ -354,6 +433,13 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.5 + dev: true + + /@babel/helper-module-imports@7.22.5: + resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 /@babel/helper-module-transforms@7.21.5: resolution: {integrity: sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==} @@ -369,6 +455,20 @@ packages: '@babel/types': 7.21.5 transitivePeerDependencies: - supports-color + dev: true + + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9): + resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-module-imports': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.5 /@babel/helper-optimise-call-expression@7.18.6: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} @@ -400,6 +500,13 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.5 + dev: true + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 /@babel/helper-skip-transparent-expression-wrappers@7.20.0: resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} @@ -413,18 +520,40 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.5 + dev: true + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.5 /@babel/helper-string-parser@7.21.5: resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.19.1: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.5: + resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} + engines: {node: '>=6.9.0'} /@babel/helper-validator-option@7.21.0: resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-option@7.22.5: + resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} + engines: {node: '>=6.9.0'} /@babel/helpers@7.21.5: resolution: {integrity: sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==} @@ -435,6 +564,17 @@ packages: '@babel/types': 7.21.5 transitivePeerDependencies: - supports-color + dev: true + + /@babel/helpers@7.22.6: + resolution: {integrity: sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.5 + '@babel/traverse': 7.22.8 + '@babel/types': 7.22.5 + transitivePeerDependencies: + - supports-color /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} @@ -443,6 +583,15 @@ packages: '@babel/helper-validator-identifier': 7.19.1 chalk: 2.4.2 js-tokens: 4.0.0 + dev: true + + /@babel/highlight@7.22.5: + resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.5 + chalk: 2.4.2 + js-tokens: 4.0.0 /@babel/parser@7.21.9: resolution: {integrity: sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==} @@ -450,6 +599,14 @@ packages: hasBin: true dependencies: '@babel/types': 7.21.5 + dev: true + + /@babel/parser@7.22.7: + resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.5 /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.8): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} @@ -497,13 +654,13 @@ packages: '@babel/helper-plugin-utils': 7.21.5 dev: true - /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.8): + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.22.9): resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.21.5 dev: true @@ -765,6 +922,15 @@ packages: '@babel/code-frame': 7.21.4 '@babel/parser': 7.21.9 '@babel/types': 7.21.5 + dev: true + + /@babel/template@7.22.5: + resolution: {integrity: sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.5 + '@babel/parser': 7.22.7 + '@babel/types': 7.22.5 /@babel/traverse@7.21.5: resolution: {integrity: sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==} @@ -782,6 +948,24 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color + dev: true + + /@babel/traverse@7.22.8: + resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.22.5 + '@babel/generator': 7.22.9 + '@babel/helper-environment-visitor': 7.22.5 + '@babel/helper-function-name': 7.22.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.22.7 + '@babel/types': 7.22.5 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color /@babel/types@7.21.5: resolution: {integrity: sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==} @@ -790,6 +974,15 @@ packages: '@babel/helper-string-parser': 7.21.5 '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 + dev: true + + /@babel/types@7.22.5: + resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.22.5 + to-fast-properties: 2.0.0 /@egoist/tailwindcss-icons@1.0.7(tailwindcss@3.3.2): resolution: {integrity: sha512-GeoEZC53+zHJyBEcBc0B4hf9MGdDjy0iatW6GT4Ss+c+t8IgjsJVjz3Gg3RpCdg+rnsyRLeg5S+ubkJpaz85Rw==} @@ -1080,7 +1273,7 @@ packages: tslib: 2.5.2 dev: true - /@graphql-codegen/cli@3.3.1(@babel/core@7.21.8)(graphql@16.6.0): + /@graphql-codegen/cli@3.3.1(@babel/core@7.22.9)(graphql@16.6.0): resolution: {integrity: sha512-4Es8Y9zFeT0Zx2qRL7L3qXDbbqvXK6aID+8v8lP6gaYD+uWx3Jd4Hsq5vxwVBR+6flm0BW/C85Qm0cvmT7O6LA==} hasBin: true peerDependencies: @@ -1092,9 +1285,9 @@ packages: '@graphql-codegen/core': 3.1.0(graphql@16.6.0) '@graphql-codegen/plugin-helpers': 4.2.0(graphql@16.6.0) '@graphql-tools/apollo-engine-loader': 7.3.26(graphql@16.6.0) - '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.21.8)(graphql@16.6.0) - '@graphql-tools/git-loader': 7.3.0(@babel/core@7.21.8)(graphql@16.6.0) - '@graphql-tools/github-loader': 7.3.28(@babel/core@7.21.8)(graphql@16.6.0) + '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.22.9)(graphql@16.6.0) + '@graphql-tools/git-loader': 7.3.0(@babel/core@7.22.9)(graphql@16.6.0) + '@graphql-tools/github-loader': 7.3.28(@babel/core@7.22.9)(graphql@16.6.0) '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.6.0) '@graphql-tools/json-file-loader': 7.4.18(graphql@16.6.0) '@graphql-tools/load': 7.8.14(graphql@16.6.0) @@ -1327,12 +1520,12 @@ packages: value-or-promise: 1.0.12 dev: true - /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.21.8)(graphql@16.6.0): + /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.22.9)(graphql@16.6.0): resolution: {integrity: sha512-8Wt1rTtyTEs0p47uzsPJ1vAtfAx0jmxPifiNdmo9EOCuUPyQGEbMaik/YkqZ7QUFIEYEQu+Vgfo8tElwOPtx5Q==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.21.8)(graphql@16.6.0) + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0) globby: 11.1.0 graphql: 16.6.0 @@ -1433,12 +1626,12 @@ packages: value-or-promise: 1.0.12 dev: true - /@graphql-tools/git-loader@7.3.0(@babel/core@7.21.8)(graphql@16.6.0): + /@graphql-tools/git-loader@7.3.0(@babel/core@7.22.9)(graphql@16.6.0): resolution: {integrity: sha512-gcGAK+u16eHkwsMYqqghZbmDquh8QaO24Scsxq+cVR+vx1ekRlsEiXvu+yXVDbZdcJ6PBIbeLcQbEu+xhDLmvQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.21.8)(graphql@16.6.0) + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0) graphql: 16.6.0 is-glob: 4.0.3 @@ -1450,14 +1643,14 @@ packages: - supports-color dev: true - /@graphql-tools/github-loader@7.3.28(@babel/core@7.21.8)(graphql@16.6.0): + /@graphql-tools/github-loader@7.3.28(@babel/core@7.22.9)(graphql@16.6.0): resolution: {integrity: sha512-OK92Lf9pmxPQvjUNv05b3tnVhw0JRfPqOf15jZjyQ8BfdEUrJoP32b4dRQQem/wyRL24KY4wOfArJNqzpsbwCA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 '@graphql-tools/executor-http': 0.1.10(graphql@16.6.0) - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.21.8)(graphql@16.6.0) + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.6.0) '@graphql-tools/utils': 9.2.1(graphql@16.6.0) '@whatwg-node/fetch': 0.8.8 graphql: 16.6.0 @@ -1483,13 +1676,13 @@ packages: unixify: 1.0.0 dev: true - /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.21.8)(graphql@16.6.0): + /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.22.9)(graphql@16.6.0): resolution: {integrity: sha512-RW+H8FqOOLQw0BPXaahYepVSRjuOHw+7IL8Opaa5G5uYGOBxoXR7DceyQ7BcpMgktAOOmpDNQ2WtcboChOJSRA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@babel/parser': 7.21.9 - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.8) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.22.9) '@babel/traverse': 7.21.5 '@babel/types': 7.21.5 '@graphql-tools/utils': 9.2.1(graphql@16.6.0) @@ -3422,7 +3615,7 @@ packages: /@types/ioredis@4.28.10: resolution: {integrity: sha512-69LyhUgrXdgcNDv7ogs1qXZomnfOEnSmrmMFqKgt1XMJxmoOSG/u3wYy13yACIfKuMJ8IhKgHafDO3sx19zVQQ==} dependencies: - '@types/node': 20.2.3 + '@types/node': 20.4.4 dev: false /@types/js-yaml@4.0.5: @@ -3507,6 +3700,10 @@ packages: /@types/node@20.2.3: resolution: {integrity: sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw==} + /@types/node@20.4.4: + resolution: {integrity: sha512-CukZhumInROvLq3+b5gLev+vgpsIqC2D0deQr/yS1WnxvmYLlJXZpaQrQiseMY+6xusl79E04UjWoqyr+t1/Ew==} + dev: false + /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} dev: true @@ -3963,12 +4160,12 @@ packages: postcss-value-parser: 4.2.0 dev: true - /babel-plugin-precompile-intl@0.5.2(@babel/core@7.21.8): + /babel-plugin-precompile-intl@0.5.2(@babel/core@7.22.9): resolution: {integrity: sha512-sTXC+8+krOCP72euH47HqUZ0RAc/mcNA7UoX5joPb5J+dladwOwVcDQMWdv8MflGuWW0PkvAwXdQQWF+/L3Qxg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.9 '@babel/helper-plugin-utils': 7.21.5 '@formatjs/icu-messageformat-parser': 2.4.0 dev: false @@ -4063,6 +4260,17 @@ packages: electron-to-chromium: 1.4.405 node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.5) + dev: true + + /browserslist@4.21.9: + resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001517 + electron-to-chromium: 1.4.470 + node-releases: 2.0.13 + update-browserslist-db: 1.0.11(browserslist@4.21.9) /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -4139,6 +4347,10 @@ packages: /caniuse-lite@1.0.30001489: resolution: {integrity: sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==} + dev: true + + /caniuse-lite@1.0.30001517: + resolution: {integrity: sha512-Vdhm5S11DaFVLlyiKu4hiUTkpZu+y1KA/rZZqVQfOD5YdDT/eQKlkt7NaE0WGOFgX32diqt9MiP9CAiFeRklaA==} /capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -4338,19 +4550,8 @@ packages: /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: 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: true /colorette@2.0.20: @@ -4472,14 +4673,11 @@ packages: hasBin: true dev: true - /daisyui@2.51.6(autoprefixer@10.4.14)(postcss@8.4.23): - resolution: {integrity: sha512-JRqOKayuFCmWe4X4k6Qvx1y7V/VNao8U5eTSOhusOKIzCsYqf56+TCSe4d7zmqGE0V6JiLDYAT8JeoWUeRKFCw==} - peerDependencies: - autoprefixer: ^10.0.2 - postcss: ^8.1.6 + /daisyui@3.4.0: + resolution: {integrity: sha512-s9EvNxnw/ubCIopKul+3ddASzZG+jMOmZgLJ0BFOVnxFQy6HJ5+EbMx5yY7Ef0cA6qjeUMl88SwhE94WLSLtHQ==} + engines: {node: '>=16.9.0'} dependencies: - autoprefixer: 10.4.14(postcss@8.4.23) - color: 4.2.3 + colord: 2.9.3 css-selector-tokenizer: 0.8.0 postcss: 8.4.23 postcss-js: 4.0.1(postcss@8.4.23) @@ -4669,6 +4867,10 @@ packages: /electron-to-chromium@1.4.405: resolution: {integrity: sha512-JdDgnwU69FMZURoesf9gNOej2Cms1XJFfLk24y1IBtnAdhTcJY/mXnokmpmxHN59PcykBP4bgUU98vLY44Lhuw==} + dev: true + + /electron-to-chromium@1.4.470: + resolution: {integrity: sha512-zZM48Lmy2FKWgqyvsX9XK+J6FfP7aCDUFLmgooLJzA7v1agCs/sxSoBpTIwDLhmbhpx9yJIxj2INig/ncjJRqg==} /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -5430,10 +5632,6 @@ packages: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} - dev: true - /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -6410,6 +6608,10 @@ packages: /node-releases@2.0.12: resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + dev: true + + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} /nopt@6.0.0: resolution: {integrity: sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==} @@ -7164,6 +7366,11 @@ packages: /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true /semver@7.5.1: resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} @@ -7228,12 +7435,6 @@ packages: resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} 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: true - /sirv@2.0.3: resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} engines: {node: '>= 10'} @@ -7403,7 +7604,7 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-check@3.3.2(@babel/core@7.21.8)(postcss@8.4.23)(svelte@3.59.1): + /svelte-check@3.3.2(@babel/core@7.22.9)(postcss@8.4.23)(svelte@3.59.1): resolution: {integrity: sha512-67j3rI0LDc2DvL0ON/2pvCasVVD3nHDrTkZNr4eITNfo2oFXdw7SIyMOiFj4swu+pjmFQAigytBK1IWyik8dBw==} hasBin: true peerDependencies: @@ -7416,7 +7617,7 @@ packages: picocolors: 1.0.0 sade: 1.8.1 svelte: 3.59.1 - svelte-preprocess: 5.0.3(@babel/core@7.21.8)(postcss@8.4.23)(svelte@3.59.1)(typescript@5.0.4) + svelte-preprocess: 5.0.3(@babel/core@7.22.9)(postcss@8.4.23)(svelte@3.59.1)(typescript@5.0.4) typescript: 5.0.4 transitivePeerDependencies: - '@babel/core' @@ -7454,10 +7655,10 @@ packages: svelte: 3.59.1 dev: true - /svelte-intl-precompile@0.12.1(@babel/core@7.21.8)(svelte@3.59.1): + /svelte-intl-precompile@0.12.1(@babel/core@7.22.9)(svelte@3.59.1): resolution: {integrity: sha512-rCLPHloWKDKnIyAybuEwq2Z3oAP5Ra98KIpPbFZihvHVez9IjBZTFPA21rtb94JT1dorhdU8HjFTEX3flOqFrQ==} dependencies: - babel-plugin-precompile-intl: 0.5.2(@babel/core@7.21.8) + babel-plugin-precompile-intl: 0.5.2(@babel/core@7.22.9) js-yaml: 4.1.0 json5: 2.2.3 path-starts-with: 2.0.0 @@ -7468,7 +7669,7 @@ packages: - svelte dev: false - /svelte-preprocess@5.0.3(@babel/core@7.21.8)(postcss@8.4.23)(svelte@3.59.1)(typescript@4.9.5): + /svelte-preprocess@5.0.3(@babel/core@7.22.9)(postcss@8.4.23)(svelte@3.59.1)(typescript@4.9.5): resolution: {integrity: sha512-GrHF1rusdJVbOZOwgPWtpqmaexkydznKzy5qIC2FabgpFyKN57bjMUUUqPRfbBXK5igiEWn1uO/DXsa2vJ5VHA==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -7506,7 +7707,7 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.9 '@types/pug': 2.0.6 detect-indent: 6.1.0 magic-string: 0.27.0 @@ -7517,7 +7718,7 @@ packages: typescript: 4.9.5 dev: true - /svelte-preprocess@5.0.3(@babel/core@7.21.8)(postcss@8.4.23)(svelte@3.59.1)(typescript@5.0.4): + /svelte-preprocess@5.0.3(@babel/core@7.22.9)(postcss@8.4.23)(svelte@3.59.1)(typescript@5.0.4): resolution: {integrity: sha512-GrHF1rusdJVbOZOwgPWtpqmaexkydznKzy5qIC2FabgpFyKN57bjMUUUqPRfbBXK5igiEWn1uO/DXsa2vJ5VHA==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -7555,7 +7756,7 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.21.8 + '@babel/core': 7.22.9 '@types/pug': 2.0.6 detect-indent: 6.1.0 magic-string: 0.27.0 @@ -7808,6 +8009,17 @@ packages: browserslist: 4.21.5 escalade: 3.1.1 picocolors: 1.0.0 + dev: true + + /update-browserslist-db@1.0.11(browserslist@4.21.9): + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.9 + escalade: 3.1.1 + picocolors: 1.0.0 /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} @@ -7882,7 +8094,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 vite: ^2.7.0 || ^3.0.0 || ^4.0.0 dependencies: - '@graphql-codegen/cli': 3.3.1(@babel/core@7.21.8)(graphql@16.6.0) + '@graphql-codegen/cli': 3.3.1(@babel/core@7.22.9)(graphql@16.6.0) graphql: 16.6.0 vite: 4.3.8(@types/node@20.2.3) dev: true diff --git a/frontend/src/lib/app.postcss b/frontend/src/lib/app.postcss index 153663376..6e762ef36 100644 --- a/frontend/src/lib/app.postcss +++ b/frontend/src/lib/app.postcss @@ -8,8 +8,7 @@ form { @apply mb-4; } - button, - a { + .btn { @apply mt-4; } @@ -24,15 +23,26 @@ form { } button.button-badge:not([disabled]) { - @apply hover:drop-shadow-xl hover:brightness-90; + @apply hover:drop-shadow-xl hover:brightness-95 transition; } form { - input, select, textarea { - margin: 0; - } + input, + select, + textarea { + margin: 0; + } + + .form-control { + @apply mb-2; + } +} + +.toast:where(.toast-center) { + right: unset; + white-space: unset; +} - .form-control { - @apply mb-2; - } +.delete-modal :global(.btn[type='submit']) { + @apply btn-error; } diff --git a/frontend/src/lib/components/Badges/Badge.svelte b/frontend/src/lib/components/Badges/Badge.svelte index 5e60816fe..5fc22887d 100644 --- a/frontend/src/lib/components/Badges/Badge.svelte +++ b/frontend/src/lib/components/Badges/Badge.svelte @@ -1,17 +1,16 @@ - {#if icon} {/if} diff --git a/frontend/src/lib/components/Badges/MemberBadge.svelte b/frontend/src/lib/components/Badges/MemberBadge.svelte index 5001c1af7..ce4abe7af 100644 --- a/frontend/src/lib/components/Badges/MemberBadge.svelte +++ b/frontend/src/lib/components/Badges/MemberBadge.svelte @@ -6,7 +6,7 @@ export let canManage = false; - diff --git a/frontend/src/lib/components/ButtonToggle.svelte b/frontend/src/lib/components/ButtonToggle.svelte index 75cc72cbc..fb502fbd7 100644 --- a/frontend/src/lib/components/ButtonToggle.svelte +++ b/frontend/src/lib/components/ButtonToggle.svelte @@ -3,7 +3,7 @@ export let icon2: string; export let text1: string; export let text2: string; - export let theme: string; + export let style: string; let isIconOne = true; function handleClick(): void { @@ -11,12 +11,12 @@ } - diff --git a/frontend/src/lib/components/DeleteUserModal.svelte b/frontend/src/lib/components/DeleteUserModal.svelte index 25a7679e7..cef776acd 100644 --- a/frontend/src/lib/components/DeleteUserModal.svelte +++ b/frontend/src/lib/components/DeleteUserModal.svelte @@ -1,7 +1,4 @@ - - {$t('admin_dashboard.form_modal.delete_user')} - - {$t('admin_dashboard.form_modal.delete_user')} - +
+ + {$t('admin_dashboard.form_modal.delete_user')} + + {$t('admin_dashboard.form_modal.delete_user')} + +
diff --git a/frontend/src/lib/components/HgLogView.svelte b/frontend/src/lib/components/HgLogView.svelte index 4550853e6..0e7f3946c 100644 --- a/frontend/src/lib/components/HgLogView.svelte +++ b/frontend/src/lib/components/HgLogView.svelte @@ -123,7 +123,7 @@
- +
{#each expandedLog as log, idx} diff --git a/frontend/src/lib/components/IconButton.svelte b/frontend/src/lib/components/IconButton.svelte index f484598f7..856439435 100644 --- a/frontend/src/lib/components/IconButton.svelte +++ b/frontend/src/lib/components/IconButton.svelte @@ -1,12 +1,17 @@ - diff --git a/frontend/src/lib/components/Loader.svelte b/frontend/src/lib/components/Loader.svelte new file mode 100644 index 000000000..58b42f436 --- /dev/null +++ b/frontend/src/lib/components/Loader.svelte @@ -0,0 +1,7 @@ + + +{#if loading} + +{/if} diff --git a/frontend/src/lib/components/ProjectList.svelte b/frontend/src/lib/components/ProjectList.svelte index 67e21acda..83824c967 100644 --- a/frontend/src/lib/components/ProjectList.svelte +++ b/frontend/src/lib/components/ProjectList.svelte @@ -8,7 +8,7 @@
{#each projects as project} - +

@@ -38,7 +38,7 @@

{/each} - +
{$t('project.create.title')} diff --git a/frontend/src/lib/components/modals/DeleteModal.svelte b/frontend/src/lib/components/modals/DeleteModal.svelte index c5e6bf84c..115f6e036 100644 --- a/frontend/src/lib/components/modals/DeleteModal.svelte +++ b/frontend/src/lib/components/modals/DeleteModal.svelte @@ -3,6 +3,7 @@ import t from '$lib/i18n'; import FormError from '$lib/forms/FormError.svelte'; import type { ErrorMessage } from '$lib/forms'; + import Loader from '../Loader.svelte'; export let entityName: string; export let isRemoveDialog = false; @@ -34,8 +35,9 @@ - - - diff --git a/frontend/src/lib/forms/Button.svelte b/frontend/src/lib/forms/Button.svelte index eb1c7c5d4..6558898e8 100644 --- a/frontend/src/lib/forms/Button.svelte +++ b/frontend/src/lib/forms/Button.svelte @@ -1,8 +1,13 @@ - diff --git a/frontend/src/lib/forms/SubmitButton.svelte b/frontend/src/lib/forms/SubmitButton.svelte new file mode 100644 index 000000000..fbebffd70 --- /dev/null +++ b/frontend/src/lib/forms/SubmitButton.svelte @@ -0,0 +1,11 @@ + + + + diff --git a/frontend/src/lib/forms/index.ts b/frontend/src/lib/forms/index.ts index 80c52005b..6e34c8d37 100644 --- a/frontend/src/lib/forms/index.ts +++ b/frontend/src/lib/forms/index.ts @@ -1,4 +1,5 @@ import Button from './Button.svelte'; +import SubmitButton from './SubmitButton.svelte'; import Form from './Form.svelte'; import FormError from './FormError.svelte'; import Input from './Input.svelte'; @@ -11,6 +12,7 @@ import { randomFieldId, tryParse } from './utils'; export { Button, + SubmitButton, Form, FormError, Input, @@ -23,4 +25,3 @@ export { type Token, type ErrorMessage, }; - diff --git a/frontend/src/lib/i18n/locales/en.json b/frontend/src/lib/i18n/locales/en.json index 597d6b36c..934a27632 100644 --- a/frontend/src/lib/i18n/locales/en.json +++ b/frontend/src/lib/i18n/locales/en.json @@ -32,8 +32,8 @@ }, "enter_to_delete": { "user": { - "label": "Enter 'delete user' to delete user", - "value": "delete user" + "label": "Enter 'DELETE USER' to confirm deleting user", + "value": "DELETE USER" } } }, @@ -47,8 +47,6 @@ "button_update": "Update account info", "more_settings": "More Settings", "delete_account": "Delete Account", - "delete_user": "delete account", - "keyphrase": "delete account", "delete_success": "Your account has been deleted.", "verify_email": { "verify_success": "You've successfully verified your email address.", diff --git a/frontend/src/lib/layout/AppMenu.svelte b/frontend/src/lib/layout/AppMenu.svelte index b0f3dfa5d..ad7d721eb 100644 --- a/frontend/src/lib/layout/AppMenu.svelte +++ b/frontend/src/lib/layout/AppMenu.svelte @@ -1,9 +1,9 @@ {#if $notifications.length > 0} -
+
{#if $notifications.length > 1}
{$t('notify.close_all')}
{/if} {#each $notifications as note} -
+
{note.message}
diff --git a/frontend/src/lib/notify/index.ts b/frontend/src/lib/notify/index.ts index f50436f8c..60e062180 100644 --- a/frontend/src/lib/notify/index.ts +++ b/frontend/src/lib/notify/index.ts @@ -2,7 +2,7 @@ import { readonly, writable } from 'svelte/store'; export interface Notification { message: string; - category: 'alert-success' | 'alert-warning' | ''; // still allowing the other colors + category?: 'alert-warning'; duration: number; } @@ -12,20 +12,22 @@ export const enum Duration { } const _notifications = writable([]); +// _notifications.set([{ message: 'Test notification', duration: 4 }, { message: 'Test notification', duration: 4 }]) + export const notifications = readonly(_notifications); export function notifySuccess( message: string, duration = Duration.Default, ): void { - addNotification({ message, category: '', duration }); + addNotification({ message, duration }); } export function notifyWarning( // in case we need them to be different colors in the future this is its own function message: string, duration = Duration.Default, ): void { - notifySuccess(message, duration); + addNotification({ message, duration, category: 'alert-warning' }); } function addNotification(notification: Notification): void { diff --git a/frontend/src/routes/(authenticated)/(dashboards)/admin/+page.svelte b/frontend/src/routes/(authenticated)/(dashboards)/admin/+page.svelte index 7518d0449..2d6f83396 100644 --- a/frontend/src/routes/(authenticated)/(dashboards)/admin/+page.svelte +++ b/frontend/src/routes/(authenticated)/(dashboards)/admin/+page.svelte @@ -73,10 +73,10 @@ {$t('admin_dashboard.title')} -
-
-
- +
+
+
+ {$t('admin_dashboard.project_table_title')} {projectSearch ? projects.length : $allProjects.length} @@ -90,77 +90,81 @@ />
- -
- - - - - - - - - - - {#each projects as project} - - - - - - +
+
{$t('admin_dashboard.column_name')}{$t('admin_dashboard.column_code')}{$t('admin_dashboard.column_users')}{$t('admin_dashboard.column_last_change')}{$t('admin_dashboard.column_type')}
- - {project.name} - - {project.code}TODO - - - -
+ + + + + + + - {/each} - -
{$t('admin_dashboard.column_name')}{$t('admin_dashboard.column_code')}{$t('admin_dashboard.column_users')} + {$t('admin_dashboard.column_last_change')} + + {$t('admin_dashboard.column_type')}
+ + + {#each projects as project} + + + + {project.name} + + + {project.code} + TODO + + + + + + + + {/each} + + +
-
- +
+ {$t('admin_dashboard.user_table_title')} {userSearch ? users.length : $allUsers.length}
- - - - - - - - - - - - {#each users as user} - - - - - - +
+
{$t('admin_dashboard.column_name')}{$t('admin_dashboard.column_email')}{$t('admin_dashboard.column_role')}{$t('admin_dashboard.column_created')}{$t('admin_dashboard.column_edit')}
{user.name}{user.email}{user.isAdmin ? $t('user_types.admin') : $t('user_types.user')} - - - openModal(user)} /> -
+ + + + + + + - {/each} - -
+ {$t('admin_dashboard.column_name')} + {$t('admin_dashboard.column_email')}{$t('admin_dashboard.column_role')}{$t('admin_dashboard.column_created')}{$t('admin_dashboard.column_edit')}
+ + + {#each users as user} + + {user.name} + {user.email} + {user.isAdmin ? $t('user_types.admin') : $t('user_types.user')} + + + + + openModal(user)} /> + + + {/each} + + +
diff --git a/frontend/src/routes/(authenticated)/(dashboards)/admin/EditUserAccount.svelte b/frontend/src/routes/(authenticated)/(dashboards)/admin/EditUserAccount.svelte index a2ceb6a3a..26a2883cf 100644 --- a/frontend/src/routes/(authenticated)/(dashboards)/admin/EditUserAccount.svelte +++ b/frontend/src/routes/(authenticated)/(dashboards)/admin/EditUserAccount.svelte @@ -76,18 +76,16 @@ - + {$t('admin_dashboard.form_modal.update_user')} diff --git a/frontend/src/routes/(authenticated)/+layout.svelte b/frontend/src/routes/(authenticated)/+layout.svelte index 4bafa3b91..3edd49e2e 100644 --- a/frontend/src/routes/(authenticated)/+layout.svelte +++ b/frontend/src/routes/(authenticated)/+layout.svelte @@ -34,7 +34,7 @@ diff --git a/frontend/src/routes/(authenticated)/project/[project_code]/+page.svelte b/frontend/src/routes/(authenticated)/project/[project_code]/+page.svelte index ab6aa9b71..822e9c9a3 100644 --- a/frontend/src/routes/(authenticated)/project/[project_code]/+page.svelte +++ b/frontend/src/routes/(authenticated)/project/[project_code]/+page.svelte @@ -89,7 +89,7 @@
{$t('project_page.project')}: - +
{$t('project_page.description')}:
- + -