From 8e08b4dfd64d7eaf30eeb2f54dd47b9dbb9226e4 Mon Sep 17 00:00:00 2001 From: Jina Date: Wed, 27 May 2026 23:06:04 +0900 Subject: [PATCH 1/7] =?UTF-8?q?setting:=20=EA=B8=B0=EB=B3=B8=20=EC=84=B8?= =?UTF-8?q?=ED=8C=85=20=EC=99=84=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Week6/Homework/tanstack-project/.gitignore | 24 + Week6/Homework/tanstack-project/README.md | 73 + .../tanstack-project/eslint.config.js | 22 + Week6/Homework/tanstack-project/index.html | 12 + Week6/Homework/tanstack-project/package.json | 35 + .../Homework/tanstack-project/pnpm-lock.yaml | 2296 +++++++++++++++++ Week6/Homework/tanstack-project/src/App.tsx | 8 + Week6/Homework/tanstack-project/src/main.tsx | 16 + .../tanstack-project/src/pages/home/Home.tsx | 5 + .../src/pages/postDetail/PostDetail.tsx | 5 + .../tanstack-project/src/router/Router.tsx | 10 + .../src/styles/GlobalStyle.tsx | 22 + .../tanstack-project/src/styles/emotion.d.ts | 11 + .../tanstack-project/src/styles/theme.ts | 52 + .../tanstack-project/tsconfig.app.json | 39 + Week6/Homework/tanstack-project/tsconfig.json | 7 + .../tanstack-project/tsconfig.node.json | 24 + .../Homework/tanstack-project/vite.config.ts | 22 + 18 files changed, 2683 insertions(+) create mode 100644 Week6/Homework/tanstack-project/.gitignore create mode 100644 Week6/Homework/tanstack-project/README.md create mode 100644 Week6/Homework/tanstack-project/eslint.config.js create mode 100644 Week6/Homework/tanstack-project/index.html create mode 100644 Week6/Homework/tanstack-project/package.json create mode 100644 Week6/Homework/tanstack-project/pnpm-lock.yaml create mode 100644 Week6/Homework/tanstack-project/src/App.tsx create mode 100644 Week6/Homework/tanstack-project/src/main.tsx create mode 100644 Week6/Homework/tanstack-project/src/pages/home/Home.tsx create mode 100644 Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx create mode 100644 Week6/Homework/tanstack-project/src/router/Router.tsx create mode 100644 Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx create mode 100644 Week6/Homework/tanstack-project/src/styles/emotion.d.ts create mode 100644 Week6/Homework/tanstack-project/src/styles/theme.ts create mode 100644 Week6/Homework/tanstack-project/tsconfig.app.json create mode 100644 Week6/Homework/tanstack-project/tsconfig.json create mode 100644 Week6/Homework/tanstack-project/tsconfig.node.json create mode 100644 Week6/Homework/tanstack-project/vite.config.ts diff --git a/Week6/Homework/tanstack-project/.gitignore b/Week6/Homework/tanstack-project/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/Week6/Homework/tanstack-project/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/Week6/Homework/tanstack-project/README.md b/Week6/Homework/tanstack-project/README.md new file mode 100644 index 0000000..7dbf7eb --- /dev/null +++ b/Week6/Homework/tanstack-project/README.md @@ -0,0 +1,73 @@ +# React + TypeScript + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs) +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) + +## React Compiler + +The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules: + +```js +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + + // Remove tseslint.configs.recommended and replace with this + tseslint.configs.recommendedTypeChecked, + // Alternatively, use this for stricter rules + tseslint.configs.strictTypeChecked, + // Optionally, add this for stylistic rules + tseslint.configs.stylisticTypeChecked, + + // Other configs... + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) +``` + +You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules: + +```js +// eslint.config.js +import reactX from 'eslint-plugin-react-x' +import reactDom from 'eslint-plugin-react-dom' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + // Other configs... + // Enable lint rules for React + reactX.configs['recommended-typescript'], + // Enable lint rules for React DOM + reactDom.configs.recommended, + ], + languageOptions: { + parserOptions: { + project: ['./tsconfig.node.json', './tsconfig.app.json'], + tsconfigRootDir: import.meta.dirname, + }, + // other options... + }, + }, +]) +``` diff --git a/Week6/Homework/tanstack-project/eslint.config.js b/Week6/Homework/tanstack-project/eslint.config.js new file mode 100644 index 0000000..ef614d2 --- /dev/null +++ b/Week6/Homework/tanstack-project/eslint.config.js @@ -0,0 +1,22 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import tseslint from 'typescript-eslint' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + js.configs.recommended, + tseslint.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + globals: globals.browser, + }, + }, +]) diff --git a/Week6/Homework/tanstack-project/index.html b/Week6/Homework/tanstack-project/index.html new file mode 100644 index 0000000..5d5cf78 --- /dev/null +++ b/Week6/Homework/tanstack-project/index.html @@ -0,0 +1,12 @@ + + + + + + tanstack-project + + +
+ + + diff --git a/Week6/Homework/tanstack-project/package.json b/Week6/Homework/tanstack-project/package.json new file mode 100644 index 0000000..8f50808 --- /dev/null +++ b/Week6/Homework/tanstack-project/package.json @@ -0,0 +1,35 @@ +{ + "name": "tanstack-project", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@emotion/react": "^11.14.0", + "@emotion/styled": "^11.14.1", + "@tanstack/react-query": "^5.100.14", + "axios": "^1.16.1", + "react": "^19.2.6", + "react-dom": "^19.2.6", + "react-router": "^7.15.1" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@types/node": "^24.12.3", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.1", + "eslint": "^10.3.0", + "eslint-plugin-react-hooks": "^7.1.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.6.0", + "typescript": "~6.0.2", + "typescript-eslint": "^8.59.2", + "vite": "^8.0.12" + } +} diff --git a/Week6/Homework/tanstack-project/pnpm-lock.yaml b/Week6/Homework/tanstack-project/pnpm-lock.yaml new file mode 100644 index 0000000..edd36bb --- /dev/null +++ b/Week6/Homework/tanstack-project/pnpm-lock.yaml @@ -0,0 +1,2296 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@emotion/react': + specifier: ^11.14.0 + version: 11.14.0(@types/react@19.2.15)(react@19.2.6) + '@emotion/styled': + specifier: ^11.14.1 + version: 11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6) + '@tanstack/react-query': + specifier: ^5.100.14 + version: 5.100.14(react@19.2.6) + axios: + specifier: ^1.16.1 + version: 1.16.1 + react: + specifier: ^19.2.6 + version: 19.2.6 + react-dom: + specifier: ^19.2.6 + version: 19.2.6(react@19.2.6) + react-router: + specifier: ^7.15.1 + version: 7.15.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6) + devDependencies: + '@eslint/js': + specifier: ^10.0.1 + version: 10.0.1(eslint@10.4.0) + '@types/node': + specifier: ^24.12.3 + version: 24.12.4 + '@types/react': + specifier: ^19.2.14 + version: 19.2.15 + '@types/react-dom': + specifier: ^19.2.3 + version: 19.2.3(@types/react@19.2.15) + '@vitejs/plugin-react': + specifier: ^6.0.1 + version: 6.0.2(vite@8.0.14(@types/node@24.12.4)) + eslint: + specifier: ^10.3.0 + version: 10.4.0 + eslint-plugin-react-hooks: + specifier: ^7.1.1 + version: 7.1.1(eslint@10.4.0) + eslint-plugin-react-refresh: + specifier: ^0.5.2 + version: 0.5.2(eslint@10.4.0) + globals: + specifier: ^17.6.0 + version: 17.6.0 + typescript: + specifier: ~6.0.2 + version: 6.0.3 + typescript-eslint: + specifier: ^8.59.2 + version: 8.60.0(eslint@10.4.0)(typescript@6.0.3) + vite: + specifier: ^8.0.12 + version: 8.0.14(@types/node@24.12.4) + +packages: + + '@babel/code-frame@7.29.7': + resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.29.7': + resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.29.7': + resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.29.7': + resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.29.7': + resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-globals@7.29.7': + resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.29.7': + resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.29.7': + resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-string-parser@7.29.7': + resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.29.7': + resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.29.7': + resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.29.7': + resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/runtime@7.29.7': + resolution: {integrity: sha512-Nq8OhGWiZIZGV6hLHoyAKLLcJihP/xFeBMGJoUrxTX2psI8dCifzLhZISFb+VWS3wFMRDmCGw5R+dOySCqPLhw==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.29.7': + resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.29.7': + resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.29.7': + resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==} + engines: {node: '>=6.9.0'} + + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} + + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} + + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} + + '@emotion/babel-plugin@11.13.5': + resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} + + '@emotion/cache@11.14.0': + resolution: {integrity: sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==} + + '@emotion/hash@0.9.2': + resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} + + '@emotion/is-prop-valid@1.4.0': + resolution: {integrity: sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==} + + '@emotion/memoize@0.9.0': + resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + + '@emotion/react@11.14.0': + resolution: {integrity: sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==} + peerDependencies: + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/serialize@1.3.3': + resolution: {integrity: sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==} + + '@emotion/sheet@1.4.0': + resolution: {integrity: sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==} + + '@emotion/styled@11.14.1': + resolution: {integrity: sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==} + peerDependencies: + '@emotion/react': ^11.0.0-rc.0 + '@types/react': '*' + react: '>=16.8.0' + peerDependenciesMeta: + '@types/react': + optional: true + + '@emotion/unitless@0.10.0': + resolution: {integrity: sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0': + resolution: {integrity: sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==} + peerDependencies: + react: '>=16.8.0' + + '@emotion/utils@1.4.2': + resolution: {integrity: sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==} + + '@emotion/weak-memoize@0.4.0': + resolution: {integrity: sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==} + + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.12.2': + resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/config-helpers@0.6.0': + resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true + + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/plugin-kit@0.7.1': + resolution: {integrity: sha512-rZAP3aVgB9ds9KOeUSL+zZ21hPmo8dh6fnIFwRQj5EAZl9gzR7wxYbYXYysAM8CTqGmUGyp2S4kUdV17MnGuWQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} + + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} + + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@napi-rs/wasm-runtime@1.1.4': + resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + + '@oxc-project/types@0.132.0': + resolution: {integrity: sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==} + + '@rolldown/binding-android-arm64@1.0.2': + resolution: {integrity: sha512-ZS4D1JPGn/MYQN/SYDWftIE/nVsM8j/AFOYEzAoOE2O3NktQOZru+/vYXGbR/qtdLdIfGCP0lcoJiYVzsEz+iQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@rolldown/binding-darwin-arm64@1.0.2': + resolution: {integrity: sha512-vdFA9+C/rekyGce7WqHs/xoT0ioZEWaOFyZLIV1mEeNFaFDUQrPIo8Vs2GvJ6eetb3rzDUtUBgzto3ExpXJB3w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.2': + resolution: {integrity: sha512-BewSOwTHazv77DTYiAZXSqqKZ4KP/KonFisDMVU7PImxoWfB2aepnPhd2E4SWz3zDzYgDNbs6jBmTdgNnF02GA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.0.2': + resolution: {integrity: sha512-m41o7M0YWtUdqk61Tb+jnKb2rN++iRdIASlExkUoKfIAH30DOHCB8fVLzSUpbWHHU8esmEioY62PxzexE8MBuA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.2': + resolution: {integrity: sha512-jcojB9H7W/jS29pMKWAK1N+fU99vXodHDTatS3b3y/XSOCiHo0kkA74pL3jJmkoQtYpOCxDvaKs1fo2Ij/1X5w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.2': + resolution: {integrity: sha512-1jn6qDU5iiOgFgygDzKUuKP0maTi0/f1+sBLgvij/76C77Nm3ts6ufz9Bjg5q5dduxiUIxtq86JIoBvo1xQ4Ig==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-arm64-musl@1.0.2': + resolution: {integrity: sha512-QVLO/czFMdoMFSqlX3bcswcJNm/23r+qoa/jgtmFc/qEp6/jXmIkDjF/XIo8dPfGaiwy1xfQn8o77L79GeXFgw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rolldown/binding-linux-ppc64-gnu@1.0.2': + resolution: {integrity: sha512-hgO5Abm0w5UL6FEa2iFnZqo2KlK7TQ5QhV5x09hujBf7t5KzHQ1VmfPuTpqRy/rNlSxua3eWH374xxiVrP+lcA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.0.2': + resolution: {integrity: sha512-fy8rXxuYEu602abC8MUNaPjYLIFzReOaEIEMKMUa0rFEUxNpVXhs15KSSQ4qlqSaM7B6rcj9rDZgADh/IGDzLQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-gnu@1.0.2': + resolution: {integrity: sha512-0+bOkiQ779+r1WpoHOWHqncvyySci0vKph+myNDYb+im6meJAzHQXay6oEgnkHuUGouM1LKTZwqKpBow6Kj7CQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-x64-musl@1.0.2': + resolution: {integrity: sha512-mjSkrzZK5Qsl0a9d1JgILOiuZOSDTVdKENcSXBoqbzSrspLR/4/IRVDo5wd2GgZjNss/viBFJdeq+j7qH2nypw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rolldown/binding-openharmony-arm64@1.0.2': + resolution: {integrity: sha512-1v5vHasdfQAZoEHakBV72LIFAC9JjnymsiKxp+GEr/ma3+NJCPSaYK+qavInOovJkgwFrs7GccX2d6IgDA3Z5w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.0.2': + resolution: {integrity: sha512-mb1VobWn6NheziTk5/WEaR6AKVbrwT5sOi6C7zk3gy/pD1qtJfU1j4PgTo2NJnOtbL9Dl3Aeei8w9jJ7qC2jZQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.0.2': + resolution: {integrity: sha512-SqKonF56vA/L2yHwHYcEp2P34URpOZ7d1fS635cTkpDnUtEGdUbhI6NzsPdqeSWvAAeGDrxjWjNmibDIdFf9/A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.2': + resolution: {integrity: sha512-v7qRI7gXLRINcOGXt+7YmAZ6iFuyZVMIoXAxhd8oP+DR9dLfL9GfNIx7PLMxmhZdvq8waUJBQiWN9EKNy+TRBQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} + + '@tanstack/query-core@5.100.14': + resolution: {integrity: sha512-5X41dGpxgeaHISCRW2oYwcSycZeULZzAunaudXT9ov1KOTj9xwt0CH6hbwqP1/z74ZWF7rYFnDpyYH07XFcZew==} + + '@tanstack/react-query@5.100.14': + resolution: {integrity: sha512-oOr6aRdSFEwWhzxEkD/9ZcItM3+LjBSkeVmadWKwUssAHTsqd/7bOjWrX4AbvEkoEhgAxzN0Xk6H/aYzXiYBAw==} + peerDependencies: + react: ^18 || ^19 + + '@tybys/wasm-util@0.10.2': + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} + + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + + '@types/estree@1.0.9': + resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/node@24.12.4': + resolution: {integrity: sha512-GUUEShf+PBCGW2KaXwcIt3Yk+e3pkKwWKb9GSyM9WQVE+ep2jzmHdGsHzu4wgcZy5fN9FBdVzjpBQsYlpfpgLA==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/react-dom@19.2.3': + resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} + peerDependencies: + '@types/react': ^19.2.0 + + '@types/react@19.2.15': + resolution: {integrity: sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==} + + '@typescript-eslint/eslint-plugin@8.60.0': + resolution: {integrity: sha512-QYb/sa74/s7OKMbACMjrYnGspj9Hs5YI5aaffSL65UfeBUzVzBJfVo3oWSpbzPurvm7yaCCo2Lk7lVj610HqKw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.60.0 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/parser@8.60.0': + resolution: {integrity: sha512-fcqpj/MyK4sxDPcbe7STNPbpQL4RLZOPWuaTmwZYuc+hJKzRf58yRxfhqGpc6PIq9ZyfSBpfHgmUHmHs0KwHwg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/project-service@8.60.0': + resolution: {integrity: sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/scope-manager@8.60.0': + resolution: {integrity: sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.60.0': + resolution: {integrity: sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/type-utils@8.60.0': + resolution: {integrity: sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/types@8.60.0': + resolution: {integrity: sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.60.0': + resolution: {integrity: sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/utils@8.60.0': + resolution: {integrity: sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/visitor-keys@8.60.0': + resolution: {integrity: sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitejs/plugin-react@6.0.2': + resolution: {integrity: sha512-DlSMqo4WhThw4vB8Mpn0Woe9J+Jfq1geJ61AKW0QEgLzGMNwtIMdxbDUzLxcun8W7NbJO0e2Jg/Nxm3cCSVzzg==} + engines: {node: ^20.19.0 || >=22.12.0} + peerDependencies: + '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 + babel-plugin-react-compiler: ^1.0.0 + vite: ^8.0.0 + peerDependenciesMeta: + '@rolldown/plugin-babel': + optional: true + babel-plugin-react-compiler: + optional: true + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + ajv@6.15.0: + resolution: {integrity: sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + axios@1.16.1: + resolution: {integrity: sha512-caYkukvroVPO8KrzuJEb50Hm07KwfBZPEC3VeFHTsqWHvKTsy54hjJz9BS/cdaypROE2rH6xvm9mHX4fgWkr3A==} + + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + baseline-browser-mapping@2.10.32: + resolution: {integrity: sha512-wbPvpyjJPC0zdfdKXxqEL3Ea+bOMD/87X4lftiJkkaBiuG6ALQy1SLmEd7BSmVCuwCQsBrCamgBoLyfFDD1EPg==} + engines: {node: '>=6.0.0'} + hasBin: true + + brace-expansion@5.0.6: + resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} + engines: {node: 18 || 20 || >=22} + + browserslist@4.28.2: + resolution: {integrity: sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + call-bind-apply-helpers@1.0.2: + resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + caniuse-lite@1.0.30001793: + resolution: {integrity: sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + cookie@1.1.1: + resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} + engines: {node: '>=18'} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} + engines: {node: '>= 0.4'} + + electron-to-chromium@1.5.361: + resolution: {integrity: sha512-Q6Hts7N9FnJc5LeGRINFvLhCI9xZmNtTDe5ZbcVezQz7cU4a8Aua3GH1b8J2XY8Al9PF+OCwYqhgsOOheMdvkA==} + + error-ex@1.3.4: + resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} + + es-define-property@1.0.1: + resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.1.2: + resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.1.0: + resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} + engines: {node: '>= 0.4'} + + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-plugin-react-hooks@7.1.1: + resolution: {integrity: sha512-f2I7Gw6JbvCexzIInuSbZpfdQ44D7iqdWX01FKLvrPgqxoE7oMj8clOfto8U6vYiz4yd5oKu39rRSVOe1zRu0g==} + engines: {node: '>=18'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 + + eslint-plugin-react-refresh@0.5.2: + resolution: {integrity: sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==} + peerDependencies: + eslint: ^9 || ^10 + + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@10.4.0: + resolution: {integrity: sha512-loXy6bWOoP3EP6JA7jo6p5jMpBJmHmsNZM5SFRHLdh1MGOPurMnNBj4ZlAbaqUAaQWbCr7jHV4P7gzAyryZWkQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@11.2.0: + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.4.2: + resolution: {integrity: sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==} + + follow-redirects@1.16.0: + resolution: {integrity: sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} + engines: {node: '>= 6'} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-intrinsic@1.3.0: + resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} + engines: {node: '>= 0.4'} + + get-proto@1.0.1: + resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} + engines: {node: '>= 0.4'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + globals@17.6.0: + resolution: {integrity: sha512-sepffkT8stwnIYbsMBpoCHJuJM5l98FUF2AnE07hfvE0m/qp3R586hw4jF4uadbhvg1ooIdzuu7CsfD2jzCaNA==} + engines: {node: '>=18'} + + gopd@1.2.0: + resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} + engines: {node: '>= 0.4'} + + has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hasown@2.0.3: + resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} + engines: {node: '>= 0.4'} + + hermes-estree@0.25.1: + resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==} + + hermes-parser@0.25.1: + resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + ignore@7.0.5: + resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} + engines: {node: '>= 4'} + + import-fresh@3.3.1: + resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-core-module@2.16.2: + resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + jsesc@3.1.0: + resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lightningcss-android-arm64@1.32.0: + resolution: {integrity: sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.32.0: + resolution: {integrity: sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.32.0: + resolution: {integrity: sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.32.0: + resolution: {integrity: sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.32.0: + resolution: {integrity: sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.32.0: + resolution: {integrity: sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.32.0: + resolution: {integrity: sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.32.0: + resolution: {integrity: sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.32.0: + resolution: {integrity: sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.32.0: + resolution: {integrity: sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.32.0: + resolution: {integrity: sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.32.0: + resolution: {integrity: sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==} + engines: {node: '>= 12.0.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + math-intrinsics@1.1.0: + resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} + engines: {node: '>= 0.4'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nanoid@3.3.12: + resolution: {integrity: sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + node-releases@2.0.46: + resolution: {integrity: sha512-GYVXHE2KnrzAfsAjl4uP++evGFCrAU1jta4ubEjIG7YWt/64Gqv66a30yKwWczVjA6j3bM4nBwH7Pk1JmDHaxQ==} + engines: {node: '>=18'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@4.0.4: + resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} + engines: {node: '>=12'} + + postcss@8.5.15: + resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==} + engines: {node: ^10 || ^12 || >=14} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + proxy-from-env@2.1.0: + resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==} + engines: {node: '>=10'} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + react-dom@19.2.6: + resolution: {integrity: sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==} + peerDependencies: + react: ^19.2.6 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-router@7.15.1: + resolution: {integrity: sha512-R8rl9HhgikFYoPJymnUtPXWbnDb3oget6lQnfIoupbt61aT9aOhRkDsY2XRhZRyX1Z/8a5sL74fXmFNm3NRK5A==} + engines: {node: '>=20.0.0'} + peerDependencies: + react: '>=18' + react-dom: '>=18' + peerDependenciesMeta: + react-dom: + optional: true + + react@19.2.6: + resolution: {integrity: sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve@1.22.12: + resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} + engines: {node: '>= 0.4'} + hasBin: true + + rolldown@1.0.2: + resolution: {integrity: sha512-oZx5zVDtVB44AW3eaifgDml1gWRDZGvjcfdxonE4swNPG98PrrXjaO/KrnUjzlMnztCCRVlUueA1kCXhARGk6g==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.8.1: + resolution: {integrity: sha512-rkVq3IXh+4FDGch+KwzX3aV9W3kO54GyEgpvBzSyctDA6Xtd7RJQV1xmXbeQp5v7+VzLOfVqiutSE6GICgPFvg==} + engines: {node: '>=10'} + hasBin: true + + set-cookie-parser@2.7.2: + resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + tinyglobby@0.2.16: + resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==} + engines: {node: '>=12.0.0'} + + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + typescript-eslint@8.60.0: + resolution: {integrity: sha512-9f65qWLZdAW9m1JaxBDUHcqRUfL8bkxxXL7XxEfI+F09q56PkBvIfCjLF3yInsDM/BBmwkqmCQdCZe/RYlIWEw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + typescript@6.0.3: + resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==} + engines: {node: '>=14.17'} + hasBin: true + + undici-types@7.16.0: + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} + + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + vite@8.0.14: + resolution: {integrity: sha512-s4BJJ+5y1pYL6Otw51FHhVJQhPnuRinKig64g/1+EUNaJsd3gCKdD31IPFvswUgW9/60QT9oFHbZHbQK5imcxw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.1.18 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml@1.10.3: + resolution: {integrity: sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==} + engines: {node: '>= 6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zod-validation-error@4.0.2: + resolution: {integrity: sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.25.0 || ^4.0.0 + + zod@4.4.3: + resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==} + +snapshots: + + '@babel/code-frame@7.29.7': + dependencies: + '@babel/helper-validator-identifier': 7.29.7 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.29.7': {} + + '@babel/core@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-compilation-targets': 7.29.7 + '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) + '@babel/helpers': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.29.7': + dependencies: + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.29.7': + dependencies: + '@babel/compat-data': 7.29.7 + '@babel/helper-validator-option': 7.29.7 + browserslist: 4.28.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.29.7': {} + + '@babel/helper-module-imports@7.29.7': + dependencies: + '@babel/traverse': 7.29.7 + '@babel/types': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)': + dependencies: + '@babel/core': 7.29.7 + '@babel/helper-module-imports': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + '@babel/traverse': 7.29.7 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.29.7': {} + + '@babel/helper-validator-identifier@7.29.7': {} + + '@babel/helper-validator-option@7.29.7': {} + + '@babel/helpers@7.29.7': + dependencies: + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/parser@7.29.7': + dependencies: + '@babel/types': 7.29.7 + + '@babel/runtime@7.29.7': {} + + '@babel/template@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/types': 7.29.7 + + '@babel/traverse@7.29.7': + dependencies: + '@babel/code-frame': 7.29.7 + '@babel/generator': 7.29.7 + '@babel/helper-globals': 7.29.7 + '@babel/parser': 7.29.7 + '@babel/template': 7.29.7 + '@babel/types': 7.29.7 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.29.7': + dependencies: + '@babel/helper-string-parser': 7.29.7 + '@babel/helper-validator-identifier': 7.29.7 + + '@emnapi/core@1.10.0': + dependencies: + '@emnapi/wasi-threads': 1.2.1 + tslib: 2.8.1 + optional: true + + '@emnapi/runtime@1.10.0': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.2.1': + dependencies: + tslib: 2.8.1 + optional: true + + '@emotion/babel-plugin@11.13.5': + dependencies: + '@babel/helper-module-imports': 7.29.7 + '@babel/runtime': 7.29.7 + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/serialize': 1.3.3 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + transitivePeerDependencies: + - supports-color + + '@emotion/cache@11.14.0': + dependencies: + '@emotion/memoize': 0.9.0 + '@emotion/sheet': 1.4.0 + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + stylis: 4.2.0 + + '@emotion/hash@0.9.2': {} + + '@emotion/is-prop-valid@1.4.0': + dependencies: + '@emotion/memoize': 0.9.0 + + '@emotion/memoize@0.9.0': {} + + '@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@emotion/babel-plugin': 11.13.5 + '@emotion/cache': 11.14.0 + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.6) + '@emotion/utils': 1.4.2 + '@emotion/weak-memoize': 0.4.0 + hoist-non-react-statics: 3.3.2 + react: 19.2.6 + optionalDependencies: + '@types/react': 19.2.15 + transitivePeerDependencies: + - supports-color + + '@emotion/serialize@1.3.3': + dependencies: + '@emotion/hash': 0.9.2 + '@emotion/memoize': 0.9.0 + '@emotion/unitless': 0.10.0 + '@emotion/utils': 1.4.2 + csstype: 3.2.3 + + '@emotion/sheet@1.4.0': {} + + '@emotion/styled@11.14.1(@emotion/react@11.14.0(@types/react@19.2.15)(react@19.2.6))(@types/react@19.2.15)(react@19.2.6)': + dependencies: + '@babel/runtime': 7.29.7 + '@emotion/babel-plugin': 11.13.5 + '@emotion/is-prop-valid': 1.4.0 + '@emotion/react': 11.14.0(@types/react@19.2.15)(react@19.2.6) + '@emotion/serialize': 1.3.3 + '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@19.2.6) + '@emotion/utils': 1.4.2 + react: 19.2.6 + optionalDependencies: + '@types/react': 19.2.15 + transitivePeerDependencies: + - supports-color + + '@emotion/unitless@0.10.0': {} + + '@emotion/use-insertion-effect-with-fallbacks@1.2.0(react@19.2.6)': + dependencies: + react: 19.2.6 + + '@emotion/utils@1.4.2': {} + + '@emotion/weak-memoize@0.4.0': {} + + '@eslint-community/eslint-utils@4.9.1(eslint@10.4.0)': + dependencies: + eslint: 10.4.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.12.2': {} + + '@eslint/config-array@0.23.5': + dependencies: + '@eslint/object-schema': 3.0.5 + debug: 4.4.3 + minimatch: 10.2.5 + transitivePeerDependencies: + - supports-color + + '@eslint/config-helpers@0.6.0': + dependencies: + '@eslint/core': 1.2.1 + + '@eslint/core@1.2.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/js@10.0.1(eslint@10.4.0)': + optionalDependencies: + eslint: 10.4.0 + + '@eslint/object-schema@3.0.5': {} + + '@eslint/plugin-kit@0.7.1': + dependencies: + '@eslint/core': 1.2.1 + levn: 0.4.1 + + '@humanfs/core@0.19.2': + dependencies: + '@humanfs/types': 0.15.0 + + '@humanfs/node@0.16.8': + dependencies: + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 + + '@humanfs/types@0.15.0': {} + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/retry@0.4.3': {} + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 + optional: true + + '@oxc-project/types@0.132.0': {} + + '@rolldown/binding-android-arm64@1.0.2': + optional: true + + '@rolldown/binding-darwin-arm64@1.0.2': + optional: true + + '@rolldown/binding-darwin-x64@1.0.2': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.2': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.2': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.2': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.2': + optional: true + + '@rolldown/binding-linux-ppc64-gnu@1.0.2': + optional: true + + '@rolldown/binding-linux-s390x-gnu@1.0.2': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.2': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.2': + optional: true + + '@rolldown/binding-openharmony-arm64@1.0.2': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.2': + dependencies: + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.2': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.2': + optional: true + + '@rolldown/pluginutils@1.0.1': {} + + '@tanstack/query-core@5.100.14': {} + + '@tanstack/react-query@5.100.14(react@19.2.6)': + dependencies: + '@tanstack/query-core': 5.100.14 + react: 19.2.6 + + '@tybys/wasm-util@0.10.2': + dependencies: + tslib: 2.8.1 + optional: true + + '@types/esrecurse@4.3.1': {} + + '@types/estree@1.0.9': {} + + '@types/json-schema@7.0.15': {} + + '@types/node@24.12.4': + dependencies: + undici-types: 7.16.0 + + '@types/parse-json@4.0.2': {} + + '@types/react-dom@19.2.3(@types/react@19.2.15)': + dependencies: + '@types/react': 19.2.15 + + '@types/react@19.2.15': + dependencies: + csstype: 3.2.3 + + '@typescript-eslint/eslint-plugin@8.60.0(@typescript-eslint/parser@8.60.0(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(typescript@6.0.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.60.0(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/type-utils': 8.60.0(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/utils': 8.60.0(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.60.0 + eslint: 10.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.60.0(eslint@10.4.0)(typescript@6.0.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.60.0 + debug: 4.4.3 + eslint: 10.4.0 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.60.0(typescript@6.0.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@6.0.3) + '@typescript-eslint/types': 8.60.0 + debug: 4.4.3 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@8.60.0': + dependencies: + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/visitor-keys': 8.60.0 + + '@typescript-eslint/tsconfig-utils@8.60.0(typescript@6.0.3)': + dependencies: + typescript: 6.0.3 + + '@typescript-eslint/type-utils@8.60.0(eslint@10.4.0)(typescript@6.0.3)': + dependencies: + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.60.0(eslint@10.4.0)(typescript@6.0.3) + debug: 4.4.3 + eslint: 10.4.0 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@8.60.0': {} + + '@typescript-eslint/typescript-estree@8.60.0(typescript@6.0.3)': + dependencies: + '@typescript-eslint/project-service': 8.60.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@6.0.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/visitor-keys': 8.60.0 + debug: 4.4.3 + minimatch: 10.2.5 + semver: 7.8.1 + tinyglobby: 0.2.16 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.60.0(eslint@10.4.0)(typescript@6.0.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@6.0.3) + eslint: 10.4.0 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@8.60.0': + dependencies: + '@typescript-eslint/types': 8.60.0 + eslint-visitor-keys: 5.0.1 + + '@vitejs/plugin-react@6.0.2(vite@8.0.14(@types/node@24.12.4))': + dependencies: + '@rolldown/pluginutils': 1.0.1 + vite: 8.0.14(@types/node@24.12.4) + + acorn-jsx@5.3.2(acorn@8.16.0): + dependencies: + acorn: 8.16.0 + + acorn@8.16.0: {} + + agent-base@6.0.2: + dependencies: + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + ajv@6.15.0: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + asynckit@0.4.0: {} + + axios@1.16.1: + dependencies: + follow-redirects: 1.16.0 + form-data: 4.0.5 + https-proxy-agent: 5.0.1 + proxy-from-env: 2.1.0 + transitivePeerDependencies: + - debug + - supports-color + + babel-plugin-macros@3.1.0: + dependencies: + '@babel/runtime': 7.29.7 + cosmiconfig: 7.1.0 + resolve: 1.22.12 + + balanced-match@4.0.4: {} + + baseline-browser-mapping@2.10.32: {} + + brace-expansion@5.0.6: + dependencies: + balanced-match: 4.0.4 + + browserslist@4.28.2: + dependencies: + baseline-browser-mapping: 2.10.32 + caniuse-lite: 1.0.30001793 + electron-to-chromium: 1.5.361 + node-releases: 2.0.46 + update-browserslist-db: 1.2.3(browserslist@4.28.2) + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + callsites@3.1.0: {} + + caniuse-lite@1.0.30001793: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + convert-source-map@1.9.0: {} + + convert-source-map@2.0.0: {} + + cookie@1.1.1: {} + + cosmiconfig@7.1.0: + dependencies: + '@types/parse-json': 4.0.2 + import-fresh: 3.3.1 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.3 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + csstype@3.2.3: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + deep-is@0.1.4: {} + + delayed-stream@1.0.0: {} + + detect-libc@2.1.2: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + electron-to-chromium@1.5.361: {} + + error-ex@1.3.4: + dependencies: + is-arrayish: 0.2.1 + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-object-atoms@1.1.2: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.1.0: + dependencies: + es-errors: 1.3.0 + get-intrinsic: 1.3.0 + has-tostringtag: 1.0.2 + hasown: 2.0.3 + + escalade@3.2.0: {} + + escape-string-regexp@4.0.0: {} + + eslint-plugin-react-hooks@7.1.1(eslint@10.4.0): + dependencies: + '@babel/core': 7.29.7 + '@babel/parser': 7.29.7 + eslint: 10.4.0 + hermes-parser: 0.25.1 + zod: 4.4.3 + zod-validation-error: 4.0.2(zod@4.4.3) + transitivePeerDependencies: + - supports-color + + eslint-plugin-react-refresh@0.5.2(eslint@10.4.0): + dependencies: + eslint: 10.4.0 + + eslint-scope@9.1.2: + dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.9 + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint-visitor-keys@5.0.1: {} + + eslint@10.4.0: + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.4.0) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.6.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.1 + '@humanfs/node': 0.16.8 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.9 + ajv: 6.15.0 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + minimatch: 10.2.5 + natural-compare: 1.4.0 + optionator: 0.9.4 + transitivePeerDependencies: + - supports-color + + espree@11.2.0: + dependencies: + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 5.0.1 + + esquery@1.7.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + fast-deep-equal@3.1.3: {} + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fdir@6.5.0(picomatch@4.0.4): + optionalDependencies: + picomatch: 4.0.4 + + file-entry-cache@8.0.0: + dependencies: + flat-cache: 4.0.1 + + find-root@1.1.0: {} + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + flat-cache@4.0.1: + dependencies: + flatted: 3.4.2 + keyv: 4.5.4 + + flatted@3.4.2: {} + + follow-redirects@1.16.0: {} + + form-data@4.0.5: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + es-set-tostringtag: 2.1.0 + hasown: 2.0.3 + mime-types: 2.1.35 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + gensync@1.0.0-beta.2: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.2 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.3 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.2 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + globals@17.6.0: {} + + gopd@1.2.0: {} + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.3: + dependencies: + function-bind: 1.1.2 + + hermes-estree@0.25.1: {} + + hermes-parser@0.25.1: + dependencies: + hermes-estree: 0.25.1 + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + https-proxy-agent@5.0.1: + dependencies: + agent-base: 6.0.2 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + ignore@5.3.2: {} + + ignore@7.0.5: {} + + import-fresh@3.3.1: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + is-arrayish@0.2.1: {} + + is-core-module@2.16.2: + dependencies: + hasown: 2.0.3 + + is-extglob@2.1.1: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + isexe@2.0.0: {} + + js-tokens@4.0.0: {} + + jsesc@3.1.0: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lightningcss-android-arm64@1.32.0: + optional: true + + lightningcss-darwin-arm64@1.32.0: + optional: true + + lightningcss-darwin-x64@1.32.0: + optional: true + + lightningcss-freebsd-x64@1.32.0: + optional: true + + lightningcss-linux-arm-gnueabihf@1.32.0: + optional: true + + lightningcss-linux-arm64-gnu@1.32.0: + optional: true + + lightningcss-linux-arm64-musl@1.32.0: + optional: true + + lightningcss-linux-x64-gnu@1.32.0: + optional: true + + lightningcss-linux-x64-musl@1.32.0: + optional: true + + lightningcss-win32-arm64-msvc@1.32.0: + optional: true + + lightningcss-win32-x64-msvc@1.32.0: + optional: true + + lightningcss@1.32.0: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.32.0 + lightningcss-darwin-arm64: 1.32.0 + lightningcss-darwin-x64: 1.32.0 + lightningcss-freebsd-x64: 1.32.0 + lightningcss-linux-arm-gnueabihf: 1.32.0 + lightningcss-linux-arm64-gnu: 1.32.0 + lightningcss-linux-arm64-musl: 1.32.0 + lightningcss-linux-x64-gnu: 1.32.0 + lightningcss-linux-x64-musl: 1.32.0 + lightningcss-win32-arm64-msvc: 1.32.0 + lightningcss-win32-x64-msvc: 1.32.0 + + lines-and-columns@1.2.4: {} + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + math-intrinsics@1.1.0: {} + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + minimatch@10.2.5: + dependencies: + brace-expansion: 5.0.6 + + ms@2.1.3: {} + + nanoid@3.3.12: {} + + natural-compare@1.4.0: {} + + node-releases@2.0.46: {} + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.29.7 + error-ex: 1.3.4 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-type@4.0.0: {} + + picocolors@1.1.1: {} + + picomatch@4.0.4: {} + + postcss@8.5.15: + dependencies: + nanoid: 3.3.12 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prelude-ls@1.2.1: {} + + proxy-from-env@2.1.0: {} + + punycode@2.3.1: {} + + react-dom@19.2.6(react@19.2.6): + dependencies: + react: 19.2.6 + scheduler: 0.27.0 + + react-is@16.13.1: {} + + react-router@7.15.1(react-dom@19.2.6(react@19.2.6))(react@19.2.6): + dependencies: + cookie: 1.1.1 + react: 19.2.6 + set-cookie-parser: 2.7.2 + optionalDependencies: + react-dom: 19.2.6(react@19.2.6) + + react@19.2.6: {} + + resolve-from@4.0.0: {} + + resolve@1.22.12: + dependencies: + es-errors: 1.3.0 + is-core-module: 2.16.2 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + rolldown@1.0.2: + dependencies: + '@oxc-project/types': 0.132.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm64': 1.0.2 + '@rolldown/binding-darwin-arm64': 1.0.2 + '@rolldown/binding-darwin-x64': 1.0.2 + '@rolldown/binding-freebsd-x64': 1.0.2 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.2 + '@rolldown/binding-linux-arm64-gnu': 1.0.2 + '@rolldown/binding-linux-arm64-musl': 1.0.2 + '@rolldown/binding-linux-ppc64-gnu': 1.0.2 + '@rolldown/binding-linux-s390x-gnu': 1.0.2 + '@rolldown/binding-linux-x64-gnu': 1.0.2 + '@rolldown/binding-linux-x64-musl': 1.0.2 + '@rolldown/binding-openharmony-arm64': 1.0.2 + '@rolldown/binding-wasm32-wasi': 1.0.2 + '@rolldown/binding-win32-arm64-msvc': 1.0.2 + '@rolldown/binding-win32-x64-msvc': 1.0.2 + + scheduler@0.27.0: {} + + semver@6.3.1: {} + + semver@7.8.1: {} + + set-cookie-parser@2.7.2: {} + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + source-map-js@1.2.1: {} + + source-map@0.5.7: {} + + stylis@4.2.0: {} + + supports-preserve-symlinks-flag@1.0.0: {} + + tinyglobby@0.2.16: + dependencies: + fdir: 6.5.0(picomatch@4.0.4) + picomatch: 4.0.4 + + ts-api-utils@2.5.0(typescript@6.0.3): + dependencies: + typescript: 6.0.3 + + tslib@2.8.1: + optional: true + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + typescript-eslint@8.60.0(eslint@10.4.0)(typescript@6.0.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.60.0(@typescript-eslint/parser@8.60.0(eslint@10.4.0)(typescript@6.0.3))(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/parser': 8.60.0(eslint@10.4.0)(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.60.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.60.0(eslint@10.4.0)(typescript@6.0.3) + eslint: 10.4.0 + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + typescript@6.0.3: {} + + undici-types@7.16.0: {} + + update-browserslist-db@1.2.3(browserslist@4.28.2): + dependencies: + browserslist: 4.28.2 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + vite@8.0.14(@types/node@24.12.4): + dependencies: + lightningcss: 1.32.0 + picomatch: 4.0.4 + postcss: 8.5.15 + rolldown: 1.0.2 + tinyglobby: 0.2.16 + optionalDependencies: + '@types/node': 24.12.4 + fsevents: 2.3.3 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.5: {} + + yallist@3.1.1: {} + + yaml@1.10.3: {} + + yocto-queue@0.1.0: {} + + zod-validation-error@4.0.2(zod@4.4.3): + dependencies: + zod: 4.4.3 + + zod@4.4.3: {} diff --git a/Week6/Homework/tanstack-project/src/App.tsx b/Week6/Homework/tanstack-project/src/App.tsx new file mode 100644 index 0000000..4342851 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/App.tsx @@ -0,0 +1,8 @@ +import { RouterProvider } from "react-router"; +import router from "./router/Router"; + +const App = () => { + return ; +}; + +export default App; diff --git a/Week6/Homework/tanstack-project/src/main.tsx b/Week6/Homework/tanstack-project/src/main.tsx new file mode 100644 index 0000000..5f51046 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/main.tsx @@ -0,0 +1,16 @@ +import { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; + +import App from "./App.tsx"; +import GlobalStyle from "./styles/GlobalStyle.tsx"; +import { ThemeProvider } from "@emotion/react"; +import theme from "./styles/theme"; + +createRoot(document.getElementById("root")!).render( + + + + + + , +); diff --git a/Week6/Homework/tanstack-project/src/pages/home/Home.tsx b/Week6/Homework/tanstack-project/src/pages/home/Home.tsx new file mode 100644 index 0000000..9c93961 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/pages/home/Home.tsx @@ -0,0 +1,5 @@ +const Home = () => { + return
Movie Explorer
; +}; + +export default Home; diff --git a/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx b/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx new file mode 100644 index 0000000..ab1a767 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx @@ -0,0 +1,5 @@ +const PostDetail = () => { + return
상세페이지
; +}; + +export default PostDetail; diff --git a/Week6/Homework/tanstack-project/src/router/Router.tsx b/Week6/Homework/tanstack-project/src/router/Router.tsx new file mode 100644 index 0000000..f0aa0cb --- /dev/null +++ b/Week6/Homework/tanstack-project/src/router/Router.tsx @@ -0,0 +1,10 @@ +import { createBrowserRouter } from "react-router"; +import Home from "../pages/home/Home"; +import PostDetail from "../pages/postDetail/PostDetail"; + +const router = createBrowserRouter([ + { path: "/", Component: Home }, + { path: "/:postId", Component: PostDetail }, +]); + +export default router; diff --git a/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx b/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx new file mode 100644 index 0000000..f2d7c2e --- /dev/null +++ b/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx @@ -0,0 +1,22 @@ +import { css, Global, useTheme } from "@emotion/react"; + +const GlobalStyle = () => { + const theme = useTheme(); + + return ( + + ); +}; + +export default GlobalStyle; diff --git a/Week6/Homework/tanstack-project/src/styles/emotion.d.ts b/Week6/Homework/tanstack-project/src/styles/emotion.d.ts new file mode 100644 index 0000000..d727cf9 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/styles/emotion.d.ts @@ -0,0 +1,11 @@ +import "@emotion/react"; +import type { CustomTheme } from "./theme"; + +declare module "@emotion/react" { + export interface Theme { + colors: CustomTheme["colors"]; + fontSizes: CustomTheme["fontSizes"]; + fontWeights: CustomTheme["fontWeights"]; + radius: CustomTheme["radius"]; + } +} diff --git a/Week6/Homework/tanstack-project/src/styles/theme.ts b/Week6/Homework/tanstack-project/src/styles/theme.ts new file mode 100644 index 0000000..b97b578 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/styles/theme.ts @@ -0,0 +1,52 @@ +const theme = { + colors: { + // background + background: "#F3F4F6", // 전체 페이지 배경 + surfaceMuted: "#F9FAFB", // input, select, hover 배경 + + // text + textPrimary: "#111827", // 제목, 중요한 텍스트 + textSecondary: "#374151", // 일반 본문 + textMuted: "#6B7280", // 날짜, 설명, 보조 정보 + textLight: "#9CA3AF", // placeholder, 약한 텍스트 + + // border + border: "#E5E7EB", // 카드, input, 태그 border + borderLight: "#F0F0F0", // 내부 구분선 + + // button + buttonPrimary: "#111827", // 리뷰 남기기 버튼 + buttonPrimaryHover: "#1F2937", + + // state + error: "#EF4444", + + // common + black: "#000000", + white: "#FFFFFF", + }, + + fontSizes: { + xs: "1.2rem", // 태그, 날짜, 부가 정보 + sm: "1.4rem", // 카드 설명, 본문 + md: "1.6rem", // 기본 텍스트 + lg: "2rem", // 섹션 제목 + xl: "2.8rem", // 페이지 제목, 영화 상세 제목 + }, + + fontWeights: { + regular: 400, + medium: 500, + bold: 700, + }, + + radius: { + sm: "0.6rem", // 버튼, 태그, input + md: "1rem", // 카드 + lg: "1.6rem", // 큰 섹션 박스 + }, +}; + +export default theme; + +export type CustomTheme = typeof theme; diff --git a/Week6/Homework/tanstack-project/tsconfig.app.json b/Week6/Homework/tanstack-project/tsconfig.app.json new file mode 100644 index 0000000..3da013a --- /dev/null +++ b/Week6/Homework/tanstack-project/tsconfig.app.json @@ -0,0 +1,39 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023", "DOM"], + "module": "esnext", + "types": ["vite/client"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true, + + /* Path Alias */ + "paths": { + "@/*": ["./src/*"], + "@apis/*": ["./src/apis/*"], + "@assets/*": ["./src/assets/*"], + "@components/*": ["./src/components/*"], + "@hooks/*": ["./src/hooks/*"], + "@pages/*": ["./src/pages/*"], + "@styles/*": ["./src/styles/*"], + "@types/*": ["./src/types/*"], + "@utils/*": ["./src/utils/*"], + "@common/*": ["./src/components/common/*"] + } + }, + "include": ["src"] +} diff --git a/Week6/Homework/tanstack-project/tsconfig.json b/Week6/Homework/tanstack-project/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/Week6/Homework/tanstack-project/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/Week6/Homework/tanstack-project/tsconfig.node.json b/Week6/Homework/tanstack-project/tsconfig.node.json new file mode 100644 index 0000000..d3c52ea --- /dev/null +++ b/Week6/Homework/tanstack-project/tsconfig.node.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023"], + "module": "esnext", + "types": ["node"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["vite.config.ts"] +} diff --git a/Week6/Homework/tanstack-project/vite.config.ts b/Week6/Homework/tanstack-project/vite.config.ts new file mode 100644 index 0000000..c0cb6ff --- /dev/null +++ b/Week6/Homework/tanstack-project/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vite"; +import react from "@vitejs/plugin-react"; +import path from "node:path"; + +// https://vite.dev/config/ +export default defineConfig({ + plugins: [react()], + resolve: { + alias: { + "@": path.resolve(__dirname, "./src"), + "@apis": path.resolve(__dirname, "./src/apis"), + "@assets": path.resolve(__dirname, "./src/assets"), + "@components": path.resolve(__dirname, "./src/components"), + "@hooks": path.resolve(__dirname, "./src/hooks"), + "@pages": path.resolve(__dirname, "./src/pages"), + "@styles": path.resolve(__dirname, "./src/styles"), + "@types": path.resolve(__dirname, "./src/types"), + "@utils": path.resolve(__dirname, "./src/utils"), + "@common": path.resolve(__dirname, "./src/components/common"), + }, + }, +}); From 39f16208d5d185db27afa1479baf8cbafcd2ce9d Mon Sep 17 00:00:00 2001 From: Jina Date: Thu, 28 May 2026 15:47:22 +0900 Subject: [PATCH 2/7] =?UTF-8?q?feat:=20=ED=99=88=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20ui=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tanstack-project/src/App.styles.ts | 7 +++ Week6/Homework/tanstack-project/src/App.tsx | 7 ++- .../src/assets/images/exImg.jpg | Bin 0 -> 211080 bytes .../home/cardList/CardList.styles.ts | 8 +++ .../src/components/home/cardList/CardList.tsx | 18 +++++++ .../home/cardList/postCard/PostCard.styles.ts | 46 ++++++++++++++++++ .../home/cardList/postCard/PostCard.tsx | 21 ++++++++ Week6/Homework/tanstack-project/src/main.tsx | 4 +- .../src/pages/home/Home.styles.ts | 26 ++++++++++ .../tanstack-project/src/pages/home/Home.tsx | 22 ++++++++- .../tanstack-project/src/router/Router.tsx | 4 +- .../src/styles/GlobalStyle.tsx | 14 ++++++ .../tanstack-project/src/styles/theme.ts | 9 ++-- 13 files changed, 175 insertions(+), 11 deletions(-) create mode 100644 Week6/Homework/tanstack-project/src/App.styles.ts create mode 100644 Week6/Homework/tanstack-project/src/assets/images/exImg.jpg create mode 100644 Week6/Homework/tanstack-project/src/components/home/cardList/CardList.styles.ts create mode 100644 Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx create mode 100644 Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.styles.ts create mode 100644 Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.tsx create mode 100644 Week6/Homework/tanstack-project/src/pages/home/Home.styles.ts diff --git a/Week6/Homework/tanstack-project/src/App.styles.ts b/Week6/Homework/tanstack-project/src/App.styles.ts new file mode 100644 index 0000000..865ac04 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/App.styles.ts @@ -0,0 +1,7 @@ +import styled from "@emotion/styled"; + +export const AppContainer = styled.main` + width: 100%; + max-width: 900px; + margin: 20px auto; +`; diff --git a/Week6/Homework/tanstack-project/src/App.tsx b/Week6/Homework/tanstack-project/src/App.tsx index 4342851..050c35b 100644 --- a/Week6/Homework/tanstack-project/src/App.tsx +++ b/Week6/Homework/tanstack-project/src/App.tsx @@ -1,8 +1,13 @@ import { RouterProvider } from "react-router"; import router from "./router/Router"; +import * as S from "./App.styles"; const App = () => { - return ; + return ( + + ; + + ); }; export default App; diff --git a/Week6/Homework/tanstack-project/src/assets/images/exImg.jpg b/Week6/Homework/tanstack-project/src/assets/images/exImg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19b7225ea80effc78036e2b3d68f8e22387cbc55 GIT binary patch literal 211080 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�!~E~nsq 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 z%0D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�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 literal 0 HcmV?d00001 diff --git a/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.styles.ts b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.styles.ts new file mode 100644 index 0000000..21e4ea5 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.styles.ts @@ -0,0 +1,8 @@ +import styled from "@emotion/styled"; + +export const Container = styled.div` + width: 100%; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 16px; +`; diff --git a/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx new file mode 100644 index 0000000..a356523 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx @@ -0,0 +1,18 @@ +import * as S from "./CardList.styles"; +import PostCard from "./postCard/PostCard"; + +const CardList = () => { + return ( + + + + + + + + + + ); +}; + +export default CardList; diff --git a/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.styles.ts b/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.styles.ts new file mode 100644 index 0000000..f2933c7 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.styles.ts @@ -0,0 +1,46 @@ +import theme from "@/styles/theme"; +import styled from "@emotion/styled"; +import { Link } from "react-router"; + +export const Container = styled.article` + overflow: hidden; + background-color: ${theme.colors.white}; + border-radius: ${theme.radius.md}; + width: 100%; + height: 400px; +`; + +export const CardLink = styled(Link)` + display: flex; + flex-direction: column; + width: 100%; + height: 100%; +`; + +export const ImgContainer = styled.img` + display: block; + width: 100%; + height: 250px; + object-fit: cover; +`; + +export const TextContainer = styled.div` + display: flex; + flex-direction: column; + padding: 10px; + gap: 10px; +`; + +export const Title = styled.h2` + font-size: ${theme.fontSizes.md}; +`; + +export const Date = styled.p` + font-size: ${theme.fontSizes.sm}; + color: ${theme.colors.textSecondary}; +`; + +export const Summary = styled.p` + font-size: ${theme.fontSizes.sm}; + color: ${theme.colors.textSecondary}; +`; diff --git a/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.tsx b/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.tsx new file mode 100644 index 0000000..e229f86 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.tsx @@ -0,0 +1,21 @@ +import * as S from "./PostCard.styles"; +import EXImg from "@assets/images/exImg.jpg"; + +const PostCard = () => { + const postId = 1; + + return ( + + + + + 프로젝트 + 날짜 + 요약본머라머라 + + + + ); +}; + +export default PostCard; diff --git a/Week6/Homework/tanstack-project/src/main.tsx b/Week6/Homework/tanstack-project/src/main.tsx index 5f51046..0ec5580 100644 --- a/Week6/Homework/tanstack-project/src/main.tsx +++ b/Week6/Homework/tanstack-project/src/main.tsx @@ -2,9 +2,9 @@ import { StrictMode } from "react"; import { createRoot } from "react-dom/client"; import App from "./App.tsx"; -import GlobalStyle from "./styles/GlobalStyle.tsx"; import { ThemeProvider } from "@emotion/react"; -import theme from "./styles/theme"; +import GlobalStyle from "@styles/GlobalStyle.tsx"; +import theme from "@styles/theme.ts"; createRoot(document.getElementById("root")!).render( diff --git a/Week6/Homework/tanstack-project/src/pages/home/Home.styles.ts b/Week6/Homework/tanstack-project/src/pages/home/Home.styles.ts new file mode 100644 index 0000000..cb5deb1 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/pages/home/Home.styles.ts @@ -0,0 +1,26 @@ +import theme from "@/styles/theme"; +import styled from "@emotion/styled"; + +export const Container = styled.div` + display: flex; + flex-direction: column; + gap: 20px; +`; + +export const FilterBar = styled.div` + background-color: white; + border: 2px solid ${theme.colors.borderLight}; + border-radius: ${theme.radius.md}; + display: flex; + align-items: center; + padding: 15px; +`; + +export const RatingSelect = styled.select` + width: 120px; + border: 2px solid ${theme.colors.border}; + border-radius: ${theme.radius.sm}; + padding: 8px 10px; + color: ${theme.colors.textSecondary}; + font-weight: ${theme.fontWeights.medium}; +`; diff --git a/Week6/Homework/tanstack-project/src/pages/home/Home.tsx b/Week6/Homework/tanstack-project/src/pages/home/Home.tsx index 9c93961..fd40b97 100644 --- a/Week6/Homework/tanstack-project/src/pages/home/Home.tsx +++ b/Week6/Homework/tanstack-project/src/pages/home/Home.tsx @@ -1,5 +1,25 @@ +import CardList from "@/components/home/cardList/CardList"; +import * as S from "./Home.styles"; + const Home = () => { - return
Movie Explorer
; + const ratingOptions = Array.from({ length: 10 }, (_, index) => index + 1); + + return ( + +

Movie Explorer

+ + + + {ratingOptions.map((rating) => ( + + ))} + + + +
+ ); }; export default Home; diff --git a/Week6/Homework/tanstack-project/src/router/Router.tsx b/Week6/Homework/tanstack-project/src/router/Router.tsx index f0aa0cb..dc7d412 100644 --- a/Week6/Homework/tanstack-project/src/router/Router.tsx +++ b/Week6/Homework/tanstack-project/src/router/Router.tsx @@ -1,6 +1,6 @@ +import Home from "@/pages/home/Home"; +import PostDetail from "@/pages/postDetail/PostDetail"; import { createBrowserRouter } from "react-router"; -import Home from "../pages/home/Home"; -import PostDetail from "../pages/postDetail/PostDetail"; const router = createBrowserRouter([ { path: "/", Component: Home }, diff --git a/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx b/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx index f2d7c2e..9c1e0e5 100644 --- a/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx +++ b/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx @@ -9,11 +9,25 @@ const GlobalStyle = () => { body { background-color: ${theme.colors.background}; } + *, *::before, *::after { box-sizing: border-box; } + + body, + h1, + h2, + p { + margin: 0; + padding: 0; + } + + a { + color: inherit; + text-decoration: none; + } `} /> ); diff --git a/Week6/Homework/tanstack-project/src/styles/theme.ts b/Week6/Homework/tanstack-project/src/styles/theme.ts index b97b578..5018a86 100644 --- a/Week6/Homework/tanstack-project/src/styles/theme.ts +++ b/Week6/Homework/tanstack-project/src/styles/theme.ts @@ -27,11 +27,10 @@ const theme = { }, fontSizes: { - xs: "1.2rem", // 태그, 날짜, 부가 정보 - sm: "1.4rem", // 카드 설명, 본문 - md: "1.6rem", // 기본 텍스트 - lg: "2rem", // 섹션 제목 - xl: "2.8rem", // 페이지 제목, 영화 상세 제목 + sm: "0.8rem", + md: "1.0rem", + lg: "1.6rem", + xl: "2rem", }, fontWeights: { From dc20b365609dad704c3635ed01229005f7912ccc Mon Sep 17 00:00:00 2001 From: Jina Date: Thu, 28 May 2026 18:08:17 +0900 Subject: [PATCH 3/7] =?UTF-8?q?feat:=20=EC=98=81=ED=99=94=20=EC=83=81?= =?UTF-8?q?=EC=84=B8=ED=8E=98=EC=9D=B4=EC=A7=80=20ui=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tanstack-project/src/App.styles.ts | 2 +- Week6/Homework/tanstack-project/src/App.tsx | 2 +- .../contentBox/ContentBox.styles.ts | 16 ++++ .../postDetail/contentBox/ContentBox.tsx | 18 ++++ .../postInfoSection/PostInfoSection.styles.ts | 25 +++++ .../postInfoSection/PostInfoSection.tsx | 28 ++++++ .../PostRatingSection.styles.ts | 39 ++++++++ .../postRatingSection/PostRatingSection.tsx | 19 ++++ .../PostStorySection.styles.ts | 7 ++ .../postStorySection/PostStorySection.tsx | 15 +++ .../postmainSection/PostMainSection.styles.ts | 92 +++++++++++++++++++ .../postmainSection/PostMainSection.tsx | 41 +++++++++ .../src/pages/postDetail/PostDetail.styles.ts | 22 +++++ .../src/pages/postDetail/PostDetail.tsx | 18 +++- .../src/styles/GlobalStyle.tsx | 23 ++++- 15 files changed, 363 insertions(+), 4 deletions(-) create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/contentBox/ContentBox.styles.ts create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/contentBox/ContentBox.tsx create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.styles.ts create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.tsx create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.styles.ts create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.tsx create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.styles.ts create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.tsx create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.styles.ts create mode 100644 Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.tsx create mode 100644 Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.styles.ts diff --git a/Week6/Homework/tanstack-project/src/App.styles.ts b/Week6/Homework/tanstack-project/src/App.styles.ts index 865ac04..3d1c68c 100644 --- a/Week6/Homework/tanstack-project/src/App.styles.ts +++ b/Week6/Homework/tanstack-project/src/App.styles.ts @@ -3,5 +3,5 @@ import styled from "@emotion/styled"; export const AppContainer = styled.main` width: 100%; max-width: 900px; - margin: 20px auto; + margin: 30px auto; `; diff --git a/Week6/Homework/tanstack-project/src/App.tsx b/Week6/Homework/tanstack-project/src/App.tsx index 050c35b..4e1da1b 100644 --- a/Week6/Homework/tanstack-project/src/App.tsx +++ b/Week6/Homework/tanstack-project/src/App.tsx @@ -5,7 +5,7 @@ import * as S from "./App.styles"; const App = () => { return ( - ; + ); }; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/contentBox/ContentBox.styles.ts b/Week6/Homework/tanstack-project/src/components/postDetail/contentBox/ContentBox.styles.ts new file mode 100644 index 0000000..3812237 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/contentBox/ContentBox.styles.ts @@ -0,0 +1,16 @@ +import theme from "@/styles/theme"; +import styled from "@emotion/styled"; + +export const Container = styled.section` + display: flex; + flex-direction: column; + background-color: ${theme.colors.white}; + border-radius: ${theme.radius.lg}; + padding: 20px; +`; + +export const Title = styled.h2` + margin-bottom: 14px; + font-size: ${theme.fontSizes.md}; + font-weight: ${theme.fontWeights.bold}; +`; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/contentBox/ContentBox.tsx b/Week6/Homework/tanstack-project/src/components/postDetail/contentBox/ContentBox.tsx new file mode 100644 index 0000000..8932e67 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/contentBox/ContentBox.tsx @@ -0,0 +1,18 @@ +import type { ReactNode } from "react"; +import * as S from "./ContentBox.styles"; + +interface ContentBoxProps { + title?: string; + children: ReactNode; +} + +const ContentBox = ({ title, children }: ContentBoxProps) => { + return ( + + {title && {title}} + {children} + + ); +}; + +export default ContentBox; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.styles.ts b/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.styles.ts new file mode 100644 index 0000000..06d43e6 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.styles.ts @@ -0,0 +1,25 @@ +import theme from "@/styles/theme"; +import styled from "@emotion/styled"; + +export const List = styled.dl` + display: flex; + flex-direction: column; +`; + +export const Item = styled.div` + display: grid; + grid-template-columns: 100px 1fr; + padding: 8px 0; + border-bottom: 1px solid ${theme.colors.borderLight}; +`; + +export const Label = styled.dt` + color: ${theme.colors.textMuted}; + font-size: ${theme.fontSizes.sm}; +`; + +export const Value = styled.dd` + margin: 0; + color: ${theme.colors.textPrimary}; + font-size: ${theme.fontSizes.sm}; +`; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.tsx b/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.tsx new file mode 100644 index 0000000..5bd991d --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.tsx @@ -0,0 +1,28 @@ +import ContentBox from "@/components/postDetail/contentBox/ContentBox"; +import * as S from "./PostInfoSection.styles"; + +const infoItems = [ + { label: "원제", value: "The Super Mario Galaxy Movie" }, + { label: "언어", value: "en" }, + { label: "제작 국가", value: "Japan, United States of America" }, + { label: "상태", value: "Released" }, + { label: "예산", value: "US$100,000,000" }, + { label: "수익", value: "US$897,444,200" }, +]; + +const PostInfoSection = () => { + return ( + + + {infoItems.map(({ label, value }) => ( + + {label} + {value} + + ))} + + + ); +}; + +export default PostInfoSection; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.styles.ts b/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.styles.ts new file mode 100644 index 0000000..d866559 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.styles.ts @@ -0,0 +1,39 @@ +import theme from "@/styles/theme"; +import styled from "@emotion/styled"; + +export const Form = styled.form` + display: flex; + flex-direction: column; + gap: 10px; +`; + +export const Label = styled.label` + color: ${theme.colors.textSecondary}; + font-size: ${theme.fontSizes.sm}; + font-weight: ${theme.fontWeights.medium}; +`; + +export const Input = styled.input` + border: 1px solid ${theme.colors.border}; + border-radius: ${theme.radius.sm}; + padding: 10px; +`; + +export const ButtonGroup = styled.div` + display: flex; + gap: 8px; +`; + +export const SubmitButton = styled.button` + border-radius: ${theme.radius.sm}; + background-color: ${theme.colors.buttonPrimary}; + color: ${theme.colors.white}; + padding: 8px 12px; +`; + +export const DeleteButton = styled.button` + border-radius: ${theme.radius.sm}; + background-color: ${theme.colors.surfaceMuted}; + color: ${theme.colors.textSecondary}; + padding: 8px 12px; +`; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.tsx b/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.tsx new file mode 100644 index 0000000..ecf9ae4 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.tsx @@ -0,0 +1,19 @@ +import ContentBox from "@/components/postDetail/contentBox/ContentBox"; +import * as S from "./PostRatingSection.styles"; + +const PostRatingSection = () => { + return ( + + + 0.5 ~ 10.0 + + + 별점 남기기 + 별점 삭제하기 + + + + ); +}; + +export default PostRatingSection; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.styles.ts b/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.styles.ts new file mode 100644 index 0000000..6714710 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.styles.ts @@ -0,0 +1,7 @@ +import theme from "@/styles/theme"; +import styled from "@emotion/styled"; + +export const Description = styled.p` + color: ${theme.colors.textSecondary}; + font-size: ${theme.fontSizes.sm}; +`; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.tsx b/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.tsx new file mode 100644 index 0000000..770b605 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.tsx @@ -0,0 +1,15 @@ +import ContentBox from "@/components/postDetail/contentBox/ContentBox"; +import * as S from "./PostStorySection.styles"; + +const PostStorySection = () => { + return ( + + + 영화 줄거리 내용이 들어갈 영역입니다. 나중에 API 데이터가 연결되면 이 + 문장을 실제 overview 값으로 교체하면 됩니다. + + + ); +}; + +export default PostStorySection; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.styles.ts b/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.styles.ts new file mode 100644 index 0000000..5f8848c --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.styles.ts @@ -0,0 +1,92 @@ +import theme from "@/styles/theme"; +import styled from "@emotion/styled"; + +export const Container = styled.section` + overflow: hidden; + background-color: ${theme.colors.white}; + border-radius: ${theme.radius.lg}; +`; + +export const MainImg = styled.img` + display: block; + width: 100%; + height: 350px; + object-fit: cover; +`; + +export const Info = styled.div` + display: flex; + gap: 25px; + padding: 25px; +`; + +export const PosterImg = styled.img` + display: block; + width: 230px; + height: 350px; + border-radius: ${theme.radius.md}; + object-fit: cover; +`; + +export const TextInfo = styled.div` + flex: 1; + display: flex; + flex-direction: column; + justify-content: flex-start; + gap: 15px; + min-width: 0; +`; + +export const Date = styled.p` + color: ${theme.colors.textMuted}; + font-size: ${theme.fontSizes.sm}; + font-weight: ${theme.fontWeights.bold}; +`; + +export const Title = styled.h1` + color: ${theme.colors.textPrimary}; + font-size: ${theme.fontSizes.xl}; + font-weight: ${theme.fontWeights.bold}; +`; + +export const TagList = styled.ul` + display: flex; + flex-wrap: wrap; + gap: 8px; + list-style: none; +`; + +export const Tag = styled.li` + border: 1px solid ${theme.colors.border}; + border-radius: ${theme.radius.lg}; + padding: 6px 12px; + color: ${theme.colors.textSecondary}; + background-color: ${theme.colors.surfaceMuted}; + font-size: ${theme.fontSizes.sm}; +`; + +export const GridBox = styled.div` + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 10px; +`; + +export const BoxItem = styled.div` + display: flex; + flex-direction: column; + gap: 8px; + border: 1px solid ${theme.colors.border}; + border-radius: ${theme.radius.md}; + padding: 16px; +`; + +export const ItemTitle = styled.p` + color: ${theme.colors.textMuted}; + font-size: ${theme.fontSizes.sm}; +`; + +export const ItemInfo = styled.p` + color: ${theme.colors.textPrimary}; + font-size: ${theme.fontSizes.md}; + font-weight: ${theme.fontWeights.bold}; +`; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.tsx b/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.tsx new file mode 100644 index 0000000..48d3d84 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.tsx @@ -0,0 +1,41 @@ +import EXImg from "@assets/images/exImg.jpg"; +import * as S from "./PostMainSection.styles"; + +const genres = ["가족", "코미디", "모험", "판타지", "애니메이션"]; + +const movieStats = [ + { label: "평점", value: "7.6 / 10" }, + { label: "투표 수", value: "1,378" }, + { label: "상영 시간", value: "1시간 39분" }, + { label: "상태", value: "Released" }, +]; + +const PostMainSection = () => { + return ( + + + + + + 2026.04.01 + 슈퍼 마리오 갤럭시 + + {genres.map((genre) => ( + {genre} + ))} + + + {movieStats.map(({ label, value }) => ( + + {label} + {value} + + ))} + + + + + ); +}; + +export default PostMainSection; diff --git a/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.styles.ts b/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.styles.ts new file mode 100644 index 0000000..7e6f057 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.styles.ts @@ -0,0 +1,22 @@ +import theme from "@/styles/theme"; +import styled from "@emotion/styled"; +import { Link } from "react-router"; + +export const Container = styled.div` + width: 100%; + display: flex; + flex-direction: column; + gap: 20px; +`; + +export const BackLink = styled(Link)` + width: fit-content; + color: ${theme.colors.textPrimary}; + font-weight: ${theme.fontWeights.medium}; +`; + +export const BottomGrid = styled.div` + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 20px; +`; diff --git a/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx b/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx index ab1a767..ab9cedb 100644 --- a/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx +++ b/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx @@ -1,5 +1,21 @@ +import PostInfoSection from "@/components/postDetail/postInfoSection/PostInfoSection"; +import PostMainSection from "@/components/postDetail/postmainSection/PostMainSection"; +import PostRatingSection from "@/components/postDetail/postRatingSection/PostRatingSection"; +import PostStorySection from "@/components/postDetail/postStorySection/PostStorySection"; +import * as S from "./PostDetail.styles"; + const PostDetail = () => { - return
상세페이지
; + return ( + + 🠔 목록으로 돌아가기 + + + + + + + + ); }; export default PostDetail; diff --git a/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx b/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx index 9c1e0e5..204c66f 100644 --- a/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx +++ b/Week6/Homework/tanstack-project/src/styles/GlobalStyle.tsx @@ -19,7 +19,10 @@ const GlobalStyle = () => { body, h1, h2, - p { + p, + ul, + input, + button { margin: 0; padding: 0; } @@ -28,6 +31,24 @@ const GlobalStyle = () => { color: inherit; text-decoration: none; } + + button { + background-color: transparent; + border: none; + cursor: pointer; + } + + input { + border: none; + outline: none; + background: none; + appearance: none; + color: inherit; + } + + select { + color: inherit; + } `} /> ); From 12e1f61eacf56d29aa776386d5390437059d7f6f Mon Sep 17 00:00:00 2001 From: Jina Date: Tue, 2 Jun 2026 20:13:32 +0900 Subject: [PATCH 4/7] =?UTF-8?q?feat:=20api=20=EC=97=B0=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Week6/Homework/tanstack-project/.gitignore | 1 + Week6/Homework/tanstack-project/src/App.tsx | 12 ++ .../tanstack-project/src/apis/guestSession.ts | 9 ++ .../tanstack-project/src/apis/instance.ts | 7 ++ .../tanstack-project/src/apis/movie.ts | 18 +++ .../tanstack-project/src/apis/rating.ts | 50 ++++++++ .../src/components/home/cardList/CardList.tsx | 13 +- .../home/cardList/postCard/PostCard.tsx | 24 ++-- .../postInfoSection/PostInfoSection.tsx | 60 +++++++-- .../postRatingSection/PostRatingSection.tsx | 114 +++++++++++++++++- .../postStorySection/PostStorySection.tsx | 11 +- .../postmainSection/PostMainSection.tsx | 76 ++++++++++-- .../tanstack-project/src/constants/image.ts | 3 + .../src/constants/queryKeys.ts | 26 ++++ .../src/constants/storageKeys.ts | 3 + .../src/hooks/mutations/useRatingMutations.ts | 31 +++++ .../src/hooks/queries/useGuestQueries.ts | 17 +++ .../src/hooks/queries/useMovieQueries.ts | 19 +++ .../src/hooks/queries/useRatingQueries.ts | 11 ++ Week6/Homework/tanstack-project/src/main.tsx | 13 +- .../src/pages/postDetail/PostDetail.tsx | 43 ++++++- .../tanstack-project/src/types/movie.ts | 44 +++++++ .../tanstack-project/src/types/rating.ts | 22 ++++ .../tanstack-project/tsconfig.app.json | 1 + .../Homework/tanstack-project/vite.config.ts | 1 + 25 files changed, 573 insertions(+), 56 deletions(-) create mode 100644 Week6/Homework/tanstack-project/src/apis/guestSession.ts create mode 100644 Week6/Homework/tanstack-project/src/apis/instance.ts create mode 100644 Week6/Homework/tanstack-project/src/apis/movie.ts create mode 100644 Week6/Homework/tanstack-project/src/apis/rating.ts create mode 100644 Week6/Homework/tanstack-project/src/constants/image.ts create mode 100644 Week6/Homework/tanstack-project/src/constants/queryKeys.ts create mode 100644 Week6/Homework/tanstack-project/src/constants/storageKeys.ts create mode 100644 Week6/Homework/tanstack-project/src/hooks/mutations/useRatingMutations.ts create mode 100644 Week6/Homework/tanstack-project/src/hooks/queries/useGuestQueries.ts create mode 100644 Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts create mode 100644 Week6/Homework/tanstack-project/src/hooks/queries/useRatingQueries.ts create mode 100644 Week6/Homework/tanstack-project/src/types/movie.ts create mode 100644 Week6/Homework/tanstack-project/src/types/rating.ts diff --git a/Week6/Homework/tanstack-project/.gitignore b/Week6/Homework/tanstack-project/.gitignore index a547bf3..a120b79 100644 --- a/Week6/Homework/tanstack-project/.gitignore +++ b/Week6/Homework/tanstack-project/.gitignore @@ -8,6 +8,7 @@ pnpm-debug.log* lerna-debug.log* node_modules +.env dist dist-ssr *.local diff --git a/Week6/Homework/tanstack-project/src/App.tsx b/Week6/Homework/tanstack-project/src/App.tsx index 4e1da1b..c22bb78 100644 --- a/Week6/Homework/tanstack-project/src/App.tsx +++ b/Week6/Homework/tanstack-project/src/App.tsx @@ -1,8 +1,20 @@ import { RouterProvider } from "react-router"; import router from "./router/Router"; import * as S from "./App.styles"; +import { useGuestSessionIdQuery } from "./hooks/queries/useGuestQueries"; +import { useEffect } from "react"; +import { STORAGE_KEYS } from "./constants/storageKeys"; const App = () => { + const { data } = useGuestSessionIdQuery(); + console.log(data); + + useEffect(() => { + if (!data) return; + + sessionStorage.setItem(STORAGE_KEYS.guestSessionId, data); + }, [data]); + return ( diff --git a/Week6/Homework/tanstack-project/src/apis/guestSession.ts b/Week6/Homework/tanstack-project/src/apis/guestSession.ts new file mode 100644 index 0000000..466e55e --- /dev/null +++ b/Week6/Homework/tanstack-project/src/apis/guestSession.ts @@ -0,0 +1,9 @@ +import api from "./instance"; + +export const getGuestSessionId = async () => { + const { data } = await api.get("/authentication/guest_session/new", { + params: { api_key: import.meta.env.VITE_API_KEY }, + }); + + return data; +}; diff --git a/Week6/Homework/tanstack-project/src/apis/instance.ts b/Week6/Homework/tanstack-project/src/apis/instance.ts new file mode 100644 index 0000000..395c6ff --- /dev/null +++ b/Week6/Homework/tanstack-project/src/apis/instance.ts @@ -0,0 +1,7 @@ +import axios from "axios"; + +const api = axios.create({ + baseURL: import.meta.env.VITE_API_BASE_URL, +}); + +export default api; diff --git a/Week6/Homework/tanstack-project/src/apis/movie.ts b/Week6/Homework/tanstack-project/src/apis/movie.ts new file mode 100644 index 0000000..ced1405 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/apis/movie.ts @@ -0,0 +1,18 @@ +import type { MovieDetail, MovieListResponse } from "@/types/movie"; +import api from "./instance"; + +export const getMovieList = async () => { + const { data } = await api.get("/discover/movie", { + params: { api_key: import.meta.env.VITE_API_KEY }, + }); + + return data; +}; + +export const getMovieDetail = async (movieId: number) => { + const { data } = await api.get(`/movie/${movieId}`, { + params: { api_key: import.meta.env.VITE_API_KEY, language: "ko-KR" }, + }); + + return data; +}; diff --git a/Week6/Homework/tanstack-project/src/apis/rating.ts b/Week6/Homework/tanstack-project/src/apis/rating.ts new file mode 100644 index 0000000..ab4272b --- /dev/null +++ b/Week6/Homework/tanstack-project/src/apis/rating.ts @@ -0,0 +1,50 @@ +import type { + DeleteRatingParams, + PostRatingParams, + RatedMoviesResponse, +} from "@/types/rating"; +import api from "./instance"; + +export const postRating = async ({ + guestId, + movieId, + value, +}: PostRatingParams) => { + await api.post( + `/movie/${movieId}/rating`, + { + value, + }, + { + params: { + api_key: import.meta.env.VITE_API_KEY, + guest_session_id: guestId, + }, + }, + ); +}; + +export const deleteRating = async ({ + guestId, + movieId, +}: DeleteRatingParams) => { + await api.delete(`/movie/${movieId}/rating`, { + params: { + api_key: import.meta.env.VITE_API_KEY, + guest_session_id: guestId, + }, + }); +}; + +export const getRatedMovies = async (guestId: string) => { + const { data } = await api.get( + `/guest_session/${guestId}/rated/movies`, + { + params: { + api_key: import.meta.env.VITE_API_KEY, + }, + }, + ); + + return data; +}; diff --git a/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx index a356523..c789a3a 100644 --- a/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx +++ b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx @@ -1,16 +1,15 @@ +import { useMovieListQuery } from "@/hooks/queries/useMovieQueries"; import * as S from "./CardList.styles"; import PostCard from "./postCard/PostCard"; const CardList = () => { + const { data = [] } = useMovieListQuery(); + console.log(data); return ( - - - - - - - + {data.map((item) => ( + + ))} ); }; diff --git a/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.tsx b/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.tsx index e229f86..46fde5f 100644 --- a/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.tsx +++ b/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.tsx @@ -1,17 +1,25 @@ -import * as S from "./PostCard.styles"; +import { TMDB_POSTER_BASE_URL } from "@/constants/image"; +import type { MovieListItem } from "@/types/movie"; import EXImg from "@assets/images/exImg.jpg"; +import * as S from "./PostCard.styles"; + +interface PostCardProps { + movie: MovieListItem; +} -const PostCard = () => { - const postId = 1; +const PostCard = ({ movie }: PostCardProps) => { + const posterImgSrc = movie.poster_path + ? `${TMDB_POSTER_BASE_URL}${movie.poster_path}` + : EXImg; return ( - - + + - 프로젝트 - 날짜 - 요약본머라머라 + {movie.title} + {movie.release_date} + {movie.overview} diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.tsx b/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.tsx index 5bd991d..ed9e3b4 100644 --- a/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.tsx +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postInfoSection/PostInfoSection.tsx @@ -1,16 +1,58 @@ import ContentBox from "@/components/postDetail/contentBox/ContentBox"; import * as S from "./PostInfoSection.styles"; -const infoItems = [ - { label: "원제", value: "The Super Mario Galaxy Movie" }, - { label: "언어", value: "en" }, - { label: "제작 국가", value: "Japan, United States of America" }, - { label: "상태", value: "Released" }, - { label: "예산", value: "US$100,000,000" }, - { label: "수익", value: "US$897,444,200" }, -]; +interface PostInfoSectionProps { + originalTitle: string; + originalLanguage: string; + productionCountries: { + iso_3166_1: string; + name: string; + }[]; + spokenLanguages: { + english_name: string; + iso_639_1: string; + name: string; + }[]; + status: string; + budget: number; + revenue: number; +} + +const formatCurrency = (value: number) => { + if (!value) return "정보 없음"; + + return `US$${value.toLocaleString()}`; +}; + +const PostInfoSection = ({ + originalTitle, + originalLanguage, + productionCountries, + spokenLanguages, + status, + budget, + revenue, +}: PostInfoSectionProps) => { + const infoItems = [ + { label: "원제", value: originalTitle }, + { label: "원어", value: originalLanguage }, + { + label: "제작 국가", + value: + productionCountries.map((country) => country.name).join(", ") || + "정보 없음", + }, + { + label: "사용 언어", + value: + spokenLanguages.map((language) => language.english_name).join(", ") || + "정보 없음", + }, + { label: "상태", value: status }, + { label: "예산", value: formatCurrency(budget) }, + { label: "수익", value: formatCurrency(revenue) }, + ]; -const PostInfoSection = () => { return ( diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.tsx b/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.tsx index ecf9ae4..2166795 100644 --- a/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.tsx +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postRatingSection/PostRatingSection.tsx @@ -1,16 +1,120 @@ +import { useState, type FormEvent } from "react"; import ContentBox from "@/components/postDetail/contentBox/ContentBox"; import * as S from "./PostRatingSection.styles"; +import { + useDeleteRatingMutation, + usePostRatingMutation, +} from "@/hooks/mutations/useRatingMutations"; +import { useRatedMoviesQuery } from "@/hooks/queries/useRatingQueries"; +import { STORAGE_KEYS } from "@/constants/storageKeys"; + +interface PostRatingSectionProps { + movieId: number; +} + +const PostRatingSection = ({ movieId }: PostRatingSectionProps) => { + const [editedRating, setEditedRating] = useState(null); + const [message, setMessage] = useState(""); + + const guestId = sessionStorage.getItem(STORAGE_KEYS.guestSessionId); + + const { data: ratedMovies } = useRatedMoviesQuery(guestId); + + const { mutate: submitRating, isPending: isSubmitting } = + usePostRatingMutation(); + + const { mutate: deleteRating, isPending: isDeleting } = + useDeleteRatingMutation(); + + const ratedMovie = ratedMovies?.results.find((movie) => movie.id === movieId); + + const savedRating = ratedMovie ? String(ratedMovie.rating) : ""; + + const displayedRating = editedRating ?? savedRating; + + const handleRatingSubmit = (e: FormEvent) => { + e.preventDefault(); + + if (!guestId) { + setMessage("세션 정보를 찾을 수 없습니다."); + return; + } + + const ratingValue = Number(displayedRating); + + submitRating( + { + guestId, + movieId, + value: ratingValue, + }, + { + onSuccess: () => { + setEditedRating(null); + setMessage("Successfully rated."); + }, + + onError: () => { + setMessage("Failed to rate."); + }, + }, + ); + }; + + const handleRatingDelete = () => { + if (!guestId) { + setMessage("세션 정보를 찾을 수 없습니다."); + return; + } + + deleteRating( + { + guestId, + movieId, + }, + { + onSuccess: () => { + setEditedRating(null); + setMessage("Successfully deleted."); + }, + + onError: () => { + setMessage("Failed to delete."); + }, + }, + ); + }; -const PostRatingSection = () => { return ( - + 0.5 ~ 10.0 - + + setEditedRating(e.target.value)} + /> + - 별점 남기기 - 별점 삭제하기 + + {isSubmitting ? "등록 중..." : "별점 남기기"} + + + + {isDeleting ? "삭제 중..." : "별점 삭제하기"} + + + {message &&

{message}

}
); diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.tsx b/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.tsx index 770b605..e9740ad 100644 --- a/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.tsx +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postStorySection/PostStorySection.tsx @@ -1,13 +1,14 @@ import ContentBox from "@/components/postDetail/contentBox/ContentBox"; import * as S from "./PostStorySection.styles"; -const PostStorySection = () => { +interface PostStorySectionProps { + overview: string; +} + +const PostStorySection = ({ overview }: PostStorySectionProps) => { return ( - - 영화 줄거리 내용이 들어갈 영역입니다. 나중에 API 데이터가 연결되면 이 - 문장을 실제 overview 값으로 교체하면 됩니다. - + {overview} ); }; diff --git a/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.tsx b/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.tsx index 48d3d84..eebf244 100644 --- a/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.tsx +++ b/Week6/Homework/tanstack-project/src/components/postDetail/postmainSection/PostMainSection.tsx @@ -1,27 +1,77 @@ +import { + TMDB_BACKDROP_BASE_URL, + TMDB_POSTER_BASE_URL, +} from "@/constants/image"; import EXImg from "@assets/images/exImg.jpg"; import * as S from "./PostMainSection.styles"; -const genres = ["가족", "코미디", "모험", "판타지", "애니메이션"]; +interface PostMainSectionProps { + title: string; + releaseDate: string; + genres: { + id: number; + name: string; + }[]; + backdropPath: string | null; + posterPath: string | null; + voteAverage: number; + voteCount: number; + runtime: number | null; + status: string; +} -const movieStats = [ - { label: "평점", value: "7.6 / 10" }, - { label: "투표 수", value: "1,378" }, - { label: "상영 시간", value: "1시간 39분" }, - { label: "상태", value: "Released" }, -]; +const formatReleaseDate = (releaseDate: string) => { + return releaseDate ? releaseDate.replaceAll("-", ".") : "개봉일 정보 없음"; +}; + +const formatRuntime = (runtime: number | null) => { + if (!runtime) return "상영 시간 정보 없음"; + + const hours = Math.floor(runtime / 60); + const minutes = runtime % 60; + + if (hours === 0) return `${minutes}분`; + + return `${hours}시간 ${minutes}분`; +}; + +const PostMainSection = ({ + title, + releaseDate, + genres, + backdropPath, + posterPath, + voteAverage, + voteCount, + runtime, + status, +}: PostMainSectionProps) => { + const backdropImgSrc = backdropPath + ? `${TMDB_BACKDROP_BASE_URL}${backdropPath}` + : EXImg; + + const posterImgSrc = posterPath + ? `${TMDB_POSTER_BASE_URL}${posterPath}` + : EXImg; + + const movieStats = [ + { label: "평점", value: `${voteAverage.toFixed(1)} / 10` }, + { label: "투표 수", value: voteCount.toLocaleString() }, + { label: "상영 시간", value: formatRuntime(runtime) }, + { label: "상태", value: status }, + ]; -const PostMainSection = () => { return ( - + - + - 2026.04.01 - 슈퍼 마리오 갤럭시 + {formatReleaseDate(releaseDate)} + {title} {genres.map((genre) => ( - {genre} + {genre.name} ))} diff --git a/Week6/Homework/tanstack-project/src/constants/image.ts b/Week6/Homework/tanstack-project/src/constants/image.ts new file mode 100644 index 0000000..b21d4c6 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/constants/image.ts @@ -0,0 +1,3 @@ +export const TMDB_POSTER_BASE_URL = "https://image.tmdb.org/t/p/w500"; + +export const TMDB_BACKDROP_BASE_URL = "https://image.tmdb.org/t/p/original"; diff --git a/Week6/Homework/tanstack-project/src/constants/queryKeys.ts b/Week6/Homework/tanstack-project/src/constants/queryKeys.ts new file mode 100644 index 0000000..a56f5ed --- /dev/null +++ b/Week6/Homework/tanstack-project/src/constants/queryKeys.ts @@ -0,0 +1,26 @@ +export const QUERY_KEYS = { + movies: { + all: ["movies"] as const, + list: () => [...QUERY_KEYS.movies.all, "list"] as const, + detail: (movieId: number) => + [...QUERY_KEYS.movies.all, "detail", movieId] as const, + }, + + ratings: { + all: ["ratings"] as const, + ratedMovies: (guestSessionId: string) => + [...QUERY_KEYS.ratings.all, "ratedMovies", guestSessionId] as const, + accountStates: (guestSessionId: string, movieId: number) => + [ + ...QUERY_KEYS.ratings.all, + "accountStates", + guestSessionId, + movieId, + ] as const, + }, + + guest: { + all: ["guest"] as const, + session: () => [...QUERY_KEYS.guest.all, "session"] as const, + }, +}; diff --git a/Week6/Homework/tanstack-project/src/constants/storageKeys.ts b/Week6/Homework/tanstack-project/src/constants/storageKeys.ts new file mode 100644 index 0000000..573acec --- /dev/null +++ b/Week6/Homework/tanstack-project/src/constants/storageKeys.ts @@ -0,0 +1,3 @@ +export const STORAGE_KEYS = { + guestSessionId: "guestSessionId", +} as const; diff --git a/Week6/Homework/tanstack-project/src/hooks/mutations/useRatingMutations.ts b/Week6/Homework/tanstack-project/src/hooks/mutations/useRatingMutations.ts new file mode 100644 index 0000000..257e1af --- /dev/null +++ b/Week6/Homework/tanstack-project/src/hooks/mutations/useRatingMutations.ts @@ -0,0 +1,31 @@ +import { deleteRating, postRating } from "@/apis/rating"; +import { QUERY_KEYS } from "@/constants/queryKeys"; +import { useMutation, useQueryClient } from "@tanstack/react-query"; + +export const usePostRatingMutation = () => { + const queryClient = useQueryClient(); + + return useMutation({ + mutationFn: postRating, + + onSuccess: (_, { guestId }) => { + queryClient.invalidateQueries({ + queryKey: QUERY_KEYS.ratings.ratedMovies(guestId), + }); + }, + }); +}; + +export const useDeleteRatingMutation = () => { + const queryClient = useQueryClient(); + + return useMutation({ + mutationFn: deleteRating, + + onSuccess: (_, { guestId }) => { + queryClient.invalidateQueries({ + queryKey: QUERY_KEYS.ratings.ratedMovies(guestId), + }); + }, + }); +}; diff --git a/Week6/Homework/tanstack-project/src/hooks/queries/useGuestQueries.ts b/Week6/Homework/tanstack-project/src/hooks/queries/useGuestQueries.ts new file mode 100644 index 0000000..2b89ba9 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/hooks/queries/useGuestQueries.ts @@ -0,0 +1,17 @@ +import { getGuestSessionId } from "@/apis/guestSession"; +import { QUERY_KEYS } from "@/constants/queryKeys"; +import { STORAGE_KEYS } from "@/constants/storageKeys"; +import { useQuery } from "@tanstack/react-query"; + +export const useGuestSessionIdQuery = () => { + const storedSessionId = sessionStorage.getItem(STORAGE_KEYS.guestSessionId); + + return useQuery({ + queryKey: QUERY_KEYS.guest.session(), + queryFn: getGuestSessionId, + select: (data) => data.guest_session_id, + enabled: !storedSessionId, + staleTime: Infinity, + gcTime: Infinity, + }); +}; diff --git a/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts b/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts new file mode 100644 index 0000000..6532702 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts @@ -0,0 +1,19 @@ +import { getMovieDetail, getMovieList } from "@/apis/movie"; +import { QUERY_KEYS } from "@/constants/queryKeys"; +import { useQuery } from "@tanstack/react-query"; + +export const useMovieListQuery = () => { + return useQuery({ + queryKey: QUERY_KEYS.movies.list(), + queryFn: getMovieList, + select: (data) => data.results, + }); +}; + +export const useMovieDetailQuery = (movieId: number) => { + return useQuery({ + queryKey: QUERY_KEYS.movies.detail(movieId), + queryFn: () => getMovieDetail(movieId), + enabled: Number.isFinite(movieId), + }); +}; diff --git a/Week6/Homework/tanstack-project/src/hooks/queries/useRatingQueries.ts b/Week6/Homework/tanstack-project/src/hooks/queries/useRatingQueries.ts new file mode 100644 index 0000000..d6651cc --- /dev/null +++ b/Week6/Homework/tanstack-project/src/hooks/queries/useRatingQueries.ts @@ -0,0 +1,11 @@ +import { getRatedMovies } from "@/apis/rating"; +import { QUERY_KEYS } from "@/constants/queryKeys"; +import { useQuery } from "@tanstack/react-query"; + +export const useRatedMoviesQuery = (guestId: string | null) => { + return useQuery({ + queryKey: QUERY_KEYS.ratings.ratedMovies(guestId ?? ""), + queryFn: () => getRatedMovies(guestId!), + enabled: Boolean(guestId), + }); +}; diff --git a/Week6/Homework/tanstack-project/src/main.tsx b/Week6/Homework/tanstack-project/src/main.tsx index 0ec5580..b3119cf 100644 --- a/Week6/Homework/tanstack-project/src/main.tsx +++ b/Week6/Homework/tanstack-project/src/main.tsx @@ -5,12 +5,17 @@ import App from "./App.tsx"; import { ThemeProvider } from "@emotion/react"; import GlobalStyle from "@styles/GlobalStyle.tsx"; import theme from "@styles/theme.ts"; +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; + +const queryClient = new QueryClient(); createRoot(document.getElementById("root")!).render( - - - - + + + + + + , ); diff --git a/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx b/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx index ab9cedb..5066a3a 100644 --- a/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx +++ b/Week6/Homework/tanstack-project/src/pages/postDetail/PostDetail.tsx @@ -2,17 +2,50 @@ import PostInfoSection from "@/components/postDetail/postInfoSection/PostInfoSec import PostMainSection from "@/components/postDetail/postmainSection/PostMainSection"; import PostRatingSection from "@/components/postDetail/postRatingSection/PostRatingSection"; import PostStorySection from "@/components/postDetail/postStorySection/PostStorySection"; +import { useMovieDetailQuery } from "@/hooks/queries/useMovieQueries"; +import { useParams } from "react-router"; import * as S from "./PostDetail.styles"; const PostDetail = () => { + const { postId } = useParams(); + const movieId = Number(postId); + + const { data: movie, isLoading, isError } = useMovieDetailQuery(movieId); + + if (isLoading) { + return 영화 정보를 불러오는 중입니다.; + } + + if (isError || !movie) { + return 영화 정보를 불러오지 못했습니다.; + } + return ( - 🠔 목록으로 돌아가기 - - + ← 목록으로 돌아가기 + + - - + + ); diff --git a/Week6/Homework/tanstack-project/src/types/movie.ts b/Week6/Homework/tanstack-project/src/types/movie.ts new file mode 100644 index 0000000..66e3c1b --- /dev/null +++ b/Week6/Homework/tanstack-project/src/types/movie.ts @@ -0,0 +1,44 @@ +export interface MovieListItem { + id: number; + overview: string; + poster_path: string | null; + release_date: string; + title: string; +} + +export interface MovieListResponse { + page: number; + results: MovieListItem[]; + total_pages: number; + total_results: number; +} + +export interface MovieDetail { + id: number; + title: string; + original_title: string; + original_language: string; + overview: string; + backdrop_path: string | null; + poster_path: string | null; + release_date: string; + genres: { + id: number; + name: string; + }[]; + production_countries: { + iso_3166_1: string; + name: string; + }[]; + spoken_languages: { + english_name: string; + iso_639_1: string; + name: string; + }[]; + vote_average: number; + vote_count: number; + runtime: number | null; + status: string; + budget: number; + revenue: number; +} diff --git a/Week6/Homework/tanstack-project/src/types/rating.ts b/Week6/Homework/tanstack-project/src/types/rating.ts new file mode 100644 index 0000000..f28d4fb --- /dev/null +++ b/Week6/Homework/tanstack-project/src/types/rating.ts @@ -0,0 +1,22 @@ +export interface PostRatingParams { + guestId: string; + movieId: number; + value: number; +} + +export type DeleteRatingParams = Omit; + +export interface RatedMovie { + id: number; + title: string; + poster_path: string | null; + vote_average: number; + rating: number; +} + +export interface RatedMoviesResponse { + page: number; + results: RatedMovie[]; + total_pages: number; + total_results: number; +} diff --git a/Week6/Homework/tanstack-project/tsconfig.app.json b/Week6/Homework/tanstack-project/tsconfig.app.json index 3da013a..e6f75ca 100644 --- a/Week6/Homework/tanstack-project/tsconfig.app.json +++ b/Week6/Homework/tanstack-project/tsconfig.app.json @@ -27,6 +27,7 @@ "@apis/*": ["./src/apis/*"], "@assets/*": ["./src/assets/*"], "@components/*": ["./src/components/*"], + "@constants/*": ["./src/constants/*"], "@hooks/*": ["./src/hooks/*"], "@pages/*": ["./src/pages/*"], "@styles/*": ["./src/styles/*"], diff --git a/Week6/Homework/tanstack-project/vite.config.ts b/Week6/Homework/tanstack-project/vite.config.ts index c0cb6ff..c1bb2fc 100644 --- a/Week6/Homework/tanstack-project/vite.config.ts +++ b/Week6/Homework/tanstack-project/vite.config.ts @@ -11,6 +11,7 @@ export default defineConfig({ "@apis": path.resolve(__dirname, "./src/apis"), "@assets": path.resolve(__dirname, "./src/assets"), "@components": path.resolve(__dirname, "./src/components"), + "@constants": path.resolve(__dirname, "./src/constants"), "@hooks": path.resolve(__dirname, "./src/hooks"), "@pages": path.resolve(__dirname, "./src/pages"), "@styles": path.resolve(__dirname, "./src/styles"), From 5be3919142fd5f88642de02838a19708e0886eba Mon Sep 17 00:00:00 2001 From: Jina Date: Tue, 2 Jun 2026 20:25:40 +0900 Subject: [PATCH 5/7] =?UTF-8?q?refactor:=20hover=20=EC=8B=9C=20=ED=99=95?= =?UTF-8?q?=EB=8C=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/home/cardList/postCard/PostCard.styles.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.styles.ts b/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.styles.ts index f2933c7..47d935b 100644 --- a/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.styles.ts +++ b/Week6/Homework/tanstack-project/src/components/home/cardList/postCard/PostCard.styles.ts @@ -8,6 +8,12 @@ export const Container = styled.article` border-radius: ${theme.radius.md}; width: 100%; height: 400px; + + transition: transform 0.2s ease; + + &:hover { + transform: scale(1.02); + } `; export const CardLink = styled(Link)` From b5dcd75144fd686a93318a9c5f959bb7372474fe Mon Sep 17 00:00:00 2001 From: Jina Date: Thu, 4 Jun 2026 14:34:41 +0900 Subject: [PATCH 6/7] =?UTF-8?q?feat:=EB=AC=B4=ED=95=9C=EC=8A=A4=ED=81=AC?= =?UTF-8?q?=EB=A1=A4=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tanstack-project/src/apis/movie.ts | 4 +- .../src/components/home/cardList/CardList.tsx | 40 +++++++++++++++++-- .../src/hooks/queries/useMovieQueries.ts | 14 +++++-- 3 files changed, 48 insertions(+), 10 deletions(-) diff --git a/Week6/Homework/tanstack-project/src/apis/movie.ts b/Week6/Homework/tanstack-project/src/apis/movie.ts index ced1405..12db801 100644 --- a/Week6/Homework/tanstack-project/src/apis/movie.ts +++ b/Week6/Homework/tanstack-project/src/apis/movie.ts @@ -1,9 +1,9 @@ import type { MovieDetail, MovieListResponse } from "@/types/movie"; import api from "./instance"; -export const getMovieList = async () => { +export const getMovieList = async (page: number) => { const { data } = await api.get("/discover/movie", { - params: { api_key: import.meta.env.VITE_API_KEY }, + params: { api_key: import.meta.env.VITE_API_KEY, page }, }); return data; diff --git a/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx index c789a3a..50f3740 100644 --- a/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx +++ b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx @@ -1,15 +1,47 @@ import { useMovieListQuery } from "@/hooks/queries/useMovieQueries"; import * as S from "./CardList.styles"; import PostCard from "./postCard/PostCard"; +import { useEffect, useRef } from "react"; const CardList = () => { - const { data = [] } = useMovieListQuery(); - console.log(data); + const loaderRef = useRef(null); + + const { + data: movies = [], + fetchNextPage, + hasNextPage, + isFetchingNextPage, + } = useMovieListQuery(); + + useEffect(() => { + if (!loaderRef.current) return; + + const observer = new IntersectionObserver( + ([entry]) => { + if (entry.isIntersecting && hasNextPage && !isFetchingNextPage) { + fetchNextPage(); + } + }, + { + rootMargin: "500px", + }, + ); + + observer.observe(loaderRef.current); + + return () => { + observer.disconnect(); + }; + }, [fetchNextPage, hasNextPage, isFetchingNextPage]); + return ( - {data.map((item) => ( - + {movies.map((movie) => ( + ))} +
+ + {isFetchingNextPage &&

불러오는 중...

} ); }; diff --git a/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts b/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts index 6532702..e001251 100644 --- a/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts +++ b/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts @@ -1,12 +1,18 @@ import { getMovieDetail, getMovieList } from "@/apis/movie"; import { QUERY_KEYS } from "@/constants/queryKeys"; -import { useQuery } from "@tanstack/react-query"; +import { useInfiniteQuery, useQuery } from "@tanstack/react-query"; export const useMovieListQuery = () => { - return useQuery({ + return useInfiniteQuery({ queryKey: QUERY_KEYS.movies.list(), - queryFn: getMovieList, - select: (data) => data.results, + queryFn: ({ pageParam }) => getMovieList(pageParam), + initialPageParam: 1, + getNextPageParam: (lastPage) => { + if (lastPage.page >= lastPage.total_pages) return undefined; + + return lastPage.page + 1; + }, + select: (data) => data.pages.flatMap((page) => page.results), }); }; From b5df3bd416377d026432a8f4248e1184a190a148 Mon Sep 17 00:00:00 2001 From: Jina Date: Thu, 4 Jun 2026 22:36:28 +0900 Subject: [PATCH 7/7] =?UTF-8?q?feat:=20=EB=B3=84=EC=A0=90=EB=8C=80=20?= =?UTF-8?q?=ED=95=84=ED=84=B0=EB=A7=81=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tanstack-project/src/apis/movie.ts | 25 +++++++++++++++++-- .../src/components/home/cardList/CardList.tsx | 9 +++++-- .../tanstack-project/src/constants/rating.ts | 15 +++++++++++ .../src/hooks/queries/useMovieQueries.ts | 11 +++++--- .../tanstack-project/src/pages/home/Home.tsx | 24 +++++++++++++----- 5 files changed, 71 insertions(+), 13 deletions(-) create mode 100644 Week6/Homework/tanstack-project/src/constants/rating.ts diff --git a/Week6/Homework/tanstack-project/src/apis/movie.ts b/Week6/Homework/tanstack-project/src/apis/movie.ts index 12db801..019913d 100644 --- a/Week6/Homework/tanstack-project/src/apis/movie.ts +++ b/Week6/Homework/tanstack-project/src/apis/movie.ts @@ -1,9 +1,30 @@ import type { MovieDetail, MovieListResponse } from "@/types/movie"; import api from "./instance"; +import type { VoteAverageFilter } from "@/constants/rating"; + +interface GetMovieListParams { + page: number; + voteAverage?: VoteAverageFilter; +} + +export const getMovieList = async ({ + page, + voteAverage = "all", +}: GetMovieListParams) => { + const voteAverageParams = + voteAverage === "all" + ? {} + : { + "vote_average.gte": voteAverage, + "vote_average.lte": voteAverage === 10 ? 10 : voteAverage + 0.999, + }; -export const getMovieList = async (page: number) => { const { data } = await api.get("/discover/movie", { - params: { api_key: import.meta.env.VITE_API_KEY, page }, + params: { + api_key: import.meta.env.VITE_API_KEY, + page, + ...voteAverageParams, + }, }); return data; diff --git a/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx index 50f3740..9c237e7 100644 --- a/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx +++ b/Week6/Homework/tanstack-project/src/components/home/cardList/CardList.tsx @@ -2,8 +2,13 @@ import { useMovieListQuery } from "@/hooks/queries/useMovieQueries"; import * as S from "./CardList.styles"; import PostCard from "./postCard/PostCard"; import { useEffect, useRef } from "react"; +import type { VoteAverageFilter } from "@/constants/rating"; -const CardList = () => { +interface CardListProps { + voteAverage: VoteAverageFilter; +} + +const CardList = ({ voteAverage }: CardListProps) => { const loaderRef = useRef(null); const { @@ -11,7 +16,7 @@ const CardList = () => { fetchNextPage, hasNextPage, isFetchingNextPage, - } = useMovieListQuery(); + } = useMovieListQuery(voteAverage); useEffect(() => { if (!loaderRef.current) return; diff --git a/Week6/Homework/tanstack-project/src/constants/rating.ts b/Week6/Homework/tanstack-project/src/constants/rating.ts new file mode 100644 index 0000000..8952f30 --- /dev/null +++ b/Week6/Homework/tanstack-project/src/constants/rating.ts @@ -0,0 +1,15 @@ +export const VOTE_AVERAGE_FILTERS = [ + "all", + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, +] as const; + +export type VoteAverageFilter = (typeof VOTE_AVERAGE_FILTERS)[number]; diff --git a/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts b/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts index e001251..c503460 100644 --- a/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts +++ b/Week6/Homework/tanstack-project/src/hooks/queries/useMovieQueries.ts @@ -1,11 +1,16 @@ import { getMovieDetail, getMovieList } from "@/apis/movie"; import { QUERY_KEYS } from "@/constants/queryKeys"; +import type { VoteAverageFilter } from "@/constants/rating"; import { useInfiniteQuery, useQuery } from "@tanstack/react-query"; -export const useMovieListQuery = () => { +export const useMovieListQuery = (voteAverage: VoteAverageFilter = "all") => { return useInfiniteQuery({ - queryKey: QUERY_KEYS.movies.list(), - queryFn: ({ pageParam }) => getMovieList(pageParam), + queryKey: [QUERY_KEYS.movies.list(), voteAverage], + queryFn: ({ pageParam }) => + getMovieList({ + page: pageParam, + voteAverage, + }), initialPageParam: 1, getNextPageParam: (lastPage) => { if (lastPage.page >= lastPage.total_pages) return undefined; diff --git a/Week6/Homework/tanstack-project/src/pages/home/Home.tsx b/Week6/Homework/tanstack-project/src/pages/home/Home.tsx index fd40b97..4fc4850 100644 --- a/Week6/Homework/tanstack-project/src/pages/home/Home.tsx +++ b/Week6/Homework/tanstack-project/src/pages/home/Home.tsx @@ -1,23 +1,35 @@ import CardList from "@/components/home/cardList/CardList"; import * as S from "./Home.styles"; +import { useState, type ChangeEvent } from "react"; +import { + VOTE_AVERAGE_FILTERS, + type VoteAverageFilter, +} from "@/constants/rating"; const Home = () => { - const ratingOptions = Array.from({ length: 10 }, (_, index) => index + 1); + const [voteAverage, setVoteAverage] = useState("all"); + + const handleVoteAverageChange = (e: ChangeEvent) => { + const value = e.target.value; + + setVoteAverage( + value === "all" ? "all" : (Number(value) as VoteAverageFilter), + ); + }; return (

Movie Explorer

- - - {ratingOptions.map((rating) => ( + + {VOTE_AVERAGE_FILTERS.map((rating) => ( ))} - +
); };