diff --git a/package.json b/package.json index 0f5f796..20f3066 100644 --- a/package.json +++ b/package.json @@ -19,11 +19,13 @@ "dependencies": { "@tanstack/react-query": "^5.100.6", "axios": "^1.15.2", + "framer-motion": "^12.38.0", "lucide-react": "^1.14.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-hook-form": "^7.74.0", "react-hot-toast": "^2.6.0", + "react-icons": "^5.6.0", "react-router-dom": "^6.26.1", "recharts": "^3.5.0", "zustand": "^5.0.12" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index baa28ee..ff4c67f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: axios: specifier: ^1.15.2 version: 1.15.2 + framer-motion: + specifier: ^12.38.0 + version: 12.38.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) lucide-react: specifier: ^1.14.0 version: 1.14.0(react@18.3.1) @@ -29,6 +32,9 @@ importers: react-hot-toast: specifier: ^2.6.0 version: 2.6.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-icons: + specifier: ^5.6.0 + version: 5.6.0(react@18.3.1) react-router-dom: specifier: ^6.26.1 version: 6.30.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1099,6 +1105,20 @@ packages: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} + framer-motion@12.38.0: + resolution: {integrity: sha512-rFYkY/pigbcswl1XQSb7q424kSTQ8q6eAC+YUsSKooHQYuLdzdHjrt6uxUC+PRAO++q5IS7+TamgIw1AphxR+g==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1499,6 +1519,12 @@ packages: minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} + motion-dom@12.38.0: + resolution: {integrity: sha512-pdkHLD8QYRp8VfiNLb8xIBJis1byQ9gPT3Jnh2jqfFtAsWUA3dEepDlsWe/xMpO8McV+VdpKVcp+E+TGJEtOoA==} + + motion-utils@12.36.0: + resolution: {integrity: sha512-eHWisygbiwVvf6PZ1vhaHCLamvkSbPIeAYxWUuL3a2PD/TROgE7FvfHWTIH4vMl798QLfMw15nRqIaRDXTlYRg==} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1633,6 +1659,11 @@ packages: react: '>=16' react-dom: '>=16' + react-icons@5.6.0: + resolution: {integrity: sha512-RH93p5ki6LfOiIt0UtDyNg/cee+HLVR6cHHtW3wALfo+eOHTp8RnU2kRkI6E+H19zMIs03DyxUG/GfZMOGvmiA==} + peerDependencies: + react: '*' + react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} @@ -1853,6 +1884,9 @@ packages: resolution: {integrity: sha512-VKS/ZaQhhkKFMANmAOhhXVoIfBXblQxGX1myCQ2faQrfmobMftXeJPcZGp0gS07ocvGJWDLZGyOZDadDBqYIJg==} engines: {node: '>=18'} + 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'} @@ -3027,6 +3061,15 @@ snapshots: hasown: 2.0.3 mime-types: 2.1.35 + framer-motion@12.38.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + dependencies: + motion-dom: 12.38.0 + motion-utils: 12.36.0 + tslib: 2.8.1 + optionalDependencies: + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + fsevents@2.3.3: optional: true @@ -3405,6 +3448,12 @@ snapshots: dependencies: brace-expansion: 1.1.14 + motion-dom@12.38.0: + dependencies: + motion-utils: 12.36.0 + + motion-utils@12.36.0: {} + ms@2.1.3: {} nanoid@3.3.11: {} @@ -3536,6 +3585,10 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-icons@5.6.0(react@18.3.1): + dependencies: + react: 18.3.1 + react-is@16.13.1: {} react-redux@9.2.0(react@18.3.1)(redux@5.0.1): @@ -3838,6 +3891,8 @@ snapshots: tinyexec@1.1.1: {} + tslib@2.8.1: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 diff --git a/src/App.jsx b/src/App.jsx index 2faf22d..5306977 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -24,14 +24,15 @@ export default function App() {
-