diff --git a/src/GZCTF/ClientApp/package.json b/src/GZCTF/ClientApp/package.json index e2fe85d57..032a92cc3 100644 --- a/src/GZCTF/ClientApp/package.json +++ b/src/GZCTF/ClientApp/package.json @@ -11,7 +11,7 @@ "genapi": "swagger-typescript-api -p template/swagger.json -t template -o src --module-name-first-tag --sort-routes" }, "dependencies": { - "@babel/core": "^7.22.10", + "@babel/core": "^7.22.11", "@emotion/react": "^11.11.1", "@mantine/carousel": "^6.0.19", "@mantine/core": "^6.0.19", @@ -44,13 +44,13 @@ "vite-tsconfig-paths": "^4.2.0" }, "devDependencies": { - "@babel/eslint-parser": "^7.22.10", + "@babel/eslint-parser": "^7.22.11", "@nabla/vite-plugin-eslint": "^1.5.0", "@trivago/prettier-plugin-sort-imports": "^4.2.0", "@types/katex": "^0.16.2", - "@types/node": "20.5.1", + "@types/node": "20.5.4", "@types/prismjs": "^1.26.0", - "@types/react": "^18.2.20", + "@types/react": "^18.2.21", "@types/react-dom": "^18.2.7", "@typescript-eslint/eslint-plugin": "^6.4.1", "@typescript-eslint/parser": "^6.4.1", diff --git a/src/GZCTF/ClientApp/pnpm-lock.yaml b/src/GZCTF/ClientApp/pnpm-lock.yaml index 6a3a0177a..7507099d3 100644 --- a/src/GZCTF/ClientApp/pnpm-lock.yaml +++ b/src/GZCTF/ClientApp/pnpm-lock.yaml @@ -6,17 +6,17 @@ settings: dependencies: '@babel/core': - specifier: ^7.22.10 - version: 7.22.10 + specifier: ^7.22.11 + version: 7.22.11 '@emotion/react': specifier: ^11.11.1 - version: 11.11.1(@types/react@18.2.20)(react@18.2.0) + version: 11.11.1(@types/react@18.2.21)(react@18.2.0) '@mantine/carousel': specifier: ^6.0.19 version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(embla-carousel-react@7.1.0)(react@18.2.0) '@mantine/core': specifier: ^6.0.19 - version: 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + version: 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.21)(react-dom@18.2.0)(react@18.2.0) '@mantine/dates': specifier: ^6.0.19 version: 6.0.19(@mantine/core@6.0.19)(@mantine/hooks@6.0.19)(dayjs@1.11.9)(react@18.2.0) @@ -85,7 +85,7 @@ dependencies: version: 18.2.0(react@18.2.0) react-pdf: specifier: ^7.3.3 - version: 7.3.3(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + version: 7.3.3(@types/react@18.2.21)(react-dom@18.2.0)(react@18.2.0) react-router: specifier: ^6.15.0 version: 6.15.0(react@18.2.0) @@ -101,8 +101,8 @@ dependencies: devDependencies: '@babel/eslint-parser': - specifier: ^7.22.10 - version: 7.22.10(@babel/core@7.22.10)(eslint@8.47.0) + specifier: ^7.22.11 + version: 7.22.11(@babel/core@7.22.11)(eslint@8.47.0) '@nabla/vite-plugin-eslint': specifier: ^1.5.0 version: 1.5.0(eslint@8.47.0)(vite@4.4.9) @@ -113,14 +113,14 @@ devDependencies: specifier: ^0.16.2 version: 0.16.2 '@types/node': - specifier: 20.5.1 - version: 20.5.1 + specifier: 20.5.4 + version: 20.5.4 '@types/prismjs': specifier: ^1.26.0 version: 1.26.0 '@types/react': - specifier: ^18.2.20 - version: 18.2.20 + specifier: ^18.2.21 + version: 18.2.21 '@types/react-dom': specifier: ^18.2.7 version: 18.2.7 @@ -168,7 +168,7 @@ devDependencies: version: 5.1.6 vite: specifier: ^4.4.9 - version: 4.4.9(@types/node@20.5.1) + version: 4.4.9(@types/node@20.5.4) vite-plugin-pages: specifier: ^0.31.0 version: 0.31.0(vite@4.4.9) @@ -216,20 +216,20 @@ packages: resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==} engines: {node: '>=6.9.0'} - /@babel/core@7.22.10: - resolution: {integrity: sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==} + /@babel/core@7.22.11: + resolution: {integrity: sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.10 '@babel/generator': 7.22.10 '@babel/helper-compilation-targets': 7.22.10 - '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.10) - '@babel/helpers': 7.22.10 - '@babel/parser': 7.22.10 + '@babel/helper-module-transforms': 7.22.9(@babel/core@7.22.11) + '@babel/helpers': 7.22.11 + '@babel/parser': 7.22.11 '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/traverse': 7.22.11 + '@babel/types': 7.22.11 convert-source-map: 1.9.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -238,14 +238,14 @@ packages: transitivePeerDependencies: - supports-color - /@babel/eslint-parser@7.22.10(@babel/core@7.22.10)(eslint@8.47.0): - resolution: {integrity: sha512-0J8DNPRXQRLeR9rPaUMM3fA+RbixjnVLe/MRMYCkp3hzgsSuxCHQ8NN8xQG1wIHKJ4a1DTROTvFJdW+B5/eOsg==} + /@babel/eslint-parser@7.22.11(@babel/core@7.22.11)(eslint@8.47.0): + resolution: {integrity: sha512-YjOYZ3j7TjV8OhLW6NCtyg8G04uStATEUe5eiLuCZaXz2VSDQ3dsAtm2D+TuQyAqNMUK2WacGo0/uma9Pein1w==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 8.47.0 eslint-visitor-keys: 2.1.0 @@ -265,7 +265,7 @@ packages: resolution: {integrity: sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.19 jsesc: 2.5.2 @@ -308,15 +308,15 @@ packages: resolution: {integrity: sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 - /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.10): + /@babel/helper-module-transforms@7.22.9(@babel/core@7.22.11): resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@babel/helper-environment-visitor': 7.22.5 '@babel/helper-module-imports': 7.22.5 '@babel/helper-simple-access': 7.22.5 @@ -332,7 +332,7 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} @@ -361,13 +361,13 @@ packages: resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==} engines: {node: '>=6.9.0'} - /@babel/helpers@7.22.10: - resolution: {integrity: sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==} + /@babel/helpers@7.22.11: + resolution: {integrity: sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.5 - '@babel/traverse': 7.22.10 - '@babel/types': 7.22.10 + '@babel/traverse': 7.22.11 + '@babel/types': 7.22.11 transitivePeerDependencies: - supports-color @@ -395,12 +395,12 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.22.10: - resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + /@babel/parser@7.22.11: + resolution: {integrity: sha512-R5zb8eJIBPJriQtbH/htEQy4k7E2dHWlD2Y2VT07JCzwYZHBxV5ZYtM0UhXSNMT74LyxuM+b1jdL7pSesXbC/g==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.22.10 + '@babel/types': 7.22.11 /@babel/parser@7.22.7: resolution: {integrity: sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==} @@ -409,23 +409,23 @@ packages: dependencies: '@babel/types': 7.22.5 - /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-jsx-self@7.22.5(@babel/core@7.22.11): resolution: {integrity: sha512-nTh2ogNUtxbiSbxaT4Ds6aXnXEipHweN9YRgOX/oNXdf0cCrGn/+2LozFa3lnPV5D90MkjhgckCPBrsoSc1a7g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@babel/helper-plugin-utils': 7.22.5 dev: true - /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.10): + /@babel/plugin-transform-react-jsx-source@7.22.5(@babel/core@7.22.11): resolution: {integrity: sha512-yIiRO6yobeEIaI0RTbIr8iAK9FcBHLtZq0S89ZPjDLQXBA4xvghaKqI0etp/tF3htTM0sazJKKLz9oEiGRtu7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 '@babel/helper-plugin-utils': 7.22.5 dev: true @@ -469,8 +469,8 @@ packages: - supports-color dev: true - /@babel/traverse@7.22.10: - resolution: {integrity: sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==} + /@babel/traverse@7.22.11: + resolution: {integrity: sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.10 @@ -479,8 +479,8 @@ packages: '@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.10 - '@babel/types': 7.22.10 + '@babel/parser': 7.22.11 + '@babel/types': 7.22.11 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: @@ -503,8 +503,8 @@ packages: to-fast-properties: 2.0.0 dev: false - /@babel/types@7.22.10: - resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + /@babel/types@7.22.11: + resolution: {integrity: sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 @@ -553,7 +553,7 @@ packages: resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} dev: false - /@emotion/react@11.11.1(@types/react@18.2.20)(react@18.2.0): + /@emotion/react@11.11.1(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==} peerDependencies: '@types/react': '*' @@ -569,7 +569,7 @@ packages: '@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0) '@emotion/utils': 1.2.1 '@emotion/weak-memoize': 0.3.1 - '@types/react': 18.2.20 + '@types/react': 18.2.21 hoist-non-react-statics: 3.3.2 react: 18.2.0 dev: false @@ -924,14 +924,14 @@ packages: embla-carousel-react: ^7.0.0 react: '>=16.8.0' dependencies: - '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.21)(react-dom@18.2.0)(react@18.2.0) '@mantine/hooks': 6.0.19(react@18.2.0) '@mantine/utils': 6.0.19(react@18.2.0) embla-carousel-react: 7.1.0(react@18.2.0) react: 18.2.0 dev: false - /@mantine/core@6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + /@mantine/core@6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.21)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-SvMZCOgCc315SIg6hkuLM0ZnBaAac4VFDHZ0BM5LIE4MPJUpe4QOLsg/5RGxOa5s7JRCtu/dawH3/9frvfDrhw==} peerDependencies: '@mantine/hooks': 6.0.19 @@ -945,8 +945,8 @@ packages: '@radix-ui/react-scroll-area': 1.0.2(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.6(@types/react@18.2.20)(react@18.2.0) - react-textarea-autosize: 8.3.4(@types/react@18.2.20)(react@18.2.0) + react-remove-scroll: 2.5.6(@types/react@18.2.21)(react@18.2.0) + react-textarea-autosize: 8.3.4(@types/react@18.2.21)(react@18.2.0) transitivePeerDependencies: - '@emotion/react' - '@types/react' @@ -960,7 +960,7 @@ packages: dayjs: '>=1.0.0' react: '>=16.8.0' dependencies: - '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.21)(react-dom@18.2.0)(react@18.2.0) '@mantine/hooks': 6.0.19(react@18.2.0) '@mantine/utils': 6.0.19(react@18.2.0) dayjs: 1.11.9 @@ -975,7 +975,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.21)(react-dom@18.2.0)(react@18.2.0) '@mantine/hooks': 6.0.19(react@18.2.0) '@mantine/utils': 6.0.19(react@18.2.0) react: 18.2.0 @@ -1009,7 +1009,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.21)(react-dom@18.2.0)(react@18.2.0) '@mantine/hooks': 6.0.19(react@18.2.0) '@mantine/utils': 6.0.19(react@18.2.0) react: 18.2.0 @@ -1024,7 +1024,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0) + '@mantine/core': 6.0.19(@emotion/react@11.11.1)(@mantine/hooks@6.0.19)(@types/react@18.2.21)(react-dom@18.2.0)(react@18.2.0) '@mantine/hooks': 6.0.19(react@18.2.0) '@mantine/utils': 6.0.19(react@18.2.0) react: 18.2.0 @@ -1039,7 +1039,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@emotion/react': 11.11.1(@types/react@18.2.20)(react@18.2.0) + '@emotion/react': 11.11.1(@types/react@18.2.21)(react@18.2.0) clsx: 1.1.1 csstype: 3.0.9 react: 18.2.0 @@ -1107,7 +1107,7 @@ packages: '@types/eslint': 8.40.0 chalk: 4.1.2 eslint: 8.47.0 - vite: 4.4.9(@types/node@20.5.1) + vite: 4.4.9(@types/node@20.5.4) dev: true /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: @@ -1312,8 +1312,8 @@ packages: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node@20.5.1: - resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} + /@types/node@20.5.4: + resolution: {integrity: sha512-Y9vbIAoM31djQZrPYjpTLo0XlaSwOIsrlfE3LpulZeRblttsLQRFRlBAppW0LOxyT3ALj2M5vU1ucQQayQH3jA==} /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} @@ -1329,11 +1329,11 @@ packages: /@types/react-dom@18.2.7: resolution: {integrity: sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==} dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 dev: true - /@types/react@18.2.20: - resolution: {integrity: sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==} + /@types/react@18.2.21: + resolution: {integrity: sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.3 @@ -1487,11 +1487,11 @@ packages: peerDependencies: vite: ^4.2.0 dependencies: - '@babel/core': 7.22.10 - '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.10) - '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.10) + '@babel/core': 7.22.11 + '@babel/plugin-transform-react-jsx-self': 7.22.5(@babel/core@7.22.11) + '@babel/plugin-transform-react-jsx-source': 7.22.5(@babel/core@7.22.11) react-refresh: 0.14.0 - vite: 4.4.9(@types/node@20.5.1) + vite: 4.4.9(@types/node@20.5.4) transitivePeerDependencies: - supports-color dev: true @@ -1661,8 +1661,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001519 - electron-to-chromium: 1.4.488 + caniuse-lite: 1.0.30001522 + electron-to-chromium: 1.4.500 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) @@ -1681,8 +1681,8 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - /caniuse-lite@1.0.30001519: - resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} + /caniuse-lite@1.0.30001522: + resolution: {integrity: sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==} /canvas@2.11.2: resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} @@ -1969,8 +1969,8 @@ packages: zrender: 5.4.4 dev: false - /electron-to-chromium@1.4.488: - resolution: {integrity: sha512-Dv4sTjiW7t/UWGL+H8ZkgIjtUAVZDgb/PwGWvMsCT7jipzUV/u5skbLXPFKb6iV0tiddVi/bcS2/kUrczeWgIQ==} + /electron-to-chromium@1.4.500: + resolution: {integrity: sha512-P38NO8eOuWOKY1sQk5yE0crNtrjgjJj6r3NrbIKtG18KzCHmHE2Bt+aQA7/y0w3uYsHWxDa6icOohzjLJ4vJ4A==} /embla-carousel-autoplay@7.1.0(embla-carousel@7.1.0): resolution: {integrity: sha512-nYfgSGn3ek44OzwO0t/Ptuxq4PNPD5l7Y9X7JjLYI/DN1uGjqxz9L73YYqR6YCRDnTYJ88s9fep48dzBnSG4vQ==} @@ -2883,7 +2883,7 @@ packages: /merge-refs@1.2.1: resolution: {integrity: sha512-pRPz39HQz2xzHdXAGvtJ9S8aEpNgpUjzb5yPC3ytozodmsHg+9nqgRs7/YOmn9fM/TLzntAC8AdGTidKxOq9TQ==} dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 dev: false /merge2@1.4.1: @@ -3302,7 +3302,7 @@ packages: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: false - /react-pdf@7.3.3(@types/react@18.2.20)(react-dom@18.2.0)(react@18.2.0): + /react-pdf@7.3.3(@types/react@18.2.21)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-d7WAxcsjOogJfJ+I+zX/mdip3VjR1yq/yDa4hax4XbQVjbbbup6rqs4c8MGx0MLSnzob17TKp1t4CsNbDZ6GeQ==} peerDependencies: '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -3312,7 +3312,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 clsx: 2.0.0 make-cancellable-promise: 1.3.1 make-event-props: 1.6.1 @@ -3333,7 +3333,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-remove-scroll-bar@2.3.4(@types/react@18.2.20)(react@18.2.0): + /react-remove-scroll-bar@2.3.4(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} engines: {node: '>=10'} peerDependencies: @@ -3343,13 +3343,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.20)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.21)(react@18.2.0) tslib: 2.6.2 dev: false - /react-remove-scroll@2.5.6(@types/react@18.2.20)(react@18.2.0): + /react-remove-scroll@2.5.6(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg==} engines: {node: '>=10'} peerDependencies: @@ -3359,13 +3359,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.2.20)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.20)(react@18.2.0) + react-remove-scroll-bar: 2.3.4(@types/react@18.2.21)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.21)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.0(@types/react@18.2.20)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.20)(react@18.2.0) + use-callback-ref: 1.3.0(@types/react@18.2.21)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.21)(react@18.2.0) dev: false /react-router-dom@6.15.0(react-dom@18.2.0)(react@18.2.0): @@ -3391,7 +3391,7 @@ packages: react: 18.2.0 dev: false - /react-style-singleton@2.2.1(@types/react@18.2.20)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -3401,14 +3401,14 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 tslib: 2.6.2 dev: false - /react-textarea-autosize@8.3.4(@types/react@18.2.20)(react@18.2.0): + /react-textarea-autosize@8.3.4(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==} engines: {node: '>=10'} peerDependencies: @@ -3417,7 +3417,7 @@ packages: '@babel/runtime': 7.22.10 react: 18.2.0 use-composed-ref: 1.3.0(react@18.2.0) - use-latest: 1.2.1(@types/react@18.2.20)(react@18.2.0) + use-latest: 1.2.1(@types/react@18.2.21)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false @@ -3906,7 +3906,7 @@ packages: requires-port: 1.0.0 dev: false - /use-callback-ref@1.3.0(@types/react@18.2.20)(react@18.2.0): + /use-callback-ref@1.3.0(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} engines: {node: '>=10'} peerDependencies: @@ -3916,7 +3916,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 react: 18.2.0 tslib: 2.6.2 dev: false @@ -3929,7 +3929,7 @@ packages: react: 18.2.0 dev: false - /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.20)(react@18.2.0): + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -3938,11 +3938,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 react: 18.2.0 dev: false - /use-latest@1.2.1(@types/react@18.2.20)(react@18.2.0): + /use-latest@1.2.1(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' @@ -3951,12 +3951,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.20)(react@18.2.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.21)(react@18.2.0) dev: false - /use-sidecar@1.1.2(@types/react@18.2.20)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.21)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -3966,7 +3966,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.20 + '@types/react': 18.2.21 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 @@ -4003,7 +4003,7 @@ packages: json5: 2.2.3 local-pkg: 0.4.3 picocolors: 1.0.0 - vite: 4.4.9(@types/node@20.5.1) + vite: 4.4.9(@types/node@20.5.4) yaml: 2.3.1 transitivePeerDependencies: - supports-color @@ -4013,7 +4013,7 @@ packages: resolution: {integrity: sha512-mBPPMS/hwVUArdqCtp/oajZT7iq1qwJDDCciNZ3R5+Q5tQUuUHXtDKuZHYnklPLElNbENf2FyuOtC4FrgxQRAA==} engines: {node: '>=12.0.0'} dependencies: - '@babel/core': 7.22.10 + '@babel/core': 7.22.11 babel-plugin-prismjs: 2.1.0(prismjs@1.29.0) transitivePeerDependencies: - prismjs @@ -4029,7 +4029,7 @@ packages: clean-css: 5.3.2 flat-cache: 3.0.4 picocolors: 1.0.0 - vite: 4.4.9(@types/node@20.5.1) + vite: 4.4.9(@types/node@20.5.4) transitivePeerDependencies: - debug dev: true @@ -4045,13 +4045,13 @@ packages: debug: 4.3.4 globrex: 0.1.2 tsconfck: 2.1.1(typescript@5.1.6) - vite: 4.4.9(@types/node@20.5.1) + vite: 4.4.9(@types/node@20.5.4) transitivePeerDependencies: - supports-color - typescript dev: false - /vite@4.4.9(@types/node@20.5.1): + /vite@4.4.9(@types/node@20.5.4): resolution: {integrity: sha512-2mbUn2LlUmNASWwSCNSJ/EG2HuSRTnVNaydp6vMCm5VIqJsjMfbIWtbH2kDuwUVW5mMUKKZvGPX/rqeqVvv1XA==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true @@ -4079,7 +4079,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.5.1 + '@types/node': 20.5.4 esbuild: 0.18.19 postcss: 8.4.27 rollup: 3.28.1 diff --git a/src/GZCTF/ClientApp/src/components/GameNoticePanel.tsx b/src/GZCTF/ClientApp/src/components/GameNoticePanel.tsx index cd1858237..083669f51 100644 --- a/src/GZCTF/ClientApp/src/components/GameNoticePanel.tsx +++ b/src/GZCTF/ClientApp/src/components/GameNoticePanel.tsx @@ -121,8 +121,8 @@ const GameNoticePanel: FC = () => { filteredNotices.sort((a, b) => a.type !== b.type && (a.type === NoticeType.Normal || b.type == NoticeType.Normal) - ? (a.type === NoticeType.Normal ? -1 : 1) - : (dayjs(a.time).isAfter(b.time) ? -1 : 1) + ? +(a.type !== NoticeType.Normal) || -1 + : dayjs(b.time).diff(a.time) ) return ( diff --git a/src/GZCTF/ClientApp/src/components/TeamEditModal.tsx b/src/GZCTF/ClientApp/src/components/TeamEditModal.tsx index 8dd7e9103..eade9cc58 100644 --- a/src/GZCTF/ClientApp/src/components/TeamEditModal.tsx +++ b/src/GZCTF/ClientApp/src/components/TeamEditModal.tsx @@ -25,7 +25,7 @@ import { useModals } from '@mantine/modals' import { showNotification, updateNotification, notifications } from '@mantine/notifications' import { mdiCheck, mdiClose, mdiRefresh, mdiStar } from '@mdi/js' import { Icon } from '@mdi/react' -import { showErrorNotification } from '@Utils/ApiErrorHandler' +import { showErrorNotification, tryGetErrorMsg } from '@Utils/ApiErrorHandler' import { ACCEPT_IMAGE_MIME_TYPE } from '@Utils/ThemeOverride' import api, { TeamInfoModel, TeamUserInfoModel } from '@Api' @@ -230,11 +230,12 @@ const TeamEditModal: FC = (props) => { revalidate: false, }) }) - .catch(() => { + .catch((err) => { updateNotification({ id: 'upload-avatar', color: 'red', - message: '头像更新失败', + title: '头像更新失败', + message: tryGetErrorMsg(err), icon: , autoClose: true, }) diff --git a/src/GZCTF/ClientApp/src/components/Watermark.tsx b/src/GZCTF/ClientApp/src/components/Watermark.tsx index aafe3fabc..670deff0a 100644 --- a/src/GZCTF/ClientApp/src/components/Watermark.tsx +++ b/src/GZCTF/ClientApp/src/components/Watermark.tsx @@ -96,7 +96,7 @@ function calcTextRenderedRect(text: string, fontSize: number, fontFamily: string return rect } -const Watermark: React.FC = ({ +const Watermark: React.FC> = ({ show = true, text, textColor = '#cccccc', diff --git a/src/GZCTF/ClientApp/src/pages/account/Profile.tsx b/src/GZCTF/ClientApp/src/pages/account/Profile.tsx index aeb31359a..ed72b213b 100644 --- a/src/GZCTF/ClientApp/src/pages/account/Profile.tsx +++ b/src/GZCTF/ClientApp/src/pages/account/Profile.tsx @@ -23,7 +23,7 @@ import { mdiCheck, mdiClose } from '@mdi/js' import { Icon } from '@mdi/react' import PasswordChangeModal from '@Components/PasswordChangeModal' import WithNavBar from '@Components/WithNavbar' -import { showErrorNotification } from '@Utils/ApiErrorHandler' +import { showErrorNotification, tryGetErrorMsg } from '@Utils/ApiErrorHandler' import { ACCEPT_IMAGE_MIME_TYPE, useIsMobile } from '@Utils/ThemeOverride' import { usePageTitle } from '@Utils/usePageTitle' import { useUser } from '@Utils/useUser' @@ -92,11 +92,12 @@ const Profile: FC = () => { mutate() setAvatarFile(null) }) - .catch(() => { + .catch((err) => { updateNotification({ id: 'upload-avatar', color: 'red', - message: '头像更新失败', + title: '头像更新失败', + message: tryGetErrorMsg(err), icon: , autoClose: true, }) diff --git a/src/GZCTF/ClientApp/src/pages/admin/games/[id]/Info.tsx b/src/GZCTF/ClientApp/src/pages/admin/games/[id]/Info.tsx index 12eae6ae8..a1a7f7fed 100644 --- a/src/GZCTF/ClientApp/src/pages/admin/games/[id]/Info.tsx +++ b/src/GZCTF/ClientApp/src/pages/admin/games/[id]/Info.tsx @@ -35,7 +35,7 @@ import { import { Icon } from '@mdi/react' import { SwitchLabel } from '@Components/admin/SwitchLabel' import WithGameEditTab from '@Components/admin/WithGameEditTab' -import { showErrorNotification } from '@Utils/ApiErrorHandler' +import { showErrorNotification, tryGetErrorMsg } from '@Utils/ApiErrorHandler' import { ACCEPT_IMAGE_MIME_TYPE } from '@Utils/ThemeOverride' import { OnceSWRConfig } from '@Utils/useConfig' import api, { GameInfoModel } from '@Api' @@ -112,11 +112,12 @@ const GameInfoEdit: FC = () => { }) mutate({ ...game, poster: res.data }) }) - .catch(() => { + .catch((err) => { updateNotification({ id: 'upload-poster', color: 'red', - message: '比赛海报更新失败', + title: '比赛海报更新失败', + message: tryGetErrorMsg(err), icon: , autoClose: true, }) diff --git a/src/GZCTF/ClientApp/src/utils/ApiErrorHandler.tsx b/src/GZCTF/ClientApp/src/utils/ApiErrorHandler.tsx index ba086b520..cce07826c 100644 --- a/src/GZCTF/ClientApp/src/utils/ApiErrorHandler.tsx +++ b/src/GZCTF/ClientApp/src/utils/ApiErrorHandler.tsx @@ -2,6 +2,9 @@ import { showNotification } from '@mantine/notifications' import { mdiClose } from '@mdi/js' import { Icon } from '@mdi/react' +export const tryGetErrorMsg = (err: any) => + err?.response?.data?.title ?? err?.title ?? err ?? '未知错误' + export const showErrorNotification = (err: any) => { if (err?.response?.status === 429) { showNotification({ @@ -16,7 +19,7 @@ export const showErrorNotification = (err: any) => { showNotification({ color: 'red', title: '遇到了问题', - message: `${err?.response?.data?.title ?? err?.title ?? err ?? '未知错误'}`, + message: tryGetErrorMsg(err), icon: , }) }