diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1bbfc9e..805c77b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -58,7 +58,7 @@
version: 4.0.6(mobx@6.12.0)(react-dom@18.2.0)(react@18.2.0)
next:
specifier: ^14.1.3
- version: 14.1.3(react-dom@18.2.0)(react@18.2.0)(sass@1.72.0)
+ version: 14.1.3(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0)(sass@1.72.0)
next-intl:
specifier: ^3.9.5
version: 3.9.5(next@14.1.3)(react@18.2.0)
@@ -83,9 +83,6 @@
sharp:
specifier: ^0.33.2
version: 0.33.2
- sprintf-js:
- specifier: ^1.1.3
- version: 1.1.3
sweetalert2:
specifier: ^11.10.6
version: 11.10.6
@@ -114,9 +111,6 @@
'@types/react-router-dom':
specifier: ^5.3.3
version: 5.3.3
- '@types/sprintf-js':
- specifier: ^1.1.4
- version: 1.1.4
eslint-config-next:
specifier: ^14.1.3
version: 14.1.3(eslint@8.57.0)(typescript@5.4.2)
@@ -141,15 +135,21 @@
dompurify:
specifier: ^3.0.9
version: 3.0.9
- i18next:
- specifier: ^23.10.1
- version: 23.10.1
+ isomorphic-dompurify:
+ specifier: ^2.4.0
+ version: 2.4.0
mobx:
specifier: ^6.12.0
version: 6.12.0
mobx-react-lite:
specifier: ^4.0.6
version: 4.0.6(mobx@6.12.0)(react-dom@18.2.0)(react@18.2.0)
+ next:
+ specifier: ^14.1.3
+ version: 14.1.3(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0)(sass@1.72.0)
+ next-intl:
+ specifier: ^3.9.5
+ version: 3.9.5(next@14.1.3)(react@18.2.0)
react:
specifier: ^18.2.0
version: 18.2.0
@@ -162,15 +162,9 @@
react-dom:
specifier: ^18.2.0
version: 18.2.0(react@18.2.0)
- react-i18next:
- specifier: ^14.1.0
- version: 14.1.0(i18next@23.10.1)(react-dom@18.2.0)(react@18.2.0)
react-infinite-scroll-component:
specifier: ^6.1.0
version: 6.1.0(react@18.2.0)
- react-router-dom:
- specifier: ^6.22.3
- version: 6.22.3(react-dom@18.2.0)(react@18.2.0)
react-scripts:
specifier: 5.0.1
version: 5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(sass@1.72.0)(typescript@5.4.2)
@@ -217,9 +211,9 @@
'@types/sprintf-js':
specifier: ^1.1.4
version: 1.1.4
- http-proxy-middleware:
- specifier: ^2.0.6
- version: 2.0.6(@types/express@4.17.17)
+ eslint-config-next:
+ specifier: ^14.1.3
+ version: 14.1.3(eslint@8.57.0)(typescript@5.4.2)
typescript:
specifier: ^5.4.2
version: 5.4.2
@@ -243,7 +237,7 @@
version: 14.1.3(eslint@8.57.0)(typescript@5.4.2)
next:
specifier: ^14.1.3
- version: 14.1.3(react-dom@18.2.0)(react@18.2.0)(sass@1.72.0)
+ version: 14.1.3(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0)(sass@1.72.0)
next-intl:
specifier: ^3.9.5
version: 3.9.5(next@14.1.3)(react@18.2.0)
@@ -335,7 +329,6 @@
dependencies:
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.18
- dev: false
/@apideck/better-ajv-errors@0.3.6(ajv@8.12.0):
resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==}
@@ -358,7 +351,6 @@
/@babel/compat-data@7.22.9:
resolution: {integrity: sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/core@7.22.9:
resolution: {integrity: sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==}
@@ -381,7 +373,6 @@
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- dev: false
/@babel/eslint-parser@7.22.9(@babel/core@7.22.9)(eslint@8.57.0):
resolution: {integrity: sha512-xdMkt39/nviO/4vpVdrEYPwXCsYIXSSAr6mC7WQsNIlGnuxKyKE7GZjalcnbSWiC4OXGNNN3UQPeHfjSC6sTDA==}
@@ -405,7 +396,6 @@
'@jridgewell/gen-mapping': 0.3.3
'@jridgewell/trace-mapping': 0.3.18
jsesc: 2.5.2
- dev: false
/@babel/helper-annotate-as-pure@7.22.5:
resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
@@ -433,7 +423,6 @@
browserslist: 4.21.9
lru-cache: 5.1.1
semver: 6.3.1
- dev: false
/@babel/helper-create-class-features-plugin@7.22.9(@babel/core@7.22.9):
resolution: {integrity: sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==}
@@ -483,7 +472,6 @@
/@babel/helper-environment-visitor@7.22.5:
resolution: {integrity: sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-function-name@7.22.5:
resolution: {integrity: sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==}
@@ -491,14 +479,12 @@
dependencies:
'@babel/template': 7.22.5
'@babel/types': 7.22.5
- dev: false
/@babel/helper-hoist-variables@7.22.5:
resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.22.5
- dev: false
/@babel/helper-member-expression-to-functions@7.22.5:
resolution: {integrity: sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==}
@@ -519,7 +505,6 @@
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.22.5
- dev: false
/@babel/helper-module-transforms@7.22.9(@babel/core@7.22.9):
resolution: {integrity: sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==}
@@ -533,7 +518,6 @@
'@babel/helper-simple-access': 7.22.5
'@babel/helper-split-export-declaration': 7.22.6
'@babel/helper-validator-identifier': 7.22.5
- dev: false
/@babel/helper-optimise-call-expression@7.22.5:
resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
@@ -576,7 +560,6 @@
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.22.5
- dev: false
/@babel/helper-skip-transparent-expression-wrappers@7.22.5:
resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
@@ -590,12 +573,10 @@
engines: {node: '>=6.9.0'}
dependencies:
'@babel/types': 7.22.5
- dev: false
/@babel/helper-string-parser@7.22.5:
resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-string-parser@7.23.4:
resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
@@ -614,7 +595,6 @@
/@babel/helper-validator-option@7.22.5:
resolution: {integrity: sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==}
engines: {node: '>=6.9.0'}
- dev: false
/@babel/helper-wrap-function@7.22.9:
resolution: {integrity: sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==}
@@ -634,7 +614,6 @@
'@babel/types': 7.22.5
transitivePeerDependencies:
- supports-color
- dev: false
/@babel/highlight@7.22.5:
resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==}
@@ -650,7 +629,6 @@
hasBin: true
dependencies:
'@babel/types': 7.22.5
- dev: false
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.5(@babel/core@7.22.9):
resolution: {integrity: sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==}
@@ -1821,7 +1799,6 @@
'@babel/code-frame': 7.22.5
'@babel/parser': 7.22.7
'@babel/types': 7.22.5
- dev: false
/@babel/traverse@7.22.8:
resolution: {integrity: sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==}
@@ -1839,7 +1816,6 @@
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- dev: false
/@babel/types@7.22.5:
resolution: {integrity: sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==}
@@ -1848,7 +1824,6 @@
'@babel/helper-string-parser': 7.22.5
'@babel/helper-validator-identifier': 7.22.5
to-fast-properties: 2.0.0
- dev: false
/@babel/types@7.23.9:
resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==}
@@ -2829,17 +2804,14 @@
'@jridgewell/set-array': 1.1.2
'@jridgewell/sourcemap-codec': 1.4.15
'@jridgewell/trace-mapping': 0.3.18
- dev: false
/@jridgewell/resolve-uri@3.1.0:
resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
engines: {node: '>=6.0.0'}
- dev: false
/@jridgewell/set-array@1.1.2:
resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
engines: {node: '>=6.0.0'}
- dev: false
/@jridgewell/source-map@0.3.5:
resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
@@ -2850,18 +2822,15 @@
/@jridgewell/sourcemap-codec@1.4.14:
resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
- dev: false
/@jridgewell/sourcemap-codec@1.4.15:
resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
- dev: false
/@jridgewell/trace-mapping@0.3.18:
resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
dependencies:
'@jridgewell/resolve-uri': 3.1.0
'@jridgewell/sourcemap-codec': 1.4.14
- dev: false
/@kurkle/color@0.3.2:
resolution: {integrity: sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==}
@@ -3032,11 +3001,6 @@
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
dev: false
- /@remix-run/router@1.15.3:
- resolution: {integrity: sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==}
- engines: {node: '>=14.0.0'}
- dev: false
-
/@rollup/plugin-babel@5.3.1(@babel/core@7.22.9)(rollup@2.79.1):
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
@@ -3564,6 +3528,7 @@
resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==}
dependencies:
'@types/node': 20.11.27
+ dev: false
/@types/istanbul-lib-coverage@2.0.4:
resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==}
@@ -4738,7 +4703,6 @@
electron-to-chromium: 1.4.461
node-releases: 2.0.13
update-browserslist-db: 1.0.11(browserslist@4.21.9)
- dev: false
/bser@2.1.1:
resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
@@ -4832,7 +4796,6 @@
/caniuse-lite@1.0.30001516:
resolution: {integrity: sha512-Wmec9pCBY8CWbmI4HsjBeQLqDTqV91nFVR83DnZpYyRnPI1wePDsTg0bGLPC5VU/3OIZV1fmxEea1b+tFKe86g==}
- dev: false
/caniuse-lite@1.0.30001597:
resolution: {integrity: sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==}
@@ -5130,7 +5093,6 @@
/convert-source-map@1.9.0:
resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
- dev: false
/cookie-signature@1.0.6:
resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
@@ -5804,7 +5766,6 @@
/electron-to-chromium@1.4.461:
resolution: {integrity: sha512-1JkvV2sgEGTDXjdsaQCeSwYYuhLRphRpc+g6EHTFELJXEiznLt3/0pZ9JuAOQ5p2rI3YxKTbivtvajirIfhrEQ==}
- dev: false
/emittery@0.10.2:
resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==}
@@ -6102,8 +6063,8 @@
'@rushstack/eslint-patch': 1.7.2
'@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.4.2)
eslint: 8.57.0
- eslint-import-resolver-node: 0.3.7
- eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
eslint-plugin-jsx-a11y: 6.7.1(eslint@8.57.0)
eslint-plugin-react: 7.34.0(eslint@8.57.0)
@@ -6157,6 +6118,7 @@
resolve: 1.22.2
transitivePeerDependencies:
- supports-color
+ dev: false
/eslint-import-resolver-node@0.3.9:
resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
@@ -6178,6 +6140,29 @@
enhanced-resolve: 5.15.0
eslint: 8.57.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(eslint@8.57.0)
+ fast-glob: 3.3.2
+ get-tsconfig: 4.7.3
+ is-core-module: 2.12.1
+ is-glob: 4.0.3
+ transitivePeerDependencies:
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: false
+
+ /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
+ peerDependencies:
+ eslint: '*'
+ eslint-plugin-import: '*'
+ dependencies:
+ debug: 4.3.4(supports-color@5.5.0)
+ enhanced-resolve: 5.15.0
+ eslint: 8.57.0
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
fast-glob: 3.3.2
get-tsconfig: 4.7.3
@@ -6217,6 +6202,7 @@
eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
transitivePeerDependencies:
- supports-color
+ dev: false
/eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
@@ -6243,7 +6229,7 @@
debug: 3.2.7
eslint: 8.57.0
eslint-import-resolver-node: 0.3.9
- eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
transitivePeerDependencies:
- supports-color
@@ -6329,6 +6315,40 @@
- eslint-import-resolver-webpack
- supports-color
+ /eslint-plugin-import@2.29.1(eslint@8.57.0):
+ resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ dependencies:
+ array-includes: 3.1.7
+ array.prototype.findlastindex: 1.2.4
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ hasown: 2.0.1
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.7
+ object.groupby: 1.0.2
+ object.values: 1.1.7
+ semver: 6.3.1
+ tsconfig-paths: 3.15.0
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
+ dev: false
+
/eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@27.5.1)(typescript@5.4.2):
resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
@@ -6587,6 +6607,7 @@
/eventemitter3@4.0.7:
resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+ dev: false
/events@3.3.0:
resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
@@ -6833,6 +6854,7 @@
peerDependenciesMeta:
debug:
optional: true
+ dev: false
/for-each@0.3.3:
resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
@@ -6982,7 +7004,6 @@
/gensync@1.0.0-beta.2:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
- dev: false
/get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
@@ -7108,7 +7129,6 @@
/globals@11.12.0:
resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
engines: {node: '>=4'}
- dev: false
/globals@13.20.0:
resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==}
@@ -7285,12 +7305,6 @@
terser: 5.19.0
dev: false
- /html-parse-stringify@3.0.1:
- resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==}
- dependencies:
- void-elements: 3.1.0
- dev: false
-
/html-webpack-plugin@5.5.3(webpack@5.88.1):
resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==}
engines: {node: '>=10.13.0'}
@@ -7409,6 +7423,7 @@
micromatch: 4.0.5
transitivePeerDependencies:
- debug
+ dev: false
/http-proxy@1.18.1:
resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
@@ -7419,6 +7434,7 @@
requires-port: 1.0.0
transitivePeerDependencies:
- debug
+ dev: false
/https-proxy-agent@5.0.1:
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
@@ -7445,12 +7461,6 @@
engines: {node: '>=10.17.0'}
dev: false
- /i18next@23.10.1:
- resolution: {integrity: sha512-NDiIzFbcs3O9PXpfhkjyf7WdqFn5Vq6mhzhtkXzj51aOcNuPNcTwuYNuXCpHsanZGHlHKL35G7huoFeVic1hng==}
- dependencies:
- '@babel/runtime': 7.23.9
- dev: false
-
/iconv-lite@0.4.24:
resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
engines: {node: '>=0.10.0'}
@@ -7719,6 +7729,7 @@
/is-plain-obj@3.0.0:
resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
engines: {node: '>=10'}
+ dev: false
/is-potential-custom-element-name@1.0.1:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
@@ -8626,7 +8637,6 @@
resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
engines: {node: '>=4'}
hasBin: true
- dev: false
/json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
@@ -8656,7 +8666,6 @@
resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
engines: {node: '>=6'}
hasBin: true
- dev: false
/jsonfile@6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
@@ -8909,7 +8918,6 @@
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
dependencies:
yallist: 3.1.1
- dev: false
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
@@ -9143,11 +9151,11 @@
dependencies:
'@formatjs/intl-localematcher': 0.2.32
negotiator: 0.6.3
- next: 14.1.3(react-dom@18.2.0)(react@18.2.0)(sass@1.72.0)
+ next: 14.1.3(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0)(sass@1.72.0)
react: 18.2.0
use-intl: 3.9.5(react@18.2.0)
- /next@14.1.3(react-dom@18.2.0)(react@18.2.0)(sass@1.72.0):
+ /next@14.1.3(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0)(sass@1.72.0):
resolution: {integrity: sha512-oexgMV2MapI0UIWiXKkixF8J8ORxpy64OuJ/J9oVUmIthXOUCcuVEZX+dtpgq7wIfIqtBwQsKEDXejcjTsan9g==}
engines: {node: '>=18.17.0'}
hasBin: true
@@ -9171,7 +9179,7 @@
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
sass: 1.72.0
- styled-jsx: 5.1.1(react@18.2.0)
+ styled-jsx: 5.1.1(@babel/core@7.22.9)(react@18.2.0)
optionalDependencies:
'@next/swc-darwin-arm64': 14.1.3
'@next/swc-darwin-x64': 14.1.3
@@ -9204,7 +9212,6 @@
/node-releases@2.0.13:
resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
- dev: false
/nodemon@3.1.0:
resolution: {integrity: sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA==}
@@ -10661,26 +10668,6 @@
resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==}
dev: false
- /react-i18next@14.1.0(i18next@23.10.1)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-3KwX6LHpbvGQ+sBEntjV4sYW3Zovjjl3fpoHbUwSgFHf0uRBcbeCBLR5al6ikncI5+W0EFb71QXZmfop+J6NrQ==}
- peerDependencies:
- i18next: '>= 23.2.3'
- react: '>= 16.8.0'
- react-dom: '*'
- react-native: '*'
- peerDependenciesMeta:
- react-dom:
- optional: true
- react-native:
- optional: true
- dependencies:
- '@babel/runtime': 7.23.9
- html-parse-stringify: 3.0.1
- i18next: 23.10.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
-
/react-infinite-scroll-component@6.1.0(react@18.2.0):
resolution: {integrity: sha512-SQu5nCqy8DxQWpnUVLx7V7b7LcA37aM7tvoWjTLZp1dk6EJibM5/4EJKzOnl07/BsM1Y40sKLuqjCwwH/xV0TQ==}
peerDependencies:
@@ -10719,29 +10706,6 @@
engines: {node: '>=0.10.0'}
dev: false
- /react-router-dom@6.22.3(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- react: '>=16.8'
- react-dom: '>=16.8'
- dependencies:
- '@remix-run/router': 1.15.3
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-router: 6.22.3(react@18.2.0)
- dev: false
-
- /react-router@6.22.3(react@18.2.0):
- resolution: {integrity: sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==}
- engines: {node: '>=14.0.0'}
- peerDependencies:
- react: '>=16.8'
- dependencies:
- '@remix-run/router': 1.15.3
- react: 18.2.0
- dev: false
-
/react-scripts@5.0.1(@babel/plugin-syntax-flow@7.23.3)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(sass@1.72.0)(typescript@5.4.2):
resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==}
engines: {node: '>=14.0.0'}
@@ -11053,6 +11017,7 @@
/requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
+ dev: false
/resolve-cwd@3.0.0:
resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
@@ -11858,7 +11823,7 @@
webpack: 5.88.1
dev: false
- /styled-jsx@5.1.1(react@18.2.0):
+ /styled-jsx@5.1.1(@babel/core@7.22.9)(react@18.2.0):
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
engines: {node: '>= 12.0.0'}
peerDependencies:
@@ -11871,6 +11836,7 @@
babel-plugin-macros:
optional: true
dependencies:
+ '@babel/core': 7.22.9
client-only: 0.0.1
react: 18.2.0
@@ -12123,7 +12089,6 @@
/to-fast-properties@2.0.0:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'}
- dev: false
/to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
@@ -12424,7 +12389,6 @@
browserslist: 4.21.9
escalade: 3.1.1
picocolors: 1.0.0
- dev: false
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
@@ -12542,11 +12506,6 @@
engines: {node: '>= 0.8'}
dev: false
- /void-elements@3.1.0:
- resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==}
- engines: {node: '>=0.10.0'}
- dev: false
-
/w3c-hr-time@1.0.2:
resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==}
deprecated: Use your platform's native performance.now() and performance.timeOrigin.
@@ -13176,7 +13135,6 @@
/yallist@3.1.1:
resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
- dev: false
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
diff --git a/qwilight-fe/package.json b/qwilight-fe/package.json
index 4f908a7..448ed13 100644
--- a/qwilight-fe/package.json
+++ b/qwilight-fe/package.json
@@ -29,7 +29,6 @@
"react-toastify": "^10.0.4",
"reactstrap": "^9.2.2",
"sharp": "^0.33.2",
- "sprintf-js": "^1.1.3",
"sweetalert2": "^11.10.6",
"taehui-ts": "workspace:^"
},
@@ -41,7 +40,6 @@
"@types/react": "^18.2.65",
"@types/react-dom": "^18.2.22",
"@types/react-router-dom": "^5.3.3",
- "@types/sprintf-js": "^1.1.4",
"eslint-config-next": "^14.1.3",
"typescript": "^5.4.2"
}
diff --git a/qwilight-fe/qwilight-fe.cmd b/qwilight-fe/qwilight-fe.cmd
index 2bf4708..d120004 100644
--- a/qwilight-fe/qwilight-fe.cmd
+++ b/qwilight-fe/qwilight-fe.cmd
@@ -1,6 +1,6 @@
@ECHO OFF
-Robocopy build \\taehui\taehui\qwilight-fe /MIR
-wsl ssh taehui@taehui sudo rm -r /var/www/html/qwilight/static
-wsl ssh taehui@taehui sudo cp -R qwilight-fe/* /var/www/html/qwilight
+Robocopy . \\taehui\taehui\qwilight-fe /MIR
+wsl ssh taehui@taehui sudo rm -r /var/qwilight-fe
+wsl ssh taehui@taehui sudo cp -R qwilight-fe/* /var/qwilight-fe
wsl ssh taehui@taehui rm -r qwilight-fe
diff --git "a/qwilight-fe/src/app/\133language\135/avatar/\133\133...want\135\135/page.tsx" "b/qwilight-fe/src/app/\133language\135/avatar/\133\133...want\135\135/page.tsx"
new file mode 100644
index 0000000..a10f5ed
--- /dev/null
+++ "b/qwilight-fe/src/app/\133language\135/avatar/\133\133...want\135\135/page.tsx"
@@ -0,0 +1,292 @@
+"use client";
+
+import Loading from "@/app/[language]/avatar/loading";
+import AbilitiesView from "@/avatar/AbilitiesView";
+import DateView from "@/avatar/DateView";
+import FavoritesView from "@/avatar/FavoritesView";
+import IntroView from "@/avatar/IntroView";
+import LastsView from "@/avatar/LastsView";
+import QuitStatusValues from "@/avatar/QuitStatusValues";
+import useGetAvatar from "@/avatar/useGetAvatar";
+import WwwLevelsView from "@/avatar/WwwLevelsView";
+import AvatarDrawing from "@/AvatarDrawing";
+import AvatarTitle from "@/AvatarTitle";
+import { useAvatarStore, useSiteStore } from "@/Stores";
+import { getDefaultAvatarID } from "@/Utility";
+import { wwwAPI } from "@/Www";
+import { observer } from "mobx-react-lite";
+import { useTranslations } from "next-intl";
+import Image from "next/image";
+import { useEffect } from "react";
+import {
+ Button,
+ Col,
+ Input,
+ ListGroup,
+ ListGroupItem,
+ Nav,
+ NavItem,
+ NavLink,
+ Progress,
+ Row,
+ TabContent,
+ TabPane,
+} from "reactstrap";
+import { useWant } from "taehui-ts/fe-utility";
+
+export default observer(() => {
+ const { input, setInput, tabPosition, setTabPosition } = useAvatarStore();
+ const { siteAvatarID, isSignedIn, setSignInOpened } = useSiteStore();
+
+ const { want, setWant } = useWant("/avatar");
+
+ const t = useTranslations();
+
+ useEffect(() => {
+ setInput(want);
+ }, [want, setInput]);
+
+ const { isFetched: isAvatarLoaded, data: avatar } = useGetAvatar();
+
+ const onWant = () => {
+ setWant(input);
+ };
+
+ const getProperties = (i: number) => ({
+ className: tabPosition === i ? "active route" : "route",
+ onClick: () => {
+ setTabPosition(i);
+ },
+ });
+
+ return (
+ <>
+
+ {avatarIntro}
+
+
+
+ {t("totalCountText", { totalCount: avatar.totalCount })}
+
+
+ {avatar.totalLength}
+
+
+ {t("highestCountText", { highestCount: avatar.highestCount })}
+
+
+ {t("avatarDate", { date: avatar.date })}
+
+ LV. {avatar.avatarLevels[0]}
+
+
+
+
+
+ #{avatar.avatarAbility5KPlaceText}
+
+ /{avatar.avatarAbility5KCountText}
+
+ {avatar.avatarAbility5KText} Point
+ >
+ )}
+
+
+
+ #{avatar.avatarAbility7KPlace}
+
+ /{avatar.avatarAbility7KCountText}
+
+ {avatar.avatarAbility7KText} Point
+ >
+ )}
+
+
+
+ #{avatar.avatarAbility9KPlace}
+
+ /{avatar.avatarAbility9KCountText}
+
+ {avatar.avatarAbility9KText} Point
+ >
+ )}
+
+
- {avatarIntro}
-
-
- {sprintf(t("totalCountText"), avatar.totalCount)}
-
- {avatar.totalLength}
-
-
- {sprintf(t("highestCountText"), avatar.highestCount)}
-
-
- {sprintf(t("avatarDate"), avatar.date)}
-
- LV. {avatar.avatarLevels[0]}
-
-
-
-
-
- #{avatar.avatarAbility5KPlaceText}
-
- /{avatar.avatarAbility5KCountText}
-
- {avatar.avatarAbility5KText} Point
- >
- )}
-
-
-
- #{avatar.avatarAbility7KPlace}
-
- /{avatar.avatarAbility7KCountText}
-
- {avatar.avatarAbility7KText} Point
- >
- )}
-
-
-
- #{avatar.avatarAbility9KPlace}
-
- /{avatar.avatarAbility9KCountText}
-
- {avatar.avatarAbility9KText} Point
- >
- )}
-
-
- {sprintf(t("totalCountText"), formatText(totalCount))}
+
+ {t("totalCountText", { totalCount: formatText(totalCount) })}
+