merge
This commit is contained in:
commit
993ed78f75
34 files changed
+626
-399
No files matched your search
Generated
+147
-127
@@ -10,16 +10,16 @@ importers:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@emotion/react':
|
'@emotion/react':
|
||||||
specifier: ^11.14.0
|
specifier: ^11.14.0
|
||||||
version: 11.14.0(@types/react@19.2.2)(react@19.2.0)
|
version: 11.14.0(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@emotion/styled':
|
'@emotion/styled':
|
||||||
specifier: ^11.14.1
|
specifier: ^11.14.1
|
||||||
version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0)
|
version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@floating-ui/react':
|
'@floating-ui/react':
|
||||||
specifier: ^0.27.16
|
specifier: ^0.27.16
|
||||||
version: 0.27.16(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
version: 0.27.16(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||||
'@mui/material':
|
'@mui/material':
|
||||||
specifier: ^7.3.6
|
specifier: ^7.3.6
|
||||||
version: 7.3.7(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
version: 7.3.7(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||||
bootstrap:
|
bootstrap:
|
||||||
specifier: ^5.3.8
|
specifier: ^5.3.8
|
||||||
version: 5.3.8(@popperjs/core@2.11.8)
|
version: 5.3.8(@popperjs/core@2.11.8)
|
||||||
@@ -37,7 +37,7 @@ importers:
|
|||||||
version: 19.2.0
|
version: 19.2.0
|
||||||
react-bootstrap:
|
react-bootstrap:
|
||||||
specifier: ^2.10.10
|
specifier: ^2.10.10
|
||||||
version: 2.10.10(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
version: 2.10.10(@types/react@19.2.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||||
react-chartjs-2:
|
react-chartjs-2:
|
||||||
specifier: ^5.3.1
|
specifier: ^5.3.1
|
||||||
version: 5.3.1(chart.js@4.5.1)(react@19.2.0)
|
version: 5.3.1(chart.js@4.5.1)(react@19.2.0)
|
||||||
@@ -53,37 +53,40 @@ importers:
|
|||||||
devDependencies:
|
devDependencies:
|
||||||
'@chromatic-com/storybook':
|
'@chromatic-com/storybook':
|
||||||
specifier: ^4.1.2
|
specifier: ^4.1.2
|
||||||
version: 4.1.2(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))
|
version: 4.1.2(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))
|
||||||
'@eslint/js':
|
'@eslint/js':
|
||||||
specifier: ^9.36.0
|
specifier: ^9.36.0
|
||||||
version: 9.37.0
|
version: 9.37.0
|
||||||
'@storybook/addon-a11y':
|
'@storybook/addon-a11y':
|
||||||
specifier: ^10.0.6
|
specifier: ^10.0.6
|
||||||
version: 10.0.6(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))
|
version: 10.0.6(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))
|
||||||
'@storybook/addon-docs':
|
'@storybook/addon-docs':
|
||||||
specifier: ^10.0.6
|
specifier: ^10.0.6
|
||||||
version: 10.0.6(@types/react@19.2.2)(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(vite@7.1.9)
|
version: 10.0.6(@types/react@19.2.10)(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(vite@7.1.9(@types/node@25.1.0))
|
||||||
'@storybook/addon-vitest':
|
'@storybook/addon-vitest':
|
||||||
specifier: ^10.0.6
|
specifier: ^10.0.6
|
||||||
version: 10.0.6(@vitest/browser-playwright@4.0.8)(@vitest/browser@4.0.8(vite@7.1.9)(vitest@4.0.8))(@vitest/runner@4.0.8)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(vitest@4.0.8)
|
version: 10.0.6(@vitest/browser-playwright@4.0.8)(@vitest/browser@4.0.8(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8))(@vitest/runner@4.0.8)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(vitest@4.0.8)
|
||||||
'@storybook/react-vite':
|
'@storybook/react-vite':
|
||||||
specifier: ^10.0.6
|
specifier: ^10.0.6
|
||||||
version: 10.0.6(esbuild@0.25.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(typescript@5.9.3)(vite@7.1.9)
|
version: 10.0.6(esbuild@0.25.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(typescript@5.9.3)(vite@7.1.9(@types/node@25.1.0))
|
||||||
|
'@types/node':
|
||||||
|
specifier: ^25.0.10
|
||||||
|
version: 25.1.0
|
||||||
'@types/react':
|
'@types/react':
|
||||||
specifier: ^19.1.16
|
specifier: ^19.2.10
|
||||||
version: 19.2.2
|
version: 19.2.10
|
||||||
'@types/react-dom':
|
'@types/react-dom':
|
||||||
specifier: ^19.1.9
|
specifier: ^19.2.3
|
||||||
version: 19.2.1(@types/react@19.2.2)
|
version: 19.2.3(@types/react@19.2.10)
|
||||||
'@vitejs/plugin-react':
|
'@vitejs/plugin-react':
|
||||||
specifier: ^5.0.4
|
specifier: ^5.0.4
|
||||||
version: 5.0.4(vite@7.1.9)
|
version: 5.0.4(vite@7.1.9(@types/node@25.1.0))
|
||||||
'@vitest/browser-playwright':
|
'@vitest/browser-playwright':
|
||||||
specifier: ^4.0.8
|
specifier: ^4.0.8
|
||||||
version: 4.0.8(playwright@1.56.1)(vite@7.1.9)(vitest@4.0.8)
|
version: 4.0.8(playwright@1.56.1)(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8)
|
||||||
'@vitest/coverage-v8':
|
'@vitest/coverage-v8':
|
||||||
specifier: ^4.0.8
|
specifier: ^4.0.8
|
||||||
version: 4.0.8(@vitest/browser@4.0.8(vite@7.1.9)(vitest@4.0.8))(vitest@4.0.8)
|
version: 4.0.8(@vitest/browser@4.0.8(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8))(vitest@4.0.8)
|
||||||
baseline-browser-mapping:
|
baseline-browser-mapping:
|
||||||
specifier: ^2.9.7
|
specifier: ^2.9.7
|
||||||
version: 2.9.14
|
version: 2.9.14
|
||||||
@@ -98,7 +101,7 @@ importers:
|
|||||||
version: 0.4.23(eslint@9.37.0)
|
version: 0.4.23(eslint@9.37.0)
|
||||||
eslint-plugin-storybook:
|
eslint-plugin-storybook:
|
||||||
specifier: ^10.0.6
|
specifier: ^10.0.6
|
||||||
version: 10.0.6(eslint@9.37.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(typescript@5.9.3)
|
version: 10.0.6(eslint@9.37.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(typescript@5.9.3)
|
||||||
globals:
|
globals:
|
||||||
specifier: ^16.4.0
|
specifier: ^16.4.0
|
||||||
version: 16.4.0
|
version: 16.4.0
|
||||||
@@ -110,13 +113,16 @@ importers:
|
|||||||
version: 15.8.1
|
version: 15.8.1
|
||||||
storybook:
|
storybook:
|
||||||
specifier: ^10.0.6
|
specifier: ^10.0.6
|
||||||
version: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
version: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
|
typescript:
|
||||||
|
specifier: ^5.9.3
|
||||||
|
version: 5.9.3
|
||||||
vite:
|
vite:
|
||||||
specifier: ^7.1.7
|
specifier: ^7.1.7
|
||||||
version: 7.1.9
|
version: 7.1.9(@types/node@25.1.0)
|
||||||
vitest:
|
vitest:
|
||||||
specifier: ^4.0.8
|
specifier: ^4.0.8
|
||||||
version: 4.0.8(@vitest/browser-playwright@4.0.8)
|
version: 4.0.8(@types/node@25.1.0)(@vitest/browser-playwright@4.0.8)
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
@@ -949,14 +955,17 @@ packages:
|
|||||||
'@types/mdx@2.0.13':
|
'@types/mdx@2.0.13':
|
||||||
resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
|
resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
|
||||||
|
|
||||||
|
'@types/node@25.1.0':
|
||||||
|
resolution: {integrity: sha512-t7frlewr6+cbx+9Ohpl0NOTKXZNV9xHRmNOvql47BFJKcEG1CxtxlPEEe+gR9uhVWM4DwhnvTF110mIL4yP9RA==}
|
||||||
|
|
||||||
'@types/parse-json@4.0.2':
|
'@types/parse-json@4.0.2':
|
||||||
resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
|
resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
|
||||||
|
|
||||||
'@types/prop-types@15.7.15':
|
'@types/prop-types@15.7.15':
|
||||||
resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
|
resolution: {integrity: sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==}
|
||||||
|
|
||||||
'@types/react-dom@19.2.1':
|
'@types/react-dom@19.2.3':
|
||||||
resolution: {integrity: sha512-/EEvYBdT3BflCWvTMO7YkYBHVE9Ci6XdqZciZANQgKpaiDRGOLIlRo91jbTNRQjgPFWVaRxcYc0luVNFitz57A==}
|
resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@types/react': ^19.2.0
|
'@types/react': ^19.2.0
|
||||||
|
|
||||||
@@ -965,8 +974,8 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@types/react': '*'
|
'@types/react': '*'
|
||||||
|
|
||||||
'@types/react@19.2.2':
|
'@types/react@19.2.10':
|
||||||
resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==}
|
resolution: {integrity: sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==}
|
||||||
|
|
||||||
'@types/resolve@1.20.6':
|
'@types/resolve@1.20.6':
|
||||||
resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==}
|
resolution: {integrity: sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==}
|
||||||
@@ -2135,6 +2144,9 @@ packages:
|
|||||||
peerDependencies:
|
peerDependencies:
|
||||||
react: '>=16.14.0'
|
react: '>=16.14.0'
|
||||||
|
|
||||||
|
undici-types@7.16.0:
|
||||||
|
resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==}
|
||||||
|
|
||||||
universalify@2.0.1:
|
universalify@2.0.1:
|
||||||
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
|
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
|
||||||
engines: {node: '>= 10.0.0'}
|
engines: {node: '>= 10.0.0'}
|
||||||
@@ -2412,13 +2424,13 @@ snapshots:
|
|||||||
|
|
||||||
'@bcoe/v8-coverage@1.0.2': {}
|
'@bcoe/v8-coverage@1.0.2': {}
|
||||||
|
|
||||||
'@chromatic-com/storybook@4.1.2(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))':
|
'@chromatic-com/storybook@4.1.2(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@neoconfetti/react': 1.0.0
|
'@neoconfetti/react': 1.0.0
|
||||||
chromatic: 12.2.0
|
chromatic: 12.2.0
|
||||||
filesize: 10.1.6
|
filesize: 10.1.6
|
||||||
jsonfile: 6.2.0
|
jsonfile: 6.2.0
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
strip-ansi: 7.1.2
|
strip-ansi: 7.1.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@chromatic-com/cypress'
|
- '@chromatic-com/cypress'
|
||||||
@@ -2456,7 +2468,7 @@ snapshots:
|
|||||||
|
|
||||||
'@emotion/memoize@0.9.0': {}
|
'@emotion/memoize@0.9.0': {}
|
||||||
|
|
||||||
'@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0)':
|
'@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@emotion/babel-plugin': 11.13.5
|
'@emotion/babel-plugin': 11.13.5
|
||||||
@@ -2468,7 +2480,7 @@ snapshots:
|
|||||||
hoist-non-react-statics: 3.3.2
|
hoist-non-react-statics: 3.3.2
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -2482,18 +2494,18 @@ snapshots:
|
|||||||
|
|
||||||
'@emotion/sheet@1.4.0': {}
|
'@emotion/sheet@1.4.0': {}
|
||||||
|
|
||||||
'@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0)':
|
'@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@emotion/babel-plugin': 11.13.5
|
'@emotion/babel-plugin': 11.13.5
|
||||||
'@emotion/is-prop-valid': 1.4.0
|
'@emotion/is-prop-valid': 1.4.0
|
||||||
'@emotion/react': 11.14.0(@types/react@19.2.2)(react@19.2.0)
|
'@emotion/react': 11.14.0(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@emotion/serialize': 1.3.3
|
'@emotion/serialize': 1.3.3
|
||||||
'@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.0)
|
'@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.0)
|
||||||
'@emotion/utils': 1.4.2
|
'@emotion/utils': 1.4.2
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -2676,12 +2688,12 @@ snapshots:
|
|||||||
wrap-ansi: 8.1.0
|
wrap-ansi: 8.1.0
|
||||||
wrap-ansi-cjs: wrap-ansi@7.0.0
|
wrap-ansi-cjs: wrap-ansi@7.0.0
|
||||||
|
|
||||||
'@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.9.3)(vite@7.1.9)':
|
'@joshwooding/vite-plugin-react-docgen-typescript@0.6.1(typescript@5.9.3)(vite@7.1.9(@types/node@25.1.0))':
|
||||||
dependencies:
|
dependencies:
|
||||||
glob: 10.4.5
|
glob: 10.4.5
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
react-docgen-typescript: 2.4.0(typescript@5.9.3)
|
react-docgen-typescript: 2.4.0(typescript@5.9.3)
|
||||||
vite: 7.1.9
|
vite: 7.1.9(@types/node@25.1.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
typescript: 5.9.3
|
typescript: 5.9.3
|
||||||
|
|
||||||
@@ -2706,23 +2718,23 @@ snapshots:
|
|||||||
|
|
||||||
'@kurkle/color@0.3.4': {}
|
'@kurkle/color@0.3.4': {}
|
||||||
|
|
||||||
'@mdx-js/react@3.1.1(@types/react@19.2.2)(react@19.2.0)':
|
'@mdx-js/react@3.1.1(@types/react@19.2.10)(react@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/mdx': 2.0.13
|
'@types/mdx': 2.0.13
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
|
|
||||||
'@mui/core-downloads-tracker@7.3.7': {}
|
'@mui/core-downloads-tracker@7.3.7': {}
|
||||||
|
|
||||||
'@mui/material@7.3.7(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
|
'@mui/material@7.3.7(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@mui/core-downloads-tracker': 7.3.7
|
'@mui/core-downloads-tracker': 7.3.7
|
||||||
'@mui/system': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0)
|
'@mui/system': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@mui/types': 7.4.10(@types/react@19.2.2)
|
'@mui/types': 7.4.10(@types/react@19.2.10)
|
||||||
'@mui/utils': 7.3.7(@types/react@19.2.2)(react@19.2.0)
|
'@mui/utils': 7.3.7(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@popperjs/core': 2.11.8
|
'@popperjs/core': 2.11.8
|
||||||
'@types/react-transition-group': 4.4.12(@types/react@19.2.2)
|
'@types/react-transition-group': 4.4.12(@types/react@19.2.10)
|
||||||
clsx: 2.1.1
|
clsx: 2.1.1
|
||||||
csstype: 3.2.3
|
csstype: 3.2.3
|
||||||
prop-types: 15.8.1
|
prop-types: 15.8.1
|
||||||
@@ -2731,20 +2743,20 @@ snapshots:
|
|||||||
react-is: 19.2.3
|
react-is: 19.2.3
|
||||||
react-transition-group: 4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
react-transition-group: 4.4.5(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@emotion/react': 11.14.0(@types/react@19.2.2)(react@19.2.0)
|
'@emotion/react': 11.14.0(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0)
|
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
|
|
||||||
'@mui/private-theming@7.3.7(@types/react@19.2.2)(react@19.2.0)':
|
'@mui/private-theming@7.3.7(@types/react@19.2.10)(react@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@mui/utils': 7.3.7(@types/react@19.2.2)(react@19.2.0)
|
'@mui/utils': 7.3.7(@types/react@19.2.10)(react@19.2.0)
|
||||||
prop-types: 15.8.1
|
prop-types: 15.8.1
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
|
|
||||||
'@mui/styled-engine@7.3.7(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(react@19.2.0)':
|
'@mui/styled-engine@7.3.7(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0))(react@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@emotion/cache': 11.14.0
|
'@emotion/cache': 11.14.0
|
||||||
@@ -2754,42 +2766,42 @@ snapshots:
|
|||||||
prop-types: 15.8.1
|
prop-types: 15.8.1
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@emotion/react': 11.14.0(@types/react@19.2.2)(react@19.2.0)
|
'@emotion/react': 11.14.0(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0)
|
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0)
|
||||||
|
|
||||||
'@mui/system@7.3.7(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0)':
|
'@mui/system@7.3.7(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@mui/private-theming': 7.3.7(@types/react@19.2.2)(react@19.2.0)
|
'@mui/private-theming': 7.3.7(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@mui/styled-engine': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0))(react@19.2.0)
|
'@mui/styled-engine': 7.3.7(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0))(react@19.2.0)
|
||||||
'@mui/types': 7.4.10(@types/react@19.2.2)
|
'@mui/types': 7.4.10(@types/react@19.2.10)
|
||||||
'@mui/utils': 7.3.7(@types/react@19.2.2)(react@19.2.0)
|
'@mui/utils': 7.3.7(@types/react@19.2.10)(react@19.2.0)
|
||||||
clsx: 2.1.1
|
clsx: 2.1.1
|
||||||
csstype: 3.2.3
|
csstype: 3.2.3
|
||||||
prop-types: 15.8.1
|
prop-types: 15.8.1
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@emotion/react': 11.14.0(@types/react@19.2.2)(react@19.2.0)
|
'@emotion/react': 11.14.0(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.2)(react@19.2.0))(@types/react@19.2.2)(react@19.2.0)
|
'@emotion/styled': 11.14.1(@emotion/react@11.14.0(@types/react@19.2.10)(react@19.2.0))(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
|
|
||||||
'@mui/types@7.4.10(@types/react@19.2.2)':
|
'@mui/types@7.4.10(@types/react@19.2.10)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
|
|
||||||
'@mui/utils@7.3.7(@types/react@19.2.2)(react@19.2.0)':
|
'@mui/utils@7.3.7(@types/react@19.2.10)(react@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@mui/types': 7.4.10(@types/react@19.2.2)
|
'@mui/types': 7.4.10(@types/react@19.2.10)
|
||||||
'@types/prop-types': 15.7.15
|
'@types/prop-types': 15.7.15
|
||||||
clsx: 2.1.1
|
clsx: 2.1.1
|
||||||
prop-types: 15.8.1
|
prop-types: 15.8.1
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-is: 19.2.3
|
react-is: 19.2.3
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
|
|
||||||
'@neoconfetti/react@1.0.0': {}
|
'@neoconfetti/react@1.0.0': {}
|
||||||
|
|
||||||
@@ -2921,21 +2933,21 @@ snapshots:
|
|||||||
|
|
||||||
'@standard-schema/spec@1.0.0': {}
|
'@standard-schema/spec@1.0.0': {}
|
||||||
|
|
||||||
'@storybook/addon-a11y@10.0.6(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))':
|
'@storybook/addon-a11y@10.0.6(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@storybook/global': 5.0.0
|
'@storybook/global': 5.0.0
|
||||||
axe-core: 4.11.0
|
axe-core: 4.11.0
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
|
|
||||||
'@storybook/addon-docs@10.0.6(@types/react@19.2.2)(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(vite@7.1.9)':
|
'@storybook/addon-docs@10.0.6(@types/react@19.2.10)(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(vite@7.1.9(@types/node@25.1.0))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@mdx-js/react': 3.1.1(@types/react@19.2.2)(react@19.2.0)
|
'@mdx-js/react': 3.1.1(@types/react@19.2.10)(react@19.2.0)
|
||||||
'@storybook/csf-plugin': 10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(vite@7.1.9)
|
'@storybook/csf-plugin': 10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(vite@7.1.9(@types/node@25.1.0))
|
||||||
'@storybook/icons': 1.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
'@storybook/icons': 1.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||||
'@storybook/react-dom-shim': 10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))
|
'@storybook/react-dom-shim': 10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
react-dom: 19.2.0(react@19.2.0)
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
ts-dedent: 2.2.0
|
ts-dedent: 2.2.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@types/react'
|
- '@types/react'
|
||||||
@@ -2944,41 +2956,41 @@ snapshots:
|
|||||||
- vite
|
- vite
|
||||||
- webpack
|
- webpack
|
||||||
|
|
||||||
'@storybook/addon-vitest@10.0.6(@vitest/browser-playwright@4.0.8)(@vitest/browser@4.0.8(vite@7.1.9)(vitest@4.0.8))(@vitest/runner@4.0.8)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(vitest@4.0.8)':
|
'@storybook/addon-vitest@10.0.6(@vitest/browser-playwright@4.0.8)(@vitest/browser@4.0.8(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8))(@vitest/runner@4.0.8)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(vitest@4.0.8)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@storybook/global': 5.0.0
|
'@storybook/global': 5.0.0
|
||||||
'@storybook/icons': 1.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
'@storybook/icons': 1.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||||
prompts: 2.4.2
|
prompts: 2.4.2
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
ts-dedent: 2.2.0
|
ts-dedent: 2.2.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@vitest/browser': 4.0.8(vite@7.1.9)(vitest@4.0.8)
|
'@vitest/browser': 4.0.8(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8)
|
||||||
'@vitest/browser-playwright': 4.0.8(playwright@1.56.1)(vite@7.1.9)(vitest@4.0.8)
|
'@vitest/browser-playwright': 4.0.8(playwright@1.56.1)(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8)
|
||||||
'@vitest/runner': 4.0.8
|
'@vitest/runner': 4.0.8
|
||||||
vitest: 4.0.8(@vitest/browser-playwright@4.0.8)
|
vitest: 4.0.8(@types/node@25.1.0)(@vitest/browser-playwright@4.0.8)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- react
|
- react
|
||||||
- react-dom
|
- react-dom
|
||||||
|
|
||||||
'@storybook/builder-vite@10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(vite@7.1.9)':
|
'@storybook/builder-vite@10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(vite@7.1.9(@types/node@25.1.0))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@storybook/csf-plugin': 10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(vite@7.1.9)
|
'@storybook/csf-plugin': 10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(vite@7.1.9(@types/node@25.1.0))
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
ts-dedent: 2.2.0
|
ts-dedent: 2.2.0
|
||||||
vite: 7.1.9
|
vite: 7.1.9(@types/node@25.1.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- esbuild
|
- esbuild
|
||||||
- rollup
|
- rollup
|
||||||
- webpack
|
- webpack
|
||||||
|
|
||||||
'@storybook/csf-plugin@10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(vite@7.1.9)':
|
'@storybook/csf-plugin@10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(vite@7.1.9(@types/node@25.1.0))':
|
||||||
dependencies:
|
dependencies:
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
unplugin: 2.3.10
|
unplugin: 2.3.10
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
esbuild: 0.25.10
|
esbuild: 0.25.10
|
||||||
rollup: 4.52.4
|
rollup: 4.52.4
|
||||||
vite: 7.1.9
|
vite: 7.1.9(@types/node@25.1.0)
|
||||||
|
|
||||||
'@storybook/global@5.0.0': {}
|
'@storybook/global@5.0.0': {}
|
||||||
|
|
||||||
@@ -2987,27 +2999,27 @@ snapshots:
|
|||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
react-dom: 19.2.0(react@19.2.0)
|
||||||
|
|
||||||
'@storybook/react-dom-shim@10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))':
|
'@storybook/react-dom-shim@10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
react-dom: 19.2.0(react@19.2.0)
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
|
|
||||||
'@storybook/react-vite@10.0.6(esbuild@0.25.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(typescript@5.9.3)(vite@7.1.9)':
|
'@storybook/react-vite@10.0.6(esbuild@0.25.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(typescript@5.9.3)(vite@7.1.9(@types/node@25.1.0))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@7.1.9)
|
'@joshwooding/vite-plugin-react-docgen-typescript': 0.6.1(typescript@5.9.3)(vite@7.1.9(@types/node@25.1.0))
|
||||||
'@rollup/pluginutils': 5.3.0(rollup@4.52.4)
|
'@rollup/pluginutils': 5.3.0(rollup@4.52.4)
|
||||||
'@storybook/builder-vite': 10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(vite@7.1.9)
|
'@storybook/builder-vite': 10.0.6(esbuild@0.25.10)(rollup@4.52.4)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(vite@7.1.9(@types/node@25.1.0))
|
||||||
'@storybook/react': 10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(typescript@5.9.3)
|
'@storybook/react': 10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(typescript@5.9.3)
|
||||||
empathic: 2.0.0
|
empathic: 2.0.0
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-docgen: 8.0.2
|
react-docgen: 8.0.2
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
react-dom: 19.2.0(react@19.2.0)
|
||||||
resolve: 1.22.11
|
resolve: 1.22.11
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
tsconfig-paths: 4.2.0
|
tsconfig-paths: 4.2.0
|
||||||
vite: 7.1.9
|
vite: 7.1.9(@types/node@25.1.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- esbuild
|
- esbuild
|
||||||
- rollup
|
- rollup
|
||||||
@@ -3015,13 +3027,13 @@ snapshots:
|
|||||||
- typescript
|
- typescript
|
||||||
- webpack
|
- webpack
|
||||||
|
|
||||||
'@storybook/react@10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(typescript@5.9.3)':
|
'@storybook/react@10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(typescript@5.9.3)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@storybook/global': 5.0.0
|
'@storybook/global': 5.0.0
|
||||||
'@storybook/react-dom-shim': 10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))
|
'@storybook/react-dom-shim': 10.0.6(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-dom: 19.2.0(react@19.2.0)
|
react-dom: 19.2.0(react@19.2.0)
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
typescript: 5.9.3
|
typescript: 5.9.3
|
||||||
|
|
||||||
@@ -3091,21 +3103,25 @@ snapshots:
|
|||||||
|
|
||||||
'@types/mdx@2.0.13': {}
|
'@types/mdx@2.0.13': {}
|
||||||
|
|
||||||
|
'@types/node@25.1.0':
|
||||||
|
dependencies:
|
||||||
|
undici-types: 7.16.0
|
||||||
|
|
||||||
'@types/parse-json@4.0.2': {}
|
'@types/parse-json@4.0.2': {}
|
||||||
|
|
||||||
'@types/prop-types@15.7.15': {}
|
'@types/prop-types@15.7.15': {}
|
||||||
|
|
||||||
'@types/react-dom@19.2.1(@types/react@19.2.2)':
|
'@types/react-dom@19.2.3(@types/react@19.2.10)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
|
|
||||||
'@types/react-transition-group@4.4.12(@types/react@19.2.2)':
|
'@types/react-transition-group@4.4.12(@types/react@19.2.10)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
|
|
||||||
'@types/react@19.2.2':
|
'@types/react@19.2.10':
|
||||||
dependencies:
|
dependencies:
|
||||||
csstype: 3.1.3
|
csstype: 3.2.3
|
||||||
|
|
||||||
'@types/resolve@1.20.6': {}
|
'@types/resolve@1.20.6': {}
|
||||||
|
|
||||||
@@ -3163,7 +3179,7 @@ snapshots:
|
|||||||
'@typescript-eslint/types': 8.46.3
|
'@typescript-eslint/types': 8.46.3
|
||||||
eslint-visitor-keys: 4.2.1
|
eslint-visitor-keys: 4.2.1
|
||||||
|
|
||||||
'@vitejs/plugin-react@5.0.4(vite@7.1.9)':
|
'@vitejs/plugin-react@5.0.4(vite@7.1.9(@types/node@25.1.0))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/core': 7.28.4
|
'@babel/core': 7.28.4
|
||||||
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4)
|
'@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4)
|
||||||
@@ -3171,33 +3187,33 @@ snapshots:
|
|||||||
'@rolldown/pluginutils': 1.0.0-beta.38
|
'@rolldown/pluginutils': 1.0.0-beta.38
|
||||||
'@types/babel__core': 7.20.5
|
'@types/babel__core': 7.20.5
|
||||||
react-refresh: 0.17.0
|
react-refresh: 0.17.0
|
||||||
vite: 7.1.9
|
vite: 7.1.9(@types/node@25.1.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@vitest/browser-playwright@4.0.8(playwright@1.56.1)(vite@7.1.9)(vitest@4.0.8)':
|
'@vitest/browser-playwright@4.0.8(playwright@1.56.1)(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/browser': 4.0.8(vite@7.1.9)(vitest@4.0.8)
|
'@vitest/browser': 4.0.8(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8)
|
||||||
'@vitest/mocker': 4.0.8(vite@7.1.9)
|
'@vitest/mocker': 4.0.8(vite@7.1.9(@types/node@25.1.0))
|
||||||
playwright: 1.56.1
|
playwright: 1.56.1
|
||||||
tinyrainbow: 3.0.3
|
tinyrainbow: 3.0.3
|
||||||
vitest: 4.0.8(@vitest/browser-playwright@4.0.8)
|
vitest: 4.0.8(@types/node@25.1.0)(@vitest/browser-playwright@4.0.8)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- bufferutil
|
- bufferutil
|
||||||
- msw
|
- msw
|
||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
- vite
|
- vite
|
||||||
|
|
||||||
'@vitest/browser@4.0.8(vite@7.1.9)(vitest@4.0.8)':
|
'@vitest/browser@4.0.8(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/mocker': 4.0.8(vite@7.1.9)
|
'@vitest/mocker': 4.0.8(vite@7.1.9(@types/node@25.1.0))
|
||||||
'@vitest/utils': 4.0.8
|
'@vitest/utils': 4.0.8
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
pixelmatch: 7.1.0
|
pixelmatch: 7.1.0
|
||||||
pngjs: 7.0.0
|
pngjs: 7.0.0
|
||||||
sirv: 3.0.2
|
sirv: 3.0.2
|
||||||
tinyrainbow: 3.0.3
|
tinyrainbow: 3.0.3
|
||||||
vitest: 4.0.8(@vitest/browser-playwright@4.0.8)
|
vitest: 4.0.8(@types/node@25.1.0)(@vitest/browser-playwright@4.0.8)
|
||||||
ws: 8.18.3
|
ws: 8.18.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- bufferutil
|
- bufferutil
|
||||||
@@ -3205,7 +3221,7 @@ snapshots:
|
|||||||
- utf-8-validate
|
- utf-8-validate
|
||||||
- vite
|
- vite
|
||||||
|
|
||||||
'@vitest/coverage-v8@4.0.8(@vitest/browser@4.0.8(vite@7.1.9)(vitest@4.0.8))(vitest@4.0.8)':
|
'@vitest/coverage-v8@4.0.8(@vitest/browser@4.0.8(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8))(vitest@4.0.8)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@bcoe/v8-coverage': 1.0.2
|
'@bcoe/v8-coverage': 1.0.2
|
||||||
'@vitest/utils': 4.0.8
|
'@vitest/utils': 4.0.8
|
||||||
@@ -3218,9 +3234,9 @@ snapshots:
|
|||||||
magicast: 0.5.1
|
magicast: 0.5.1
|
||||||
std-env: 3.10.0
|
std-env: 3.10.0
|
||||||
tinyrainbow: 3.0.3
|
tinyrainbow: 3.0.3
|
||||||
vitest: 4.0.8(@vitest/browser-playwright@4.0.8)
|
vitest: 4.0.8(@types/node@25.1.0)(@vitest/browser-playwright@4.0.8)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@vitest/browser': 4.0.8(vite@7.1.9)(vitest@4.0.8)
|
'@vitest/browser': 4.0.8(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@@ -3241,21 +3257,21 @@ snapshots:
|
|||||||
chai: 6.2.0
|
chai: 6.2.0
|
||||||
tinyrainbow: 3.0.3
|
tinyrainbow: 3.0.3
|
||||||
|
|
||||||
'@vitest/mocker@3.2.4(vite@7.1.9)':
|
'@vitest/mocker@3.2.4(vite@7.1.9(@types/node@25.1.0))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/spy': 3.2.4
|
'@vitest/spy': 3.2.4
|
||||||
estree-walker: 3.0.3
|
estree-walker: 3.0.3
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 7.1.9
|
vite: 7.1.9(@types/node@25.1.0)
|
||||||
|
|
||||||
'@vitest/mocker@4.0.8(vite@7.1.9)':
|
'@vitest/mocker@4.0.8(vite@7.1.9(@types/node@25.1.0))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/spy': 4.0.8
|
'@vitest/spy': 4.0.8
|
||||||
estree-walker: 3.0.3
|
estree-walker: 3.0.3
|
||||||
magic-string: 0.30.21
|
magic-string: 0.30.21
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 7.1.9
|
vite: 7.1.9(@types/node@25.1.0)
|
||||||
|
|
||||||
'@vitest/pretty-format@3.2.4':
|
'@vitest/pretty-format@3.2.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -3534,11 +3550,11 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
eslint: 9.37.0
|
eslint: 9.37.0
|
||||||
|
|
||||||
eslint-plugin-storybook@10.0.6(eslint@9.37.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9))(typescript@5.9.3):
|
eslint-plugin-storybook@10.0.6(eslint@9.37.0)(storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)))(typescript@5.9.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/utils': 8.46.3(eslint@9.37.0)(typescript@5.9.3)
|
'@typescript-eslint/utils': 8.46.3(eslint@9.37.0)(typescript@5.9.3)
|
||||||
eslint: 9.37.0
|
eslint: 9.37.0
|
||||||
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9)
|
storybook: 10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
@@ -3994,13 +4010,13 @@ snapshots:
|
|||||||
|
|
||||||
queue-microtask@1.2.3: {}
|
queue-microtask@1.2.3: {}
|
||||||
|
|
||||||
react-bootstrap@2.10.10(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
|
react-bootstrap@2.10.10(@types/react@19.2.10)(react-dom@19.2.0(react@19.2.0))(react@19.2.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@restart/hooks': 0.4.16(react@19.2.0)
|
'@restart/hooks': 0.4.16(react@19.2.0)
|
||||||
'@restart/ui': 1.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
'@restart/ui': 1.9.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||||
'@types/prop-types': 15.7.15
|
'@types/prop-types': 15.7.15
|
||||||
'@types/react-transition-group': 4.4.12(@types/react@19.2.2)
|
'@types/react-transition-group': 4.4.12(@types/react@19.2.10)
|
||||||
classnames: 2.5.1
|
classnames: 2.5.1
|
||||||
dom-helpers: 5.2.1
|
dom-helpers: 5.2.1
|
||||||
invariant: 2.2.4
|
invariant: 2.2.4
|
||||||
@@ -4012,7 +4028,7 @@ snapshots:
|
|||||||
uncontrollable: 7.2.1(react@19.2.0)
|
uncontrollable: 7.2.1(react@19.2.0)
|
||||||
warning: 4.0.3
|
warning: 4.0.3
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
|
|
||||||
react-chartjs-2@5.3.1(chart.js@4.5.1)(react@19.2.0):
|
react-chartjs-2@5.3.1(chart.js@4.5.1)(react@19.2.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
@@ -4195,14 +4211,14 @@ snapshots:
|
|||||||
|
|
||||||
std-env@3.10.0: {}
|
std-env@3.10.0: {}
|
||||||
|
|
||||||
storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9):
|
storybook@10.0.6(@testing-library/dom@10.4.1)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(vite@7.1.9(@types/node@25.1.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@storybook/global': 5.0.0
|
'@storybook/global': 5.0.0
|
||||||
'@storybook/icons': 1.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
'@storybook/icons': 1.6.0(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||||
'@testing-library/jest-dom': 6.9.1
|
'@testing-library/jest-dom': 6.9.1
|
||||||
'@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1)
|
'@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.1)
|
||||||
'@vitest/expect': 3.2.4
|
'@vitest/expect': 3.2.4
|
||||||
'@vitest/mocker': 3.2.4(vite@7.1.9)
|
'@vitest/mocker': 3.2.4(vite@7.1.9(@types/node@25.1.0))
|
||||||
'@vitest/spy': 3.2.4
|
'@vitest/spy': 3.2.4
|
||||||
esbuild: 0.25.10
|
esbuild: 0.25.10
|
||||||
recast: 0.23.11
|
recast: 0.23.11
|
||||||
@@ -4305,7 +4321,7 @@ snapshots:
|
|||||||
uncontrollable@7.2.1(react@19.2.0):
|
uncontrollable@7.2.1(react@19.2.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@babel/runtime': 7.28.4
|
'@babel/runtime': 7.28.4
|
||||||
'@types/react': 19.2.2
|
'@types/react': 19.2.10
|
||||||
invariant: 2.2.4
|
invariant: 2.2.4
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-lifecycles-compat: 3.0.4
|
react-lifecycles-compat: 3.0.4
|
||||||
@@ -4314,6 +4330,8 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
|
|
||||||
|
undici-types@7.16.0: {}
|
||||||
|
|
||||||
universalify@2.0.1: {}
|
universalify@2.0.1: {}
|
||||||
|
|
||||||
unplugin@2.3.10:
|
unplugin@2.3.10:
|
||||||
@@ -4333,7 +4351,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
punycode: 2.3.1
|
punycode: 2.3.1
|
||||||
|
|
||||||
vite@7.1.9:
|
vite@7.1.9(@types/node@25.1.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.25.10
|
esbuild: 0.25.10
|
||||||
fdir: 6.5.0(picomatch@4.0.3)
|
fdir: 6.5.0(picomatch@4.0.3)
|
||||||
@@ -4342,12 +4360,13 @@ snapshots:
|
|||||||
rollup: 4.52.4
|
rollup: 4.52.4
|
||||||
tinyglobby: 0.2.15
|
tinyglobby: 0.2.15
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
|
'@types/node': 25.1.0
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
|
|
||||||
vitest@4.0.8(@vitest/browser-playwright@4.0.8):
|
vitest@4.0.8(@types/node@25.1.0)(@vitest/browser-playwright@4.0.8):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/expect': 4.0.8
|
'@vitest/expect': 4.0.8
|
||||||
'@vitest/mocker': 4.0.8(vite@7.1.9)
|
'@vitest/mocker': 4.0.8(vite@7.1.9(@types/node@25.1.0))
|
||||||
'@vitest/pretty-format': 4.0.8
|
'@vitest/pretty-format': 4.0.8
|
||||||
'@vitest/runner': 4.0.8
|
'@vitest/runner': 4.0.8
|
||||||
'@vitest/snapshot': 4.0.8
|
'@vitest/snapshot': 4.0.8
|
||||||
@@ -4364,10 +4383,11 @@ snapshots:
|
|||||||
tinyexec: 0.3.2
|
tinyexec: 0.3.2
|
||||||
tinyglobby: 0.2.15
|
tinyglobby: 0.2.15
|
||||||
tinyrainbow: 3.0.3
|
tinyrainbow: 3.0.3
|
||||||
vite: 7.1.9
|
vite: 7.1.9(@types/node@25.1.0)
|
||||||
why-is-node-running: 2.3.0
|
why-is-node-running: 2.3.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@vitest/browser-playwright': 4.0.8(playwright@1.56.1)(vite@7.1.9)(vitest@4.0.8)
|
'@types/node': 25.1.0
|
||||||
|
'@vitest/browser-playwright': 4.0.8(playwright@1.56.1)(vite@7.1.9(@types/node@25.1.0))(vitest@4.0.8)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- jiti
|
- jiti
|
||||||
- less
|
- less
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import styles from "./Filter.module.css";
|
import styles from "./Filter.module.css";
|
||||||
import Button from "../ui/button/button.jsx"
|
import Button from "../ui/button/button.tsx"
|
||||||
|
|
||||||
function Filter({isFilterVisible, filters, setFilters}){
|
function Filter({isFilterVisible, filters, setFilters}){
|
||||||
const setAlphabeticalOrder = (order) => {
|
const setAlphabeticalOrder = (order) => {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import styles from "./Footer.module.css"
|
import styles from "./Footer.module.css"
|
||||||
import {Link} from "react-router";
|
import {Link} from "react-router";
|
||||||
import {useState} from "react";
|
import {useState} from "react";
|
||||||
import Modal from "../ui/modal/modal.jsx";
|
import Modal from "../ui/modal/modal.tsx";
|
||||||
import Button from "../ui/button/button.jsx";
|
import Button from "../ui/button/button.tsx";
|
||||||
import scrollToTop from "../../utils/scrollToTop.js";
|
import scrollToTop from "../../utils/scrollToTop.js";
|
||||||
|
|
||||||
export default function Footer(){
|
export default function Footer(){
|
||||||
@@ -26,7 +26,7 @@ export default function Footer(){
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<nav className={styles.footerNav}>
|
<nav className={styles.footerNav}>
|
||||||
<Link to="/RGPD" className={styles.link} onClick={scrollToTop}>
|
<Link to="/rgpd" className={styles.link} onClick={scrollToTop}>
|
||||||
Fiche RGPD
|
Fiche RGPD
|
||||||
</Link>
|
</Link>
|
||||||
<span className={styles.separator}></span>
|
<span className={styles.separator}></span>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import Filter from "../Filter/Filter.jsx";
|
|||||||
import {useContext, useEffect, useState} from "react";
|
import {useContext, useEffect, useState} from "react";
|
||||||
import SearchBar from "../SearchBar/SearchBar.jsx";
|
import SearchBar from "../SearchBar/SearchBar.jsx";
|
||||||
import CreateEventBtn from "../createEventBtn/CreateEventBtn.jsx";
|
import CreateEventBtn from "../createEventBtn/CreateEventBtn.jsx";
|
||||||
import Button from "../ui/button/button.jsx";
|
import Button from "../ui/button/button.tsx";
|
||||||
import {AuthContext} from "../../contexts/auth/AuthContext.js";
|
import {AuthContext} from "../../contexts/auth/AuthContext.js";
|
||||||
|
|
||||||
function ToolBar({setFilters, filters, showCreate = true}) {
|
function ToolBar({setFilters, filters, showCreate = true}) {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import styles from "./createEventBtn.module.css"
|
import styles from "./createEventBtn.module.css"
|
||||||
import { useState, useContext } from "react";
|
import { useState, useContext } from "react";
|
||||||
import Modal from "../ui/modal/modal.jsx";
|
import Modal from "../ui/modal/modal.tsx";
|
||||||
import Button from "../ui/button/button.jsx";
|
import Button from "../ui/button/button.tsx";
|
||||||
import TextInput from "../ui/input/input.jsx";
|
import TextInput from "../ui/input/input.tsx";
|
||||||
import { EventContext } from "../../contexts/events/EventContext.js";
|
import { EventContext } from "../../contexts/events/EventContext.js";
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,53 +1,44 @@
|
|||||||
/*import styles from "./button.module.css";
|
import { ReactNode, MouseEventHandler } from "react";
|
||||||
|
|
||||||
const Button = ({ children, variant = "primary", onClick, className }) => {
|
|
||||||
let btnStyle;
|
|
||||||
|
|
||||||
if (variant === "primary") btnStyle = styles.primary;
|
|
||||||
else if (variant === "danger") btnStyle = styles.danger;
|
|
||||||
else if(variant === "transparent") btnStyle = styles.transparent;
|
|
||||||
else btnStyle = styles.default;
|
|
||||||
|
|
||||||
return <div className={`${styles.btn} ${btnStyle} ${className}`} onClick={onClick}>
|
|
||||||
{children}
|
|
||||||
</div>;
|
|
||||||
};
|
|
||||||
|
|
||||||
export default Button;
|
|
||||||
*/
|
|
||||||
|
|
||||||
import styles from "./button.module.css";
|
import styles from "./button.module.css";
|
||||||
import { ReactNode, MouseEvent } from "react";
|
|
||||||
|
type ButtonVariant = "primary" | "danger" | "transparent" | "default";
|
||||||
|
|
||||||
interface ButtonProps {
|
interface ButtonProps {
|
||||||
children: ReactNode;
|
children: ReactNode;
|
||||||
variant?: "primary" | "danger" | "transparent" | "default";
|
variant?: ButtonVariant;
|
||||||
onClick?: (event: MouseEvent<HTMLDivElement>) => void;
|
onClick?: MouseEventHandler<HTMLDivElement>;
|
||||||
className?: string;
|
className?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const Button = ({
|
const Button = ({
|
||||||
children,
|
children,
|
||||||
variant = "primary",
|
variant = "primary",
|
||||||
onClick,
|
onClick,
|
||||||
className = "",
|
className = "",
|
||||||
}: ButtonProps) => {
|
}: ButtonProps) => {
|
||||||
const variantStyles = {
|
let btnStyle: string;
|
||||||
primary: styles.primary,
|
|
||||||
danger: styles.danger,
|
|
||||||
transparent: styles.transparent,
|
|
||||||
default: styles.default,
|
|
||||||
};
|
|
||||||
const btnStyle = variantStyles[variant in variantStyles ? variant : "default"];
|
|
||||||
|
|
||||||
return (
|
if (variant === "primary") { // @ts-ignore
|
||||||
<div
|
btnStyle = styles.primary;
|
||||||
className={`${styles.btn} ${btnStyle} ${className}`}
|
}
|
||||||
onClick={onClick}
|
else if (variant === "danger") { // @ts-ignore
|
||||||
>
|
btnStyle = styles.danger;
|
||||||
{children}
|
}
|
||||||
</div>
|
else if (variant === "transparent") { // @ts-ignore
|
||||||
);
|
btnStyle = styles.transparent;
|
||||||
|
}
|
||||||
|
else { // @ts-ignore
|
||||||
|
btnStyle = styles.default;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className={`${styles.btn} ${btnStyle} ${className}`}
|
||||||
|
onClick={onClick}
|
||||||
|
>
|
||||||
|
{children}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Button;
|
export default Button;
|
||||||
@@ -1,107 +1,62 @@
|
|||||||
/*import styles from "./input.module.css";
|
|
||||||
import { useState } from "react";
|
|
||||||
|
|
||||||
const TextInput = ({ placeholder, onChange, value, borderStyle, password, className, ...props }) => {
|
|
||||||
|
|
||||||
const [showPassword, setShowPassword] = useState(false);
|
|
||||||
|
|
||||||
let inputBorderStyle = styles.square;
|
|
||||||
if (borderStyle === "square") inputBorderStyle = styles.square;
|
|
||||||
if(borderStyle === "rounded") inputBorderStyle = styles.rounded;
|
|
||||||
|
|
||||||
const toggleShowPassword = () => {
|
|
||||||
setShowPassword(!showPassword);
|
|
||||||
};
|
|
||||||
|
|
||||||
if(password) return (
|
|
||||||
<div className={styles.passwordContainer}>
|
|
||||||
<TextInput
|
|
||||||
type={showPassword ? "text" : "password"}
|
|
||||||
value={value}
|
|
||||||
placeholder={placeholder}
|
|
||||||
onChange={onChange}
|
|
||||||
className={styles.passwordInput}
|
|
||||||
/>
|
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={toggleShowPassword}
|
|
||||||
className={styles.passwordBtn}
|
|
||||||
>
|
|
||||||
{showPassword ? '👁️' : '🔒'}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
|
|
||||||
return <input className={`${styles.input} ${inputBorderStyle} ${className}`} onChange={onChange} placeholder={placeholder} value={value} {...props} />
|
|
||||||
};
|
|
||||||
|
|
||||||
export default TextInput;*/
|
|
||||||
|
|
||||||
|
|
||||||
import styles from "./input.module.css";
|
import styles from "./input.module.css";
|
||||||
import { useState, InputHTMLAttributes, ChangeEvent } from "react";
|
import { useState, ChangeEvent, InputHTMLAttributes } from "react";
|
||||||
|
|
||||||
interface TextInputProps extends InputHTMLAttributes<HTMLInputElement> {
|
interface TextInputProps extends InputHTMLAttributes<HTMLInputElement> {
|
||||||
placeholder?: string;
|
placeholder?: string;
|
||||||
onChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
value?: string;
|
||||||
value: string;
|
onChange?: (e: ChangeEvent<HTMLInputElement>) => void;
|
||||||
borderStyle?: "square" | "rounded";
|
borderStyle?: "square" | "rounded";
|
||||||
password?: boolean;
|
password?: boolean;
|
||||||
className?: string;
|
className?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const TextInput = ({
|
const TextInput = ({
|
||||||
placeholder,
|
placeholder,
|
||||||
onChange,
|
onChange,
|
||||||
value,
|
value,
|
||||||
borderStyle = "square",
|
borderStyle = "square",
|
||||||
password = false,
|
password,
|
||||||
className = "",
|
className = "",
|
||||||
...props
|
...props
|
||||||
}: TextInputProps) => {
|
}: TextInputProps) => {
|
||||||
const [showPassword, setShowPassword] = useState(false);
|
const [showPassword, setShowPassword] = useState<boolean>(false);
|
||||||
const borderStyles = {
|
|
||||||
square: styles.square,
|
|
||||||
rounded: styles.rounded,
|
|
||||||
};
|
|
||||||
|
|
||||||
const inputBorderStyle = borderStyles[borderStyle] || styles.square;
|
let inputBorderStyle = styles.square;
|
||||||
|
if (borderStyle === "rounded") inputBorderStyle = styles.rounded;
|
||||||
|
|
||||||
const toggleShowPassword = () => {
|
const toggleShowPassword = () => {
|
||||||
setShowPassword(!showPassword);
|
setShowPassword((prev) => !prev);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if (password)
|
||||||
|
return (
|
||||||
|
<div className={styles.passwordContainer}>
|
||||||
|
<TextInput
|
||||||
|
type={showPassword ? "text" : "password"}
|
||||||
|
value={value}
|
||||||
|
placeholder={placeholder}
|
||||||
|
onChange={onChange}
|
||||||
|
className={styles.passwordInput}
|
||||||
|
/>
|
||||||
|
<button
|
||||||
|
type="button"
|
||||||
|
onClick={toggleShowPassword}
|
||||||
|
className={styles.passwordBtn}
|
||||||
|
>
|
||||||
|
{showPassword ? "👁️" : "🔒"}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
|
||||||
if (password) {
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.passwordContainer}>
|
|
||||||
<input
|
<input
|
||||||
type={showPassword ? "text" : "password"}
|
className={`${styles.input} ${inputBorderStyle} ${className}`}
|
||||||
value={value}
|
onChange={onChange}
|
||||||
placeholder={placeholder}
|
placeholder={placeholder}
|
||||||
onChange={onChange}
|
value={value}
|
||||||
className={`${styles.input} ${styles.passwordInput} ${inputBorderStyle} ${className}`}
|
{...props}
|
||||||
{...props}
|
|
||||||
/>
|
/>
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
onClick={toggleShowPassword}
|
|
||||||
className={styles.passwordBtn}
|
|
||||||
>
|
|
||||||
{showPassword ? "👁️" : "🔒"}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
);
|
);
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
|
||||||
<input
|
|
||||||
className={`${styles.input} ${inputBorderStyle} ${className}`}
|
|
||||||
onChange={onChange}
|
|
||||||
placeholder={placeholder}
|
|
||||||
value={value}
|
|
||||||
{...props}
|
|
||||||
/>
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default TextInput;
|
export default TextInput;
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
import Button from "../button/button.tsx";
|
||||||
|
import { useState, useEffect } from "react";
|
||||||
|
import styles from "./ThemeSwitcher.module.css";
|
||||||
|
|
||||||
|
|
||||||
|
export default function ThemeSwitcher() {
|
||||||
|
|
||||||
|
const [theme, setTheme] = useState("");
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const t = localStorage.getItem("theme");
|
||||||
|
if(t) setTheme(t);
|
||||||
|
else setTheme("light");
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const switchTheme = () => {
|
||||||
|
|
||||||
|
let newTheme = theme === "light" ? "dark" : "light";
|
||||||
|
|
||||||
|
if(theme === null || theme === "") newTheme = "dark";
|
||||||
|
|
||||||
|
localStorage.setItem("theme", newTheme);
|
||||||
|
setTheme(newTheme);
|
||||||
|
|
||||||
|
window.dispatchEvent(new Event("theme-changed"));
|
||||||
|
};
|
||||||
|
|
||||||
|
return <Button variant={"default"} onClick={switchTheme} className={styles.themeBtn}>
|
||||||
|
<img src={`/icons/theme/${theme}.svg`} alt={`${theme} icon`} className={styles.themeIcon} />
|
||||||
|
<p>Changer de thème </p>
|
||||||
|
</Button>
|
||||||
|
}
|
||||||
@@ -12,7 +12,7 @@ export function AuthProvider({ children }) {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
(async () => {
|
(async () => {
|
||||||
const u = await getUser();
|
const u = await getUser();
|
||||||
setUser(u.data);
|
if(u.status === 200) setUser(u.data);
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
})();
|
})();
|
||||||
}, []);
|
}, []);
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
export default interface Response<T> {
|
||||||
|
status: number;
|
||||||
|
data: T;
|
||||||
|
}
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
import { useState, useContext } from "react";
|
import { useContext } from "react";
|
||||||
import styles from "./AdminPage.module.css";
|
import styles from "./AdminPage.module.css";
|
||||||
import ParticipationChart from "./components/chart/ParticipationChart.jsx";
|
|
||||||
import IncompleteEvents from "./components/IncompleteEvent/IncompleteEvent.jsx";
|
import IncompleteEvents from "./components/IncompleteEvent/IncompleteEvent.jsx";
|
||||||
import PendingMembers from "./components/pendingMembers/PendingMembers.jsx";
|
import PendingMembers from "./components/pendingMembers/PendingMembers.jsx";
|
||||||
import { AuthContext } from "../../contexts/auth/AuthContext.js";
|
import { AuthContext } from "../../contexts/auth/AuthContext.js";
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
|
import RegisterMember from "./components/registerMember/registerMember.tsx";
|
||||||
|
|
||||||
|
|
||||||
function AdminPage() {
|
function AdminPage() {
|
||||||
@@ -12,18 +12,11 @@ function AdminPage() {
|
|||||||
const { user } = useContext(AuthContext);
|
const { user } = useContext(AuthContext);
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
|
||||||
const [selected, setSelected] = useState("3");
|
|
||||||
const [participationRate] = useState(89);
|
|
||||||
|
|
||||||
if(!user.isAdmin) navigate("/");
|
if(!user.isAdmin) navigate("/");
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.container}>
|
<div className={styles.container}>
|
||||||
<ParticipationChart
|
<RegisterMember />
|
||||||
selected={selected}
|
|
||||||
setSelected={setSelected}
|
|
||||||
participationRate={participationRate}
|
|
||||||
/>
|
|
||||||
<div className={styles.rightSection}>
|
<div className={styles.rightSection}>
|
||||||
<IncompleteEvents />
|
<IncompleteEvents />
|
||||||
<PendingMembers />
|
<PendingMembers />
|
||||||
|
|||||||
@@ -1,111 +1,100 @@
|
|||||||
import React, { useState, useEffect } from "react";
|
import React, {useState, useEffect} from "react";
|
||||||
import Button from "../../../../components/ui/button/button.jsx";
|
import Button from "../../../../components/ui/button/button.tsx";
|
||||||
import styles from "./PendingMembers.module.css";
|
import styles from "./PendingMembers.module.css";
|
||||||
|
import Modal from "../../../../components/ui/modal/modal.tsx";
|
||||||
import getUserToValidate from "../../../../utils/users/getUserToValidate.js";
|
import getUserToValidate from "../../../../utils/users/getUserToValidate.js";
|
||||||
import getUserById from "../../../../utils/users/getUserById.js";
|
import getUserById from "../../../../utils/users/getUserById.js";
|
||||||
import validateUser from "../../../../utils/users/validateUser.js";
|
import validateUser from "../../../../utils/users/validateUser.js";
|
||||||
import deleteOtherUser from "../../../../utils/users/deleteOtherUser.js";
|
import deleteOtherUser from "../../../../utils/users/deleteOtherUser.js";
|
||||||
|
|
||||||
function PendingMembers() {
|
function PendingMembers() {
|
||||||
const [pendingMembers, setPendingMembers] = useState([]);
|
|
||||||
const [loading, setLoading] = useState(true);
|
|
||||||
const [actionLoading, setActionLoading] = useState(null);
|
|
||||||
const [error, setError] = useState(null);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
const fetchPendingMembers = async () => {
|
|
||||||
setLoading(true);
|
|
||||||
const result = await getUserToValidate();
|
|
||||||
const userIds = result.data
|
|
||||||
if (userIds && userIds.length > 0) {
|
|
||||||
const users = await Promise.all(userIds.map((id) => getUserById(id)));
|
|
||||||
setPendingMembers(users.filter(Boolean));
|
|
||||||
} else {
|
|
||||||
setPendingMembers([]);
|
|
||||||
}
|
|
||||||
setLoading(false);
|
|
||||||
};
|
|
||||||
fetchPendingMembers();
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
const removeMember = (id) => {
|
const [open, setOpen] = useState(false);
|
||||||
setPendingMembers(prevMembers =>
|
const [message, setMessage] = useState("");
|
||||||
prevMembers.filter(member => member.id !== id)
|
const [title, setTitle] = useState("");
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleValidate = async (id) => {
|
const [pendingMembers, setPendingMembers] = useState([]);
|
||||||
setActionLoading(id);
|
|
||||||
setError(null);
|
const fetchUsers = async () => {
|
||||||
try {
|
|
||||||
const result = await validateUser(id);
|
const result = await getUserToValidate();
|
||||||
if (result === true) {
|
const userIds = result.data;
|
||||||
removeMember(id);
|
|
||||||
} else {
|
if (userIds && userIds.length > 0) {
|
||||||
setError("Échec de la validation.");
|
const users = await Promise.all(userIds.map(id => getUserById(id)));
|
||||||
|
const usersData = users.map(u => u.data);
|
||||||
|
setPendingMembers(usersData);
|
||||||
|
} else setPendingMembers([]);
|
||||||
}
|
}
|
||||||
} catch (err) {
|
|
||||||
setError("Erreur lors de la validation.");
|
|
||||||
} finally {
|
|
||||||
setActionLoading(null);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleReject = async (id) => {
|
useEffect(() => {
|
||||||
setActionLoading(id);
|
fetchUsers();
|
||||||
setError(null);
|
}, []);
|
||||||
try {
|
|
||||||
const result = await deleteUser(id);
|
const handleValidate = async (id, name) => {
|
||||||
if (result.status >= 200 && result.status < 300) {
|
const result = await validateUser(id);
|
||||||
removeMember(id);
|
|
||||||
} else {
|
if(result.status === 200) {
|
||||||
setError(result.errors || "Échec de la suppression.");
|
setTitle("Utilisateur accepté avec succès")
|
||||||
|
setMessage(`L'utilisateur ${name} a été accepté avec succès`)
|
||||||
|
setOpen(true);
|
||||||
|
} else {
|
||||||
|
setTitle("Erreur")
|
||||||
|
setMessage(`Une erreur est survenue durant l'acceptation de l'utilisateur ${name}`)
|
||||||
|
setOpen(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
fetchUsers();
|
||||||
}
|
}
|
||||||
} catch (err) {
|
|
||||||
setError("Erreur lors de la suppression.");
|
|
||||||
} finally {
|
|
||||||
setActionLoading(null);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
const handleRefuse = async (id, name) => {
|
||||||
|
const result = await deleteOtherUser(id);
|
||||||
|
|
||||||
if (loading) {
|
if(result.status === 200) {
|
||||||
return <div>Chargement des membres en attente...</div>;
|
setTitle("Utilisateur refusé avec succès")
|
||||||
}
|
setMessage(`L'utilisateur ${name} a été refusé avec succès`)
|
||||||
|
setOpen(true);
|
||||||
|
} else {
|
||||||
|
setTitle("Erreur")
|
||||||
|
setMessage(`Une erreur est survenue durant le refus de l'utilisateur ${name}`)
|
||||||
|
setOpen(true);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
fetchUsers();
|
||||||
<div className={`${styles.rightBlock} glassCard`}>
|
}
|
||||||
<h2>Membres en attente de validation</h2>
|
|
||||||
{error && <p style={{ color: "red" }}>{error}</p>}
|
|
||||||
|
|
||||||
<div className={styles.membersContainer}>
|
return (
|
||||||
{pendingMembers.length === 0 && <p>Aucun membre en attente</p>}
|
<div className={`${styles.rightBlock} glassCard`}>
|
||||||
|
<h2>Membres en attente de validation</h2>
|
||||||
|
|
||||||
|
<div className={styles.membersContainer}>
|
||||||
|
|
||||||
|
{pendingMembers.length === 0 && <p>Aucun membre en attente</p>}
|
||||||
|
|
||||||
|
{pendingMembers.map((member, index) => (
|
||||||
|
|
||||||
|
<div key={index} className={`glassCard ${styles.memberCard}`}>
|
||||||
|
|
||||||
|
<p>{member.name} {member.lastname}</p>
|
||||||
|
|
||||||
|
<div className={styles.buttonGroup}>
|
||||||
|
<Button variant="primary" onClick={() => handleValidate(member.id, `${member.name} ${member.lastname}`)}>Valider</Button>
|
||||||
|
<Button variant="danger" onClick={() => handleRefuse(member.id, `${member.name} ${member.lastname}`)}>Refuser</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
))}
|
||||||
|
|
||||||
{pendingMembers.map((member) => (
|
|
||||||
<div key={member.id} className={`glassCard ${styles.memberCard}`}>
|
|
||||||
<p>{member.name} {member.lastname}</p>
|
|
||||||
<div className={styles.buttonGroup}>
|
|
||||||
<Button
|
|
||||||
onClick={() => handleValidate(member.id)}
|
|
||||||
variant="primary"
|
|
||||||
disabled={actionLoading === member.id}
|
|
||||||
>
|
|
||||||
{actionLoading === member.id ? "En cours..." : "Valider"}
|
|
||||||
</Button>
|
|
||||||
<Button
|
|
||||||
onClick={() => handleReject(member.id)}
|
|
||||||
variant="danger"
|
|
||||||
disabled={actionLoading === member.id}
|
|
||||||
>
|
|
||||||
{actionLoading === member.id ? "En cours..." : "Refuser"}
|
|
||||||
</Button>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
))}
|
<Modal open={open} onClose={() => setOpen(false)} title={title}>
|
||||||
</div>
|
{message}
|
||||||
</div>
|
</Modal>
|
||||||
);
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default PendingMembers;
|
export default PendingMembers;
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
.leftBlock {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 720px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
min-height: calc(100vh - 260px);
|
||||||
|
box-sizing: border-box;
|
||||||
|
padding: 20px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.registerMemberHeader {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 100%;
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.registerForm {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 16px;
|
||||||
|
align-items: stretch;
|
||||||
|
}
|
||||||
|
|
||||||
|
.registerForm input {
|
||||||
|
width: 100%;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.registerForm button {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.modalContent {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 768px) {
|
||||||
|
.leftBlock {
|
||||||
|
width: 70%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1024px) {
|
||||||
|
.leftBlock {
|
||||||
|
width: 40%;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
import React, { useState } from "react"
|
||||||
|
import styles from "./registerMember.module.css"
|
||||||
|
import TextInput from "../../../../components/ui/input/input"
|
||||||
|
import Button from "../../../../components/ui/button/button";
|
||||||
|
import Response from "../../../../interfaces/response.interface";
|
||||||
|
import ResponseData from "./responseData.inteface";
|
||||||
|
import adminCreateUser from "../../../../utils/users/adminCreateUser";
|
||||||
|
import Modal from "../../../../components/ui/modal/modal";
|
||||||
|
|
||||||
|
|
||||||
|
const RegisterMember: React.FC = () => {
|
||||||
|
|
||||||
|
const [name, setName] = useState<string>("");
|
||||||
|
const [lastname, setLastName] = useState<string>("");
|
||||||
|
const [email, setEmail] = useState<string>("");
|
||||||
|
const [phone, setPhone] = useState<string>("");
|
||||||
|
const [password, setPassword] = useState<string>("");
|
||||||
|
|
||||||
|
const [open, setOpen] = useState<boolean>(false);
|
||||||
|
const [title, setTitle] = useState<string>("");
|
||||||
|
const [message, setMessage] = useState<string>("");
|
||||||
|
|
||||||
|
|
||||||
|
const handleCreate = async (): Promise<void> => {
|
||||||
|
|
||||||
|
if(name !== "" && lastname !== "" && email !== "" && phone !== "" ) {
|
||||||
|
const response: Response<ResponseData> = await adminCreateUser(email, name, lastname, phone);
|
||||||
|
if(response.status === 200) {
|
||||||
|
setPassword(response.data.password);
|
||||||
|
setTitle(`Utilisateur enregistré avec succès`);
|
||||||
|
setMessage(`L'utilisateur ${name} ${lastname} a été enregistré avec le mot de passe: ${response.data.password}`);
|
||||||
|
setOpen(true);
|
||||||
|
} else {
|
||||||
|
setTitle(`Erreur`);
|
||||||
|
setMessage(`Une erreur est survenue lors de l'enregistrement de ${name} ${lastname}`);
|
||||||
|
setOpen(true);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
setTitle("Erreur");
|
||||||
|
setMessage("Un des champs n'a pas été rempli");
|
||||||
|
setOpen(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const showPassword = (): void => {
|
||||||
|
setTitle(`Mot de passe de ${name} ${lastname}`);
|
||||||
|
setMessage(password);
|
||||||
|
setOpen(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
return <div className={`${styles.leftBlock} glassCard`}>
|
||||||
|
<div className={styles.registerMemberHeader}>
|
||||||
|
<h2>Enregister un bénévole</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.registerForm}>
|
||||||
|
<TextInput placeholder={"Prenom"} type={"text"} value={name} onChange={e => setName(e.target.value)} />
|
||||||
|
<TextInput placeholder={"Nom"} type={"text"} value={lastname} onChange={e => setLastName(e.target.value)} />
|
||||||
|
<TextInput placeholder={"Adresse Email"} type={"email"} value={email} onChange={e => setEmail(e.target.value)} />
|
||||||
|
<TextInput placeholder={"Numéro de téléphone"} type={"tel"} value={phone} onChange={e => setPhone(e.target.value)} />
|
||||||
|
|
||||||
|
{password !== "" && <Button onClick={showPassword}> Afficher le mot de passe </Button>}
|
||||||
|
|
||||||
|
<Button variant={"default"} onClick={handleCreate}>Enregistrer</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Modal open={open} onClose={() => setOpen(false)} title={title}>
|
||||||
|
<p className={styles.modalContent}>{message}</p>
|
||||||
|
</Modal>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
export default RegisterMember
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
export default interface ResponseData {
|
||||||
|
message: string;
|
||||||
|
password: string;
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import styles from "./Event.module.css";
|
import styles from "./Event.module.css";
|
||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
import Button from "/src/components/ui/button/button.jsx"
|
import Button from "/src/components/ui/button/button"
|
||||||
|
|
||||||
function Event({event}){
|
function Event({event}){
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { useState, useContext } from "react";
|
import { useState, useContext } from "react";
|
||||||
import styles from "./loginForm.module.css";
|
import styles from "./loginForm.module.css";
|
||||||
import Button from "../../../../components/ui/button/button.jsx";
|
import Button from "../../../../components/ui/button/button.tsx";
|
||||||
import Input from "../../../../components/ui/input/input.jsx";
|
import Input from "../../../../components/ui/input/input.tsx";
|
||||||
import Modal from "../../../../components/ui/modal/modal.jsx";
|
import Modal from "../../../../components/ui/modal/modal.tsx";
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
import { AuthContext } from "../../../../contexts/auth/AuthContext.js";
|
import { AuthContext } from "../../../../contexts/auth/AuthContext.js";
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,86 @@
|
|||||||
|
import Modal from "../../../../components/ui/modal/modal.tsx";
|
||||||
|
import Button from "../../../../components/ui/button/button.tsx";
|
||||||
|
import styles from "./SettingsModal.module.css"
|
||||||
|
import { useContext, useState } from "react";
|
||||||
|
import ThemeSwitcher from "../../../../components/ui/themeSwitcher/ThemeSwitcher.jsx";
|
||||||
|
import { AuthContext } from "../../../../contexts/auth/AuthContext.js";
|
||||||
|
import TextInput from "../../../../components/ui/input/input.tsx";
|
||||||
|
import updateUser from "../../../../utils/users/updateUser.js";
|
||||||
|
import deleteUser from "../../../../utils/users/deleteUser.js";
|
||||||
|
|
||||||
|
|
||||||
|
export default function SettingsModal() {
|
||||||
|
|
||||||
|
const { user, logout, update } = useContext(AuthContext);
|
||||||
|
|
||||||
|
const [open, setOpen] = useState(false);
|
||||||
|
const [isDelete, setIsDelete] = useState(false);
|
||||||
|
|
||||||
|
const [name, setName] = useState(user?.name);
|
||||||
|
const [lastname, setLastName] = useState(user?.lastname);
|
||||||
|
const [phone, setPhone] = useState(user?.phone);
|
||||||
|
|
||||||
|
const handleLogout = () => {
|
||||||
|
logout();
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleSubmit = async () => {
|
||||||
|
await updateUser(name, lastname, phone);
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleDelete = async () => {
|
||||||
|
await deleteUser();
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Button variant={"transparent"} onClick={() => setOpen(!open)}>
|
||||||
|
<img src={"/icons/settings-wheel.svg"} alt={"Modify btn"} className={styles.modifyIcon}/>
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<Modal title={"Paramètres"} open={open} onClose={() => setOpen(false)}>
|
||||||
|
<div className={styles.content}>
|
||||||
|
|
||||||
|
<div className={styles.section}>
|
||||||
|
<h3>Compte</h3>
|
||||||
|
<Button variant={"danger"} onClick={handleLogout}> Déconnexion </Button>
|
||||||
|
<Button variant={"danger"} onClick={() => setIsDelete(true)}> Supprimer le compte </Button>
|
||||||
|
|
||||||
|
<div className={styles.section}>
|
||||||
|
<h4>Changer de Prénom</h4>
|
||||||
|
<TextInput value={name} onChange={e => setName(e.target.value)} type={"text"} />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.section}>
|
||||||
|
<h4>Changer de nom</h4>
|
||||||
|
<TextInput value={lastname} onChange={e => setLastName(e.target.value)} type={"text"} />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.section}>
|
||||||
|
<h4>Changer de numéro de téléphone</h4>
|
||||||
|
<TextInput value={phone} onChange={e => setPhone(e.target.value)} type={"text"} />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<Button className={styles.submitBtn} onClick={handleSubmit}>Confirmer</Button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={styles.section}>
|
||||||
|
<h3>Apparence</h3>
|
||||||
|
<ThemeSwitcher />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Modal>
|
||||||
|
|
||||||
|
|
||||||
|
<Modal title={"Validation"} open={isDelete} onClose={() => setIsDelete(false)}>
|
||||||
|
<div className={styles.section}>
|
||||||
|
<p className={styles.alignText}> Êtes vous vraiment sûr de vouloir supprimer votre compte ?</p>
|
||||||
|
<Button variant={"danger"} className={styles.submitBtn} onClick={handleDelete}>Confirmer</Button>
|
||||||
|
</div>
|
||||||
|
</Modal>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
import styles from "./RegisterPage.module.css";
|
import styles from "./RegisterPage.module.css";
|
||||||
import Background from "../../components/background/background.jsx";
|
import Background from "../../components/background/background.jsx";
|
||||||
import Input from "../../components/ui/input/input.jsx";
|
import Input from "../../components/ui/input/input.tsx";
|
||||||
import Button from "../../components/ui/button/button.jsx";
|
import Button from "../../components/ui/button/button.tsx";
|
||||||
import {useContext, useEffect, useState} from "react";
|
import {useContext, useEffect, useState} from "react";
|
||||||
import register from "../../utils/register.js";
|
import register from "../../utils/register.js";
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
import { AuthContext } from "../../contexts/auth/AuthContext.js";
|
import { AuthContext } from "../../contexts/auth/AuthContext.js";
|
||||||
import Modal from "../../components/ui/modal/modal.jsx";
|
import Modal from "../../components/ui/modal/modal.tsx";
|
||||||
|
|
||||||
|
|
||||||
function RegisterPage() {
|
function RegisterPage() {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import Button from "../../../../components/ui/button/button.jsx";
|
import Button from "../../../../components/ui/button/button.tsx";
|
||||||
import Modal from "../../../../components/ui/modal/modal.jsx";
|
import Modal from "../../../../components/ui/modal/modal.tsx";
|
||||||
import {useContext, useState} from "react";
|
import {useContext, useState} from "react";
|
||||||
import styles from "./manageMember.module.css"
|
import styles from "./manageMember.module.css"
|
||||||
import DeactivateMemberBtn from "./deactivateMember/deactivateMemberBtn.jsx";
|
import DeactivateMemberBtn from "./deactivateMember/deactivateMemberBtn.jsx";
|
||||||
|
|||||||
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
import Button from "../../../../../components/ui/button/button.jsx";
|
import Button from "../../../../../components/ui/button/button.tsx";
|
||||||
import Modal from "../../../../../components/ui/modal/modal.jsx";
|
import Modal from "../../../../../components/ui/modal/modal.tsx";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import deactivateUser from "../../../../../utils/users/deactivateUser.js"
|
import deactivateUser from "../../../../../utils/users/deactivateUser.js"
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import styles from "../manageMember.module.css";
|
import styles from "../manageMember.module.css";
|
||||||
import Button from "../../../../../components/ui/button/button.jsx";
|
import Button from "../../../../../components/ui/button/button.tsx";
|
||||||
import modifyRole from "../../../../../utils/users/modifyRole.js";
|
import modifyRole from "../../../../../utils/users/modifyRole.js";
|
||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import getRoles from "../../../../../utils/getRoles.js";
|
import getRoles from "../../../../../utils/getRoles.js";
|
||||||
import Modal from "../../../../../components/ui/modal/modal.jsx";
|
import Modal from "../../../../../components/ui/modal/modal.tsx";
|
||||||
|
|
||||||
export default function ModifyRole({ user }) {
|
export default function ModifyRole({ user }) {
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import React, {useState} from "react";
|
|||||||
import styles from "./VolunteersPage.module.css";
|
import styles from "./VolunteersPage.module.css";
|
||||||
import formatDate from "../../utils/date/formatDate.js";
|
import formatDate from "../../utils/date/formatDate.js";
|
||||||
import { useNavigate } from "react-router";
|
import { useNavigate } from "react-router";
|
||||||
import Button from "../../components/ui/button/button.jsx";
|
import Button from "../../components/ui/button/button.tsx";
|
||||||
|
|
||||||
export default function VolunteerCard({ user }) {
|
export default function VolunteerCard({ user }) {
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import styles from "./eventTask.module.css";
|
import styles from "./eventTask.module.css";
|
||||||
import { formatDateLetter } from "../../../../utils/date/formatDateLetter.js";
|
import { formatDateLetter } from "../../../../utils/date/formatDateLetter.js";
|
||||||
import Button from "../../../../components/ui/button/button.jsx";
|
import Button from "../../../../components/ui/button/button.tsx";
|
||||||
import assign from "../../../../utils/tasks/assign.js";
|
import assign from "../../../../utils/tasks/assign.js";
|
||||||
import unAssign from "../../../../utils/tasks/unAssign.js";
|
import unAssign from "../../../../utils/tasks/unAssign.js";
|
||||||
import { useContext, useEffect, useState } from "react";
|
import { useContext, useEffect, useState } from "react";
|
||||||
import isAssigned from "../../../../utils/tasks/isAssigned.js";
|
import isAssigned from "../../../../utils/tasks/isAssigned.js";
|
||||||
import Modal from "../../../../components/ui/modal/modal.jsx";
|
import Modal from "../../../../components/ui/modal/modal.tsx";
|
||||||
import { AuthContext } from "../../../../contexts/auth/AuthContext.js";
|
import { AuthContext } from "../../../../contexts/auth/AuthContext.js";
|
||||||
import DeleteTaskBtn from "../deleteTaskBtn/deleteTaskBtn.jsx";
|
import DeleteTaskBtn from "../deleteTaskBtn/deleteTaskBtn.jsx";
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import styles from "../../eventDetail.module.css";
|
import styles from "../../eventDetail.module.css";
|
||||||
import Button from "../../../../components/ui/button/button.jsx";
|
import Button from "../../../../components/ui/button/button.tsx";
|
||||||
import {useContext, useState} from "react";
|
import {useContext, useState} from "react";
|
||||||
import TextInput from "../../../../components/ui/input/input.jsx";
|
import TextInput from "../../../../components/ui/input/input.tsx";
|
||||||
import Modal from "../../../../components/ui/modal/modal.jsx";
|
import Modal from "../../../../components/ui/modal/modal.tsx";
|
||||||
import createTaskApi from "../../../../utils/tasks/createTask.js";
|
import createTaskApi from "../../../../utils/tasks/createTask.js";
|
||||||
import {EventDetailContext} from "../../../../contexts/eventDetail/eventDetail.js";
|
import {EventDetailContext} from "../../../../contexts/eventDetail/eventDetail.js";
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import styles from "../../eventDetail.module.css";
|
import styles from "../../eventDetail.module.css";
|
||||||
import Button from "../../../../components/ui/button/button.jsx";
|
import Button from "../../../../components/ui/button/button.tsx";
|
||||||
import Modal from "../../../../components/ui/modal/modal.jsx";
|
import Modal from "../../../../components/ui/modal/modal.tsx";
|
||||||
import { useContext, useState } from "react";
|
import { useContext, useState } from "react";
|
||||||
import { EventDetailContext } from "../../../../contexts/eventDetail/eventDetail.js";
|
import { EventDetailContext } from "../../../../contexts/eventDetail/eventDetail.js";
|
||||||
import { EventContext } from "../../../../contexts/events/EventContext.js";
|
import { EventContext } from "../../../../contexts/events/EventContext.js";
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { useContext } from "react";
|
import { useContext } from "react";
|
||||||
import { AuthContext } from "../../../../contexts/auth/AuthContext.js";
|
import { AuthContext } from "../../../../contexts/auth/AuthContext.js";
|
||||||
import { EventDetailContext } from "../../../../contexts/eventDetail/eventDetail.js";
|
import { EventDetailContext } from "../../../../contexts/eventDetail/eventDetail.js";
|
||||||
import Button from "../../../../components/ui/button/button.jsx";
|
import Button from "../../../../components/ui/button/button.tsx";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import Modal from "../../../../components/ui/modal/modal.jsx";
|
import Modal from "../../../../components/ui/modal/modal.tsx";
|
||||||
import styles from "../../eventDetail.module.css";
|
import styles from "../../eventDetail.module.css";
|
||||||
|
|
||||||
export default function DeleteTaskBtn({ taskId, eventId, taskName }) {
|
export default function DeleteTaskBtn({ taskId, eventId, taskName }) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import styles from "./validationErrorPage.module.css"
|
import styles from "./validationErrorPage.module.css"
|
||||||
import Background from "../../components/background/background.jsx";
|
import Background from "../../components/background/background.jsx";
|
||||||
import Button from "../../components/ui/button/button.jsx";
|
import Button from "../../components/ui/button/button.tsx";
|
||||||
import { useContext } from "react";
|
import { useContext } from "react";
|
||||||
import { AuthContext } from "../../contexts/auth/AuthContext.js";
|
import { AuthContext } from "../../contexts/auth/AuthContext.js";
|
||||||
import { Navigate, useNavigate, Link } from "react-router";
|
import { Navigate, useNavigate, Link } from "react-router";
|
||||||
@@ -15,6 +15,10 @@ export default function ValidationErrorPage() {
|
|||||||
navigate("/login");
|
navigate("/login");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleRefresh = () => {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
|
||||||
if(user && user.validate === 1) return <Navigate to="/" />;
|
if(user && user.validate === 1) return <Navigate to="/" />;
|
||||||
|
|
||||||
return <Background>
|
return <Background>
|
||||||
@@ -27,7 +31,10 @@ export default function ValidationErrorPage() {
|
|||||||
https://comite.beaupont.fr/contactez-nous
|
https://comite.beaupont.fr/contactez-nous
|
||||||
</Link>
|
</Link>
|
||||||
</p>
|
</p>
|
||||||
<Button variant={"danger"} onClick={handleLogout}> Déconnexion </Button>
|
<div className={styles.btnContainer}>
|
||||||
|
<Button variant={"default"} onClick={handleRefresh}> Recharger </Button>
|
||||||
|
<Button variant={"danger"} onClick={handleLogout}> Déconnexion </Button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Background>
|
</Background>
|
||||||
|
|||||||
@@ -23,3 +23,9 @@
|
|||||||
font-size: large;
|
font-size: large;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.btnContainer {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
gap: 15px;
|
||||||
|
}
|
||||||
+1
-1
@@ -72,7 +72,7 @@ const router = createBrowserRouter([
|
|||||||
Component: legalNotices,
|
Component: legalNotices,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/RGPD",
|
path: "/rgpd",
|
||||||
Component: RGPD,
|
Component: RGPD,
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { fn } from 'storybook/test';
|
import { fn } from 'storybook/test';
|
||||||
|
|
||||||
import Button from '../components/ui/button/button.jsx';
|
import Button from '../components/ui/button/button.tsx';
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import TextInput from "../components/ui/input/input.jsx";
|
import TextInput from "../components/ui/input/input.tsx";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import Modal from "../components/ui/modal/modal.jsx";
|
import Modal from "../components/ui/modal/modal.tsx";
|
||||||
import Button from "../components/ui/button/button.jsx";
|
import Button from "../components/ui/button/button.tsx";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
import fetchWrapper from "../fetchWrapper.js";
|
||||||
|
import getXSRFToken from "../getXSRF.js";
|
||||||
|
import Response from "../../interfaces/response.interface";
|
||||||
|
|
||||||
|
export default async function adminCreateUser(email: string, name: string, lastname: string, phone: string): Promise<Response> {
|
||||||
|
const csrfToken = await getXSRFToken();
|
||||||
|
|
||||||
|
return fetchWrapper(
|
||||||
|
"/api/users/create",
|
||||||
|
{ email, name, lastname, phone },
|
||||||
|
"POST",
|
||||||
|
{ "X-XSRF-TOKEN": csrfToken }
|
||||||
|
);
|
||||||
|
}
|
||||||
Reference in new issue
Block a user