From 063b9587a85acfb4a81264d114e5250d25b914b1 Mon Sep 17 00:00:00 2001 From: V3N1TH <152465117+VenithAbey@users.noreply.github.com> Date: Tue, 17 Mar 2026 10:35:19 +0530 Subject: [PATCH 1/8] update complete --- .dockerignore | 11 + .env.development | 4 + .env.production | 4 + .github/workflows/main.yml | 89 + Dockerfile | 25 + Dockerfile.dev | 11 + docker-compose.frontend.snippet.yml | 8 + index.html | 1 + nginx.conf | 27 + package-lock.json | 4153 +++++++++++++---- package.json | 24 +- postcss.config.js | 6 - public/doc.webp | Bin 0 -> 284512 bytes src/App.jsx | 99 +- src/api.js | 1 + src/api/api.js | 119 + src/assets/images/admin.png | Bin 0 -> 3100 bytes src/assets/images/doctor.png | Bin 0 -> 2299 bytes src/assets/images/gtMark.png | Bin 0 -> 630 bytes src/assets/images/heart.png | Bin 0 -> 1444 bytes src/assets/images/patient.png | Bin 0 -> 1441 bytes src/assets/images/smartcare-logo.png | Bin 0 -> 80684 bytes src/assets/images/sup.jpg | Bin 0 -> 39651 bytes src/assets/react.svg | 1 - src/components/AdminPortal/AdminDashboard.jsx | 340 ++ src/components/Loader.jsx | 31 + .../PatientPortal/ActivityRings.jsx | 190 + src/components/PatientPortal/AlertsCard.jsx | 210 + .../PatientPortal/AppointmentsCard.jsx | 142 + .../PatientPortal/ChallengesSection.jsx | 182 + src/components/PatientPortal/Dashboard.jsx | 126 + src/components/PatientPortal/ECGMonitor.jsx | 317 ++ .../PatientPortal/EmergencyCard.jsx | 221 + .../PatientPortal/EmergencyPanel.jsx | 356 ++ .../PatientPortal/FloatingChatbot.jsx | 197 + src/components/PatientPortal/GraphCard.jsx | 324 ++ src/components/PatientPortal/Header.jsx | 108 + .../PatientPortal/HealthDataTab.jsx | 492 ++ .../PatientPortal/HealthDataUpload.jsx | 212 + .../PatientPortal/HealthMetricCard.jsx | 79 + .../PatientPortal/HealthRiskCard.jsx | 127 + .../PatientPortal/HealthTipsCard.jsx | 108 + .../PatientPortal/ManualEntryForm.jsx | 353 ++ .../PatientPortal/MedicationsCard.jsx | 195 + .../PatientPortal/MessagingDashboard.jsx | 861 ++++ .../PatientPortal/PatientInfoCard.jsx | 200 + src/components/PatientPortal/ProfileTab.jsx | 313 ++ .../PatientPortal/RealtimeGraphs.jsx | 406 ++ src/components/PatientPortal/ReportsCard.jsx | 997 ++++ src/components/PatientPortal/VitalCard.jsx | 54 + .../PatientPortal/VitalsDashboard.jsx | 118 + .../PatientPortal/VitalsTrends3Charts.jsx | 311 ++ .../PatientPortal/WorkoutMetadataModal.jsx | 94 + .../PatientPortal/WorkoutSessionTimeline.jsx | 189 + .../bookings/AdminConfirmAppointments.jsx | 68 + .../PatientPortal/bookings/AdminPayments.jsx | 40 + .../bookings/BookingDoctorSelect.jsx | 49 + .../PatientPortal/bookings/BookingForm.jsx | 173 + .../PatientPortal/bookings/BookingPage.jsx | 63 + .../bookings/DoctorAvailabilityModal.jsx | 185 + .../bookings/PatientAppointmentCard.jsx | 73 + .../PatientPortal/bookings/PaymentCancel.jsx | 9 + .../PatientPortal/bookings/PaymentSuccess.jsx | 8 + .../bookings/SpecialDoctorAddingForm.jsx | 146 + .../bookings/SpecialDoctorAdminPage.jsx | 137 + .../bookings/SpecialDoctorsPage.jsx | 69 + .../bookings/SpecialDoctorsTable.jsx | 65 + .../bookings/SpecialTimeSlotPicker.jsx | 54 + src/components/login/cart.jsx | 43 + src/components/login/loginInput.jsx | 23 + src/components/signup/formRow.jsx | 49 + src/index.css | 23 +- src/main.jsx | 6 +- src/pages/AdminPages/AdminManagement.jsx | 391 ++ src/pages/AdminPages/Analytics.jsx | 14 + src/pages/AdminPages/IotDevices.jsx | 14 + src/pages/AdminPages/PatientManagement.jsx | 1009 ++++ src/pages/AdminPages/PendingDoctors.jsx | 143 + src/pages/AdminPages/SecurityLogs.jsx | 14 + src/pages/AdminPages/UserManagement.jsx | 711 +++ src/pages/AdminPages/service/docter.jsx | 44 + .../AdminPages/service/patientconnecter.jsx | 44 + .../service/pendingDoctorConnecter.jsx | 43 + .../DoctorViewPatient/DoctorPatientView.jsx | 177 + .../AssignedCareTeamCard.jsx | 65 + .../DoctorViewComponents/Dashboard.jsx | 73 + .../DoctorMessagingDashboard.jsx | 864 ++++ .../DoctorViewComponents/DoctorNotesCard.jsx | 157 + .../DoctorViewComponents/Header.jsx | 117 + .../DoctorViewComponents/PatientInfoCard.jsx | 243 + src/pages/DoctorsPage/CriticalAlertPage.jsx | 229 + src/pages/DoctorsPage/DocDashboard.jsx | 614 ++- src/pages/DoctorsPage/ECGReaderPage.jsx | 275 ++ src/pages/DoctorsPage/NavLinks.jsx | 17 + src/pages/DoctorsPage/ReportsPage.jsx | 174 + .../componants/AIInterpretation.jsx | 20 + .../DoctorsPage/componants/AlertCard.jsx | 132 + .../componants/AnalysisDetails.jsx | 22 + src/pages/DoctorsPage/componants/ECGGraph.jsx | 131 + .../DoctorsPage/componants/ECGheader.jsx | 51 + .../DoctorsPage/componants/UploadModal.jsx | 238 + src/pages/HomePage.jsx | 9 + src/pages/HomePage/components/FooterCTA.jsx | 9 - src/pages/HomePage/components/Header.jsx | 26 +- src/pages/HomePage/components/Hero.jsx | 27 +- src/pages/Login,SignIn/Loginpage.jsx | 9 - src/pages/Login,SignIn/signInpage.jsx | 9 - src/pages/Login_Signup/AdminAccessPage.jsx | 82 + src/pages/Login_Signup/ForgotPasswordPage.jsx | 224 + src/pages/Login_Signup/ResetPasswordPage.jsx | 206 + src/pages/Login_Signup/RoleSelectPage.jsx | 69 + src/pages/Login_Signup/loginPageAdmin.jsx | 309 ++ src/pages/Login_Signup/loginPageDoctor.jsx | 298 ++ src/pages/Login_Signup/loginPagePatient.jsx | 265 ++ src/pages/Login_Signup/signupPageAdmin.jsx | 203 + src/pages/Login_Signup/signupPageDoctor.jsx | 207 + src/pages/Login_Signup/signupPagePatient.jsx | 398 ++ src/pages/PatientPortal/PatientPortal.jsx | 171 + src/services/healthDataApi.js | 60 + src/utils/HealthDataParser.js | 547 +++ tailwind.config.js | 10 - vite.config.js | 20 +- 122 files changed, 21840 insertions(+), 1063 deletions(-) create mode 100644 .dockerignore create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .github/workflows/main.yml create mode 100644 Dockerfile create mode 100644 Dockerfile.dev create mode 100644 docker-compose.frontend.snippet.yml create mode 100644 nginx.conf delete mode 100644 postcss.config.js create mode 100644 public/doc.webp create mode 100644 src/api.js create mode 100644 src/api/api.js create mode 100644 src/assets/images/admin.png create mode 100644 src/assets/images/doctor.png create mode 100644 src/assets/images/gtMark.png create mode 100644 src/assets/images/heart.png create mode 100644 src/assets/images/patient.png create mode 100644 src/assets/images/smartcare-logo.png create mode 100644 src/assets/images/sup.jpg delete mode 100644 src/assets/react.svg create mode 100644 src/components/AdminPortal/AdminDashboard.jsx create mode 100644 src/components/Loader.jsx create mode 100644 src/components/PatientPortal/ActivityRings.jsx create mode 100644 src/components/PatientPortal/AlertsCard.jsx create mode 100644 src/components/PatientPortal/AppointmentsCard.jsx create mode 100644 src/components/PatientPortal/ChallengesSection.jsx create mode 100644 src/components/PatientPortal/Dashboard.jsx create mode 100644 src/components/PatientPortal/ECGMonitor.jsx create mode 100644 src/components/PatientPortal/EmergencyCard.jsx create mode 100644 src/components/PatientPortal/EmergencyPanel.jsx create mode 100644 src/components/PatientPortal/FloatingChatbot.jsx create mode 100644 src/components/PatientPortal/GraphCard.jsx create mode 100644 src/components/PatientPortal/Header.jsx create mode 100644 src/components/PatientPortal/HealthDataTab.jsx create mode 100644 src/components/PatientPortal/HealthDataUpload.jsx create mode 100644 src/components/PatientPortal/HealthMetricCard.jsx create mode 100644 src/components/PatientPortal/HealthRiskCard.jsx create mode 100644 src/components/PatientPortal/HealthTipsCard.jsx create mode 100644 src/components/PatientPortal/ManualEntryForm.jsx create mode 100644 src/components/PatientPortal/MedicationsCard.jsx create mode 100644 src/components/PatientPortal/MessagingDashboard.jsx create mode 100644 src/components/PatientPortal/PatientInfoCard.jsx create mode 100644 src/components/PatientPortal/ProfileTab.jsx create mode 100644 src/components/PatientPortal/RealtimeGraphs.jsx create mode 100644 src/components/PatientPortal/ReportsCard.jsx create mode 100644 src/components/PatientPortal/VitalCard.jsx create mode 100644 src/components/PatientPortal/VitalsDashboard.jsx create mode 100644 src/components/PatientPortal/VitalsTrends3Charts.jsx create mode 100644 src/components/PatientPortal/WorkoutMetadataModal.jsx create mode 100644 src/components/PatientPortal/WorkoutSessionTimeline.jsx create mode 100644 src/components/PatientPortal/bookings/AdminConfirmAppointments.jsx create mode 100644 src/components/PatientPortal/bookings/AdminPayments.jsx create mode 100644 src/components/PatientPortal/bookings/BookingDoctorSelect.jsx create mode 100644 src/components/PatientPortal/bookings/BookingForm.jsx create mode 100644 src/components/PatientPortal/bookings/BookingPage.jsx create mode 100644 src/components/PatientPortal/bookings/DoctorAvailabilityModal.jsx create mode 100644 src/components/PatientPortal/bookings/PatientAppointmentCard.jsx create mode 100644 src/components/PatientPortal/bookings/PaymentCancel.jsx create mode 100644 src/components/PatientPortal/bookings/PaymentSuccess.jsx create mode 100644 src/components/PatientPortal/bookings/SpecialDoctorAddingForm.jsx create mode 100644 src/components/PatientPortal/bookings/SpecialDoctorAdminPage.jsx create mode 100644 src/components/PatientPortal/bookings/SpecialDoctorsPage.jsx create mode 100644 src/components/PatientPortal/bookings/SpecialDoctorsTable.jsx create mode 100644 src/components/PatientPortal/bookings/SpecialTimeSlotPicker.jsx create mode 100644 src/components/login/cart.jsx create mode 100644 src/components/login/loginInput.jsx create mode 100644 src/components/signup/formRow.jsx create mode 100644 src/pages/AdminPages/AdminManagement.jsx create mode 100644 src/pages/AdminPages/Analytics.jsx create mode 100644 src/pages/AdminPages/IotDevices.jsx create mode 100644 src/pages/AdminPages/PatientManagement.jsx create mode 100644 src/pages/AdminPages/PendingDoctors.jsx create mode 100644 src/pages/AdminPages/SecurityLogs.jsx create mode 100644 src/pages/AdminPages/UserManagement.jsx create mode 100644 src/pages/AdminPages/service/docter.jsx create mode 100644 src/pages/AdminPages/service/patientconnecter.jsx create mode 100644 src/pages/AdminPages/service/pendingDoctorConnecter.jsx create mode 100644 src/pages/DoctorViewPatient/DoctorPatientView.jsx create mode 100644 src/pages/DoctorViewPatient/DoctorViewComponents/AssignedCareTeamCard.jsx create mode 100644 src/pages/DoctorViewPatient/DoctorViewComponents/Dashboard.jsx create mode 100644 src/pages/DoctorViewPatient/DoctorViewComponents/DoctorMessagingDashboard.jsx create mode 100644 src/pages/DoctorViewPatient/DoctorViewComponents/DoctorNotesCard.jsx create mode 100644 src/pages/DoctorViewPatient/DoctorViewComponents/Header.jsx create mode 100644 src/pages/DoctorViewPatient/DoctorViewComponents/PatientInfoCard.jsx create mode 100644 src/pages/DoctorsPage/CriticalAlertPage.jsx create mode 100644 src/pages/DoctorsPage/ECGReaderPage.jsx create mode 100644 src/pages/DoctorsPage/NavLinks.jsx create mode 100644 src/pages/DoctorsPage/ReportsPage.jsx create mode 100644 src/pages/DoctorsPage/componants/AIInterpretation.jsx create mode 100644 src/pages/DoctorsPage/componants/AlertCard.jsx create mode 100644 src/pages/DoctorsPage/componants/AnalysisDetails.jsx create mode 100644 src/pages/DoctorsPage/componants/ECGGraph.jsx create mode 100644 src/pages/DoctorsPage/componants/ECGheader.jsx create mode 100644 src/pages/DoctorsPage/componants/UploadModal.jsx create mode 100644 src/pages/HomePage.jsx delete mode 100644 src/pages/Login,SignIn/Loginpage.jsx delete mode 100644 src/pages/Login,SignIn/signInpage.jsx create mode 100644 src/pages/Login_Signup/AdminAccessPage.jsx create mode 100644 src/pages/Login_Signup/ForgotPasswordPage.jsx create mode 100644 src/pages/Login_Signup/ResetPasswordPage.jsx create mode 100644 src/pages/Login_Signup/RoleSelectPage.jsx create mode 100644 src/pages/Login_Signup/loginPageAdmin.jsx create mode 100644 src/pages/Login_Signup/loginPageDoctor.jsx create mode 100644 src/pages/Login_Signup/loginPagePatient.jsx create mode 100644 src/pages/Login_Signup/signupPageAdmin.jsx create mode 100644 src/pages/Login_Signup/signupPageDoctor.jsx create mode 100644 src/pages/Login_Signup/signupPagePatient.jsx create mode 100644 src/pages/PatientPortal/PatientPortal.jsx create mode 100644 src/services/healthDataApi.js create mode 100644 src/utils/HealthDataParser.js delete mode 100644 tailwind.config.js diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..9829550 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +node_modules +dist +.vscode +.idea +.DS_Store +*.log +.git +.gitignore +Dockerfile* +docker-compose*.yml + diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..0a26e0e --- /dev/null +++ b/.env.development @@ -0,0 +1,4 @@ +VITE_API_URL=http://localhost:8080 +VITE_WS_URL=http://localhost:8080 +VITE_CHATBOT_URL=http://localhost:8080 +VITE_IOT_URL=http://localhost:8080 \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..67c9e94 --- /dev/null +++ b/.env.production @@ -0,0 +1,4 @@ +VITE_API_URL=https://apigatewaynew.mangobush-8de88b36.southeastasia.azurecontainerapps.io +VITE_WS_URL=https://apigatewaynew.mangobush-8de88b36.southeastasia.azurecontainerapps.io +VITE_CHATBOT_URL=https://apigatewaynew.mangobush-8de88b36.southeastasia.azurecontainerapps.io +VITE_IOT_URL=https://apigatewaynew.mangobush-8de88b36.southeastasia.azurecontainerapps.io diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..ed09296 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,89 @@ +name: CI/CD Pipeline + +on: + push: + branches: [ main, dev, develop ] + pull_request: + branches: [ main, dev, develop ] + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [20.x] + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node-version }} + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Build application (Vite) + run: npm run build + + - name: Verify build output + run: | + echo "✅ Build completed successfully!" + ls -la dist/ + + - name: Upload build artifacts + uses: actions/upload-artifact@v4 + with: + name: dist-files + path: dist/ + retention-days: 7 + + deploy: + needs: build + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + + permissions: + contents: read + pages: write + id-token: write + + concurrency: + group: pages + cancel-in-progress: false + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: 20.x + cache: npm + + - name: Install dependencies + run: npm ci + + - name: Build for GitHub Pages + run: npm run build + + - name: Setup Pages + uses: actions/configure-pages@v4 + + - name: Upload Pages artifact + uses: actions/upload-pages-artifact@v3 + with: + path: dist + + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..32dc896 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +# ---- Build stage ---- +FROM node:20-alpine AS build +WORKDIR /app + +# Install deps first (better layer caching) +COPY package*.json ./ +RUN npm ci + +# Copy source (node_modules is ignored by .dockerignore) +COPY . . + +# Build static assets +RUN npm run build + +# ---- Serve stage ---- +FROM nginx:1.27-alpine + +# SPA-friendly nginx config (see nginx.conf) +COPY nginx.conf /etc/nginx/conf.d/default.conf + +# Copy build output +COPY --from=build /app/dist /usr/share/nginx/html + +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] diff --git a/Dockerfile.dev b/Dockerfile.dev new file mode 100644 index 0000000..14bf4c4 --- /dev/null +++ b/Dockerfile.dev @@ -0,0 +1,11 @@ +FROM node:20-alpine +WORKDIR /app + +COPY package*.json ./ +RUN npm ci + +COPY . . + +# Vite needs --host 0.0.0.0 to be reachable from outside the container +EXPOSE 5173 +CMD ["npm","run","dev","--","--host","0.0.0.0","--port","5173"] diff --git a/docker-compose.frontend.snippet.yml b/docker-compose.frontend.snippet.yml new file mode 100644 index 0000000..d5371b1 --- /dev/null +++ b/docker-compose.frontend.snippet.yml @@ -0,0 +1,8 @@ +services: + frontend: + build: + context: ./Frontend + dockerfile: Dockerfile + ports: + - "3000:80" + restart: unless-stopped diff --git a/index.html b/index.html index e02fea2..88c16b0 100644 --- a/index.html +++ b/index.html @@ -2,6 +2,7 @@ + Smart Patient Monitoring diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..901ca51 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,27 @@ +server { + listen 80; + server_name _; + + root /usr/share/nginx/html; + index index.html; + + # If you kept `base: '/Frontend/'` in vite.config.js, + # requests will come in as /Frontend/assets/... . + # This block maps /Frontend/* to the same files under the site root. + location /Frontend/ { + alias /usr/share/nginx/html/; + try_files $uri $uri/ /index.html; + } + + # Default SPA routing (React Router, etc.) + location / { + try_files $uri $uri/ /index.html; + } + + # Optional: cache static assets aggressively + location ~* \.(?:js|css|png|jpg|jpeg|gif|svg|ico|webp|woff2?)$ { + expires 30d; + add_header Cache-Control "public, max-age=2592000, immutable"; + try_files $uri =404; + } +} diff --git a/package-lock.json b/package-lock.json index aa902f7..cc062b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,29 +8,28 @@ "name": "smart-patient-monitoring", "version": "1.0.0", "dependencies": { - "lucide-react": "^0.263.1", - "react": "^18.3.1", - "react-dom": "^18.3.1" + "@stomp/stompjs": "^7.2.1", + "@tailwindcss/vite": "^4.1.18", + "axios": "^1.13.2", + "chart.js": "^4.5.1", + "cookie": "^1.1.1", + "emoji-picker-react": "^4.17.1", + "lucide-react": "^0.555.0", + "react": "^19.2.0", + "react-chartjs-2": "^5.3.1", + "react-dom": "^19.2.0", + "react-router-dom": "^7.10.1", + "recharts": "^3.6.0", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "set-cookie-parser": "^2.7.2", + "sockjs-client": "^1.6.1", + "tailwindcss": "^4.1.18" }, "devDependencies": { "@vitejs/plugin-react": "^4.3.1", - "autoprefixer": "^10.4.17", - "postcss": "^8.4.35", - "tailwindcss": "^3.4.1", - "vite": "^5.4.2" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "vite": "^5.4.2", + "vite-plugin-node-polyfills": "^0.25.0" } }, "node_modules/@babel/code-frame": { @@ -322,7 +321,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -339,7 +337,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -356,7 +353,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -373,7 +369,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -390,7 +385,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -407,7 +401,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -424,7 +417,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -441,7 +433,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -458,7 +449,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -475,7 +465,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -492,7 +481,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -509,7 +497,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -526,7 +513,6 @@ "cpu": [ "mips64el" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -543,7 +529,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -560,7 +545,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -577,7 +561,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -594,7 +577,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -611,7 +593,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -626,9 +607,8 @@ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", "cpu": [ - "x64" + "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -645,7 +625,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -662,7 +641,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -679,7 +657,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -696,7 +673,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -710,7 +686,6 @@ "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", @@ -721,7 +696,6 @@ "version": "2.3.5", "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -732,7 +706,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -742,64 +715,112 @@ "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.31", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, + "node_modules/@kurkle/color": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", + "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", + "license": "MIT" + }, + "node_modules/@reduxjs/toolkit": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.11.2.tgz", + "integrity": "sha512-Kd6kAHTA6/nUpp8mySPqj3en3dm0tdMIgbttnQ1xFMVpufoj+ADi8pXLBsd4xzTRHQa7t/Jv8W5UnCuW4kuWMQ==", "license": "MIT", "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@standard-schema/spec": "^1.0.0", + "@standard-schema/utils": "^0.3.0", + "immer": "^11.0.0", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.1.0" }, - "engines": { - "node": ">= 8" + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, + "node_modules/@reduxjs/toolkit/node_modules/immer": { + "version": "11.1.3", + "resolved": "https://registry.npmjs.org/immer/-/immer-11.1.3.tgz", + "integrity": "sha512-6jQTc5z0KJFtr1UgFpIL3N9XSC3saRaI9PwWtzM2pSqkNGtiNkYY2OSwkOGDK2XcTRcLb1pi/aNkKZz0nxVH4Q==", "license": "MIT", - "engines": { - "node": ">= 8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/plugin-inject": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz", + "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", "dev": true, "license": "MIT", "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@rollup/pluginutils": "^5.0.1", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.3" }, "engines": { - "node": ">= 8" + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", - "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.54.0", @@ -808,7 +829,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -822,7 +842,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -836,7 +855,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -850,7 +868,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -864,7 +881,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -878,7 +894,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -892,7 +907,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -906,7 +920,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -920,7 +933,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -934,7 +946,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -948,7 +959,6 @@ "cpu": [ "loong64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -962,7 +972,6 @@ "cpu": [ "ppc64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -976,7 +985,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -990,7 +998,6 @@ "cpu": [ "riscv64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1004,7 +1011,6 @@ "cpu": [ "s390x" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1018,7 +1024,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1032,7 +1037,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1046,7 +1050,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1060,7 +1063,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1074,7 +1076,6 @@ "cpu": [ "ia32" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1088,7 +1089,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -1102,809 +1102,2586 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ "win32" ] }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } + "node_modules/@standard-schema/spec": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz", + "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==", + "license": "MIT" }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } + "node_modules/@standard-schema/utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz", + "integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==", + "license": "MIT" }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } + "node_modules/@stomp/stompjs": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/@stomp/stompjs/-/stompjs-7.2.1.tgz", + "integrity": "sha512-DLd/WeicnHS5SsWWSk3x6/pcivqchNaEvg9UEGVqAcfYEBVmS9D6980ckXjTtfpXLjdLDsd96M7IuX4w7nzq5g==", + "license": "Apache-2.0" }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, + "node_modules/@tailwindcss/node": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.18.tgz", + "integrity": "sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.2" + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.18" } }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", - "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", - "dev": true, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.18.tgz", + "integrity": "sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==", "license": "MIT", - "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.27", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" - }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "node": ">= 10" }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-arm64": "4.1.18", + "@tailwindcss/oxide-darwin-x64": "4.1.18", + "@tailwindcss/oxide-freebsd-x64": "4.1.18", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.18", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.18", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.18", + "@tailwindcss/oxide-linux-x64-musl": "4.1.18", + "@tailwindcss/oxide-wasm32-wasi": "4.1.18", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.18", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.18" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.18.tgz", + "integrity": "sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 8" + "node": ">= 10" } }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.18.tgz", + "integrity": "sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==", + "cpu": [ + "arm64" + ], "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "node": ">= 10" } }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/autoprefixer": { - "version": "10.4.23", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz", - "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.18.tgz", + "integrity": "sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==", + "cpu": [ + "x64" ], "license": "MIT", - "dependencies": { - "browserslist": "^4.28.1", - "caniuse-lite": "^1.0.30001760", - "fraction.js": "^5.3.4", - "picocolors": "^1.1.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/baseline-browser-mapping": { - "version": "2.9.8", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.8.tgz", - "integrity": "sha512-Y1fOuNDowLfgKOypdc9SPABfoWXuZHBOyCS4cD52IeZBhr4Md6CLLs6atcxVrzRmQ06E7hSlm5bHHApPKR/byA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.js" + "node": ">= 10" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.18.tgz", + "integrity": "sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==", + "cpu": [ + "x64" + ], "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 10" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "license": "MIT", + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.18.tgz", + "integrity": "sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.18.tgz", + "integrity": "sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.18.tgz", + "integrity": "sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.18.tgz", + "integrity": "sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.18.tgz", + "integrity": "sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.18.tgz", + "integrity": "sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.1.0", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.18.tgz", + "integrity": "sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.18.tgz", + "integrity": "sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.18.tgz", + "integrity": "sha512-jVA+/UpKL1vRLg6Hkao5jldawNmRo7mQYrZtNHMIVpLfLhDml5nMRUo/8MwoX2vNXvnaXNNMedrMfMugAVX1nA==", + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.1.18", + "@tailwindcss/oxide": "4.1.18", + "tailwindcss": "4.1.18" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.7.tgz", + "integrity": "sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==", + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "license": "MIT" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "19.2.8", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.8.tgz", + "integrity": "sha512-3MbSL37jEchWZz2p2mjntRZtPt837ij10ApxKfgmXCTuHWagYg7iA5bqPw6C8BMPfwidlvfPI/fxOc42HLhcyg==", + "license": "MIT", + "peer": true, + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", + "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.4", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.11", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.11.tgz", + "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/bn.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/browser-resolve": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz", + "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve": "^1.17.0" + } + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^5.2.1", + "randombytes": "^2.1.0", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", + "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", + "dev": true, + "license": "ISC", + "dependencies": { + "bn.js": "^5.2.2", + "browserify-rsa": "^4.1.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.6.1", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.9", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/browserify-sign/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/browserify-sign/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/browserify-sign/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001762", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001762.tgz", + "integrity": "sha512-PxZwGNvH7Ak8WX5iXzoK1KPZttBXNPuaOvI2ZYU7NrlM+d9Ov+TUvlLOBNGzVXAntMSMMlJPd+jY6ovrVjSmUw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chart.js": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz", + "integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==", + "license": "MIT", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=8" + } + }, + "node_modules/cipher-base": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.7.tgz", + "integrity": "sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/crypto-browserify": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", + "integrity": "sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserify-cipher": "^1.0.1", + "browserify-sign": "^4.2.3", + "create-ecdh": "^4.0.4", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "diffie-hellman": "^5.0.3", + "hash-base": "~3.0.4", + "inherits": "^2.0.4", + "pbkdf2": "^3.1.2", + "public-encrypt": "^4.0.3", + "randombytes": "^2.1.0", + "randomfill": "^1.0.4" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT", + "peer": true + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==", + "license": "MIT" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "license": "MIT" + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/domain-browser": { + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz", + "integrity": "sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://bevry.me/fund" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.267", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "dev": true, + "license": "ISC" + }, + "node_modules/elliptic": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-picker-react": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/emoji-picker-react/-/emoji-picker-react-4.17.1.tgz", + "integrity": "sha512-DxGGPxHRcH/PnGFZEVkWSNZoFg8UO2/kikZrp/OZ8CBz5F/mKJbKLcd1anxeV8Hu1ZzY8MBuNnFG2wSJYkf1Ug==", + "license": "MIT", + "dependencies": { + "flairup": "1.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.18.4", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.4.tgz", + "integrity": "sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==", + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-toolkit": { + "version": "1.43.0", + "resolved": "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.43.0.tgz", + "integrity": "sha512-SKCT8AsWvYzBBuUqMk4NPwFlSdqLpJwmy6AP322ERn8W2YLIB6JBXnwMI2Qsh2gfphT3q7EKAxKb23cvFHFwKA==", + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/eventsource": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz", + "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "license": "MIT" + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flairup": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/flairup/-/flairup-1.0.0.tgz", + "integrity": "sha512-IKlE+pNvL2R+kVL1kEhUYqRxVqeFnjiIvHWDMLFXNaqyUdFXQM2wte44EfMYJNHkW16X991t2Zg8apKkhv7OBA==", + "license": "MIT" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC" + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz", + "integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "license": "MIT" + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, "funding": [ { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" + "type": "github", + "url": "https://github.com/sponsors/feross" }, { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" + "type": "patreon", + "url": "https://www.patreon.com/feross" }, { - "type": "github", - "url": "https://github.com/sponsors/ai" + "type": "consulting", + "url": "https://feross.org/support" } ], + "license": "BSD-3-Clause" + }, + "node_modules/immer": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.2.0.tgz", + "integrity": "sha512-d/+XTN3zfODyjr89gM3mPq1WNX2B8pYsu7eORitdwyA2sBubnTl3laYlBk4sXY5FUa5qTZGBDPJICVbvqzjlbw==", "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" - }, - "bin": { - "browserslist": "cli.js" - }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "license": "ISC", "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">=12" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "node_modules/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001760", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", - "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, "license": "MIT", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "hasown": "^2.0.2" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 0.4" }, "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", "dev": true, - "license": "ISC", + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dev": true, "license": "MIT", "dependencies": { - "ms": "^2.1.3" + "which-typed-array": "^1.1.16" }, "engines": { - "node": ">=6.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true, - "license": "Apache-2.0" + "license": "MIT" + }, + "node_modules/isomorphic-timers-promises": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/isomorphic-timers-promises/-/isomorphic-timers-promises-1.0.1.tgz", + "integrity": "sha512-u4sej9B1LPSxTGKB/HiuzvEQnXH0ECYkSVQU39koSwmFAxhlEAFl9RdTvLv4TOTQUgBS5O3O5fwUxk6byBZ+IQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true, "license": "MIT" }, - "node_modules/electron-to-chromium": { - "version": "1.5.267", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", - "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, - "license": "ISC" + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } }, - "node_modules/esbuild": { - "version": "0.21.5", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", - "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "hasInstallScript": true, "license": "MIT", "bin": { - "esbuild": "bin/esbuild" + "json5": "lib/cli.js" }, "engines": { - "node": ">=12" + "node": ">= 0.8.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.5", - "@esbuild/android-arm": "0.21.5", - "@esbuild/android-arm64": "0.21.5", - "@esbuild/android-x64": "0.21.5", - "@esbuild/darwin-arm64": "0.21.5", - "@esbuild/darwin-x64": "0.21.5", - "@esbuild/freebsd-arm64": "0.21.5", - "@esbuild/freebsd-x64": "0.21.5", - "@esbuild/linux-arm": "0.21.5", - "@esbuild/linux-arm64": "0.21.5", - "@esbuild/linux-ia32": "0.21.5", - "@esbuild/linux-loong64": "0.21.5", - "@esbuild/linux-mips64el": "0.21.5", - "@esbuild/linux-ppc64": "0.21.5", - "@esbuild/linux-riscv64": "0.21.5", - "@esbuild/linux-s390x": "0.21.5", - "@esbuild/linux-x64": "0.21.5", - "@esbuild/netbsd-x64": "0.21.5", - "@esbuild/openbsd-x64": "0.21.5", - "@esbuild/sunos-x64": "0.21.5", - "@esbuild/win32-arm64": "0.21.5", - "@esbuild/win32-ia32": "0.21.5", - "@esbuild/win32-x64": "0.21.5" + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=6" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=8.6.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 6" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "license": "MIT", + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" + "node": ">= 12.0.0" }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/fraction.js": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", - "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", - "dev": true, - "license": "MIT", + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": "*" + "node": ">= 12.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/rawify" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", "optional": true, "os": [ - "darwin" + "win32" ], "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, - "license": "MIT", + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, "license": "ISC", "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" + "yallist": "^3.0.2" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, + "node_modules/lucide-react": { + "version": "0.555.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.555.0.tgz", + "integrity": "sha512-D8FvHUGbxWBRQM90NZeIyhAvkFfsh3u9ekrMvJ30Z6gnpBHS6HC6ldLg7tL45hwiIz/u66eKDtdA23gwwGsAHA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", "license": "MIT", "dependencies": { - "function-bind": "^1.1.2" - }, + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", "engines": { "node": ">= 0.4" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", "dev": true, "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true, "license": "MIT", "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" + "bn.js": "^4.0.0", + "brorand": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "miller-rabin": "bin/miller-rabin" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "dev": true, + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "license": "MIT", "dependencies": { - "is-extglob": "^2.1.1" + "mime-db": "1.52.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } + "license": "ISC" }, - "node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", "dev": true, - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "license": "MIT" }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "license": "MIT", "bin": { - "json5": "lib/cli.js" + "nanoid": "bin/nanoid.cjs" }, "engines": { - "node": ">=6" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, "license": "MIT" - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lucide-react": { - "version": "0.263.1", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.263.1.tgz", - "integrity": "sha512-keqxAx97PlaEN89PXZ6ki1N8nRjGWtDa4021GFYLNj0RgruM5odbpl8GHTExj0hhPq3sF6Up0gnxt6TSHu+ovw==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + }, + "node_modules/node-stdlib-browser": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.3.1.tgz", + "integrity": "sha512-X75ZN8DCLftGM5iKwoYLA3rjnrAEs97MkzvSd4q2746Tgpg8b8XWiBGiBG4ZpgcAqBgtgPHTiAc8ZMCvZuikDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "assert": "^2.0.0", + "browser-resolve": "^2.0.0", + "browserify-zlib": "^0.2.0", + "buffer": "^5.7.1", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "create-require": "^1.1.1", + "crypto-browserify": "^3.12.1", + "domain-browser": "4.22.0", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "isomorphic-timers-promises": "^1.0.1", + "os-browserify": "^0.3.0", + "path-browserify": "^1.0.1", + "pkg-dir": "^5.0.0", + "process": "^0.11.10", + "punycode": "^1.4.1", + "querystring-es3": "^0.2.1", + "readable-stream": "^3.6.0", + "stream-browserify": "^3.0.0", + "stream-http": "^3.2.0", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.1", + "url": "^0.11.4", + "util": "^0.12.4", + "vm-browserify": "^1.0.1" + }, + "engines": { + "node": ">=10" } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, "license": "MIT", "engines": { - "node": ">= 8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "node_modules/object-is": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz", + "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==", "dev": true, "license": "MIT", "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1" }, "engines": { - "node": ">=8.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dev": true, "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": ">=8.6" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "dev": true, "license": "MIT" }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, "license": "MIT", "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" + "dependencies": { + "p-limit": "^3.0.2" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true, - "license": "MIT" + "license": "(MIT AND Zlib)" }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/parse-asn1": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", + "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", "dev": true, - "license": "MIT", + "license": "ISC", + "dependencies": { + "asn1.js": "^4.10.1", + "browserify-aes": "^1.2.0", + "evp_bytestokey": "^1.0.3", + "pbkdf2": "^3.1.5", + "safe-buffer": "^5.2.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=8" } }, "node_modules/path-parse": { @@ -1914,11 +3691,28 @@ "dev": true, "license": "MIT" }, + "node_modules/pbkdf2": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", + "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "ripemd160": "^2.0.3", + "safe-buffer": "^5.2.1", + "sha.js": "^2.4.12", + "to-buffer": "^1.2.1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, "license": "ISC" }, "node_modules/picomatch": { @@ -1934,31 +3728,33 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", "dev": true, "license": "MIT", + "dependencies": { + "find-up": "^5.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/pirates": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", - "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", "dev": true, "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 0.4" } }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -1983,141 +3779,173 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" + "node": ">= 0.8.0" } }, - "node_modules/postcss-js": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.1.0.tgz", - "integrity": "sha512-oIAOTqgIo7q2EOwbhb8UalYePMvYoIeRY2YKntdpFQXNosSu3vLrniGgmH9OKs/qAkfoj5oB3le/7mINW1LCfw==", + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, "engines": { - "node": "^12 || ^14 || >= 16" - }, - "peerDependencies": { - "postcss": "^8.4.21" + "node": ">= 0.6.0" } }, - "node_modules/postcss-nested": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", - "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.1.1" - }, - "engines": { - "node": ">=12.0" - }, - "peerDependencies": { - "postcss": "^8.2.14" + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" } }, - "node_modules/postcss-selector-parser": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", - "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz", + "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "side-channel": "^1.1.0" }, "engines": { - "node": ">=4" + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==", "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "license": "MIT" }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } }, - "node_modules/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", - "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0" - }, + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz", + "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==", + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/react-chartjs-2": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.3.1.tgz", + "integrity": "sha512-h5IPXKg9EXpjoBzUfyWJvllMjG2mQ4EiuHQFhms/AjUm0XSZHhyRy2xVmLXHKrtcdrPO4mnGqRtYoD0vp95A0A==", + "license": "MIT", + "peerDependencies": { + "chart.js": "^4.1.1", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/react-dom": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", - "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.3" + } + }, + "node_modules/react-is": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.3.tgz", + "integrity": "sha512-qJNJfu81ByyabuG7hPFEbXqNcWSU3+eVus+KJs+0ncpGfMyYdvSmxiJxbWR65lYi1I+/0HBcliO029gc4F+PnA==", + "license": "MIT", + "peer": true + }, + "node_modules/react-redux": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", "license": "MIT", "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.2" + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" }, "peerDependencies": { - "react": "^18.3.1" + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", + "redux": "^5.0.0" } }, "node_modules/react-refresh": { @@ -2125,47 +3953,112 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", "dev": true, + "license": "MIT" + }, + "node_modules/react-router": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.11.0.tgz", + "integrity": "sha512-uI4JkMmjbWCZc01WVP2cH7ZfSzH91JAZUDd7/nIprDgWxBV1TkkmLToFh7EbMTcMak8URFRa2YoBL/W8GWnCTQ==", "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, + "node_modules/react-router-dom": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.11.0.tgz", + "integrity": "sha512-e49Ir/kMGRzFOOrYQBdoitq3ULigw4lKbAyKusnvtDu2t4dBX4AGYPrzNvorXmVuOyeakai6FUPW5MmibvVG8g==", "license": "MIT", "dependencies": { - "pify": "^2.3.0" + "react-router": "7.11.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": ">=8.10.0" + "node": ">= 6" } }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, + "node_modules/recharts": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-3.6.0.tgz", + "integrity": "sha512-L5bjxvQRAe26RlToBAziKUB7whaGKEwD3znoM6fz3DrTowCIC/FnJYnuq1GEzB8Zv2kdTfaxQfi5GoH0tBinyg==", "license": "MIT", + "workspaces": [ + "www" + ], + "dependencies": { + "@reduxjs/toolkit": "1.x.x || 2.x.x", + "clsx": "^2.1.1", + "decimal.js-light": "^2.5.1", + "es-toolkit": "^1.39.3", + "eventemitter3": "^5.0.1", + "immer": "^10.1.1", + "react-redux": "8.x.x || 9.x.x", + "reselect": "5.1.1", + "tiny-invariant": "^1.3.3", + "use-sync-external-store": "^1.2.2", + "victory-vendor": "^37.0.2" + }, "engines": { - "node": ">=8.6" + "node": ">=18" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-is": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "license": "MIT" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "license": "MIT", + "peerDependencies": { + "redux": "^5.0.0" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/reselect": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", + "license": "MIT" + }, "node_modules/resolve": { "version": "1.22.11", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", @@ -2187,29 +4080,88 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "node_modules/ripemd160": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", + "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hash-base": "^3.1.2", + "inherits": "^2.0.4" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ripemd160/node_modules/hash-base": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", + "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ripemd160/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/ripemd160/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/ripemd160/node_modules/readable-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/ripemd160/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "dependencies": { + "safe-buffer": "~5.1.0" } }, + "node_modules/ripemd160/node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, "node_modules/rollup": { "version": "4.54.0", "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.54.0.tgz", "integrity": "sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==", - "dev": true, "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, "engines": { "node": ">=18.0.0", "npm": ">=8.0.0" @@ -2240,11 +4192,10 @@ "fsevents": "~2.3.2" } }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -2259,19 +4210,31 @@ "url": "https://feross.org/support" } ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, "license": "MIT", "dependencies": { - "queue-microtask": "^1.2.2" + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/scheduler": { - "version": "0.23.2", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", - "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" }, "node_modules/semver": { "version": "6.3.1", @@ -2283,55 +4246,88 @@ "semver": "bin/semver.js" } }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "node_modules/set-cookie-parser": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz", + "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==", + "license": "MIT" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, - "license": "BSD-3-Clause", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/sucrase": { - "version": "3.35.1", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.1.tgz", - "integrity": "sha512-DhuTmvZWux4H1UOnWMB3sk0sbaCVOoQZjv8u1rDoTV0HTdGem9hkAZtl4JZy8P2z4Bg0nT+YMeOFyVr4zcG5Tw==", + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/sha.js": { + "version": "2.4.12", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.12.tgz", + "integrity": "sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w==", + "dev": true, + "license": "(MIT AND BSD-3-Clause)", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "tinyglobby": "^0.2.11", - "ts-interface-checker": "^0.1.9" + "inherits": "^2.0.4", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.0" }, "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" + "sha.js": "bin.js" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 0.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, "engines": { - "node": ">= 6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/supports-preserve-symlinks-flag": { + "node_modules/side-channel-list": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, "engines": { "node": ">= 0.4" }, @@ -2339,159 +4335,215 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tailwindcss": { - "version": "3.4.19", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", - "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.6.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.7", - "lilconfig": "^3.1.3", - "micromatch": "^4.0.8", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.47", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.2 || ^5.0 || ^6.0", - "postcss-nested": "^6.2.0", - "postcss-selector-parser": "^6.1.2", - "resolve": "^1.22.8", - "sucrase": "^3.35.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" }, "engines": { - "node": ">=14.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tailwindcss/node_modules/lilconfig": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", - "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, "engines": { - "node": ">=14" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/antonk52" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tailwindcss/node_modules/postcss-load-config": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", - "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/sockjs-client": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.1.tgz", + "integrity": "sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==", "license": "MIT", "dependencies": { - "lilconfig": "^3.1.1" + "debug": "^3.2.7", + "eventsource": "^2.0.2", + "faye-websocket": "^0.11.4", + "inherits": "^2.0.4", + "url-parse": "^1.5.10" }, "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "jiti": ">=1.21.0", - "postcss": ">=8.0.9", - "tsx": "^4.8.1", - "yaml": "^2.4.2" + "node": ">=12" }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - }, - "postcss": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } + "funding": { + "url": "https://tidelift.com/funding/github/npm/sockjs-client" + } + }, + "node_modules/sockjs-client/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "node_modules/stream-browserify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", + "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==", "dev": true, "license": "MIT", "dependencies": { - "any-promise": "^1.0.0" + "inherits": "~2.0.4", + "readable-stream": "^3.5.0" } }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "node_modules/stream-http": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.2.0.tgz", + "integrity": "sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==", + "dev": true, + "license": "MIT", + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "xtend": "^4.0.2" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, "license": "MIT", "dependencies": { - "thenify": ">= 3.1.0 < 4" + "safe-buffer": "~5.2.0" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.18", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.18.tgz", + "integrity": "sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==", + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "license": "MIT", "engines": { - "node": ">=0.8" + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "setimmediate": "^1.0.4" }, "engines": { - "node": ">=12.0.0" + "node": ">=0.6.0" + } + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", + "license": "MIT" + }, + "node_modules/to-buffer": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz", + "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "engines": { + "node": ">= 0.4" } }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", "dev": true, + "license": "MIT" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "prelude-ls": "^1.2.1" }, "engines": { - "node": ">=8.0" + "node": ">= 0.8.0" } }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dev": true, - "license": "Apache-2.0" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/update-browserslist-db": { "version": "1.2.3", @@ -2524,6 +4576,53 @@ "browserslist": ">= 4.21.0" } }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "license": "MIT", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -2531,11 +4630,32 @@ "dev": true, "license": "MIT" }, + "node_modules/victory-vendor": { + "version": "37.3.6", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-37.3.6.tgz", + "integrity": "sha512-SbPDPdDBYp+5MJHhBCAyI7wKM3d5ivekigc2Dk2s7pgbZ9wIgIBYGVw4zGHBml/qTFbexrofXW6Gu4noGxrOwQ==", + "license": "MIT AND ISC", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, "node_modules/vite": { "version": "5.4.21", "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz", "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", - "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.21.3", @@ -2591,6 +4711,94 @@ } } }, + "node_modules/vite-plugin-node-polyfills": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/vite-plugin-node-polyfills/-/vite-plugin-node-polyfills-0.25.0.tgz", + "integrity": "sha512-rHZ324W3LhfGPxWwQb2N048TThB6nVvnipsqBUJEzh3R9xeK9KI3si+GMQxCuAcpPJBVf0LpDtJ+beYzB3/chg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/plugin-inject": "^5.0.5", + "node-stdlib-browser": "^1.3.1" + }, + "funding": { + "url": "https://github.com/sponsors/davidmyersdev" + }, + "peerDependencies": { + "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", + "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -2598,22 +4806,17 @@ "dev": true, "license": "ISC" }, - "node_modules/yaml": { - "version": "2.8.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", - "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "bin": { - "yaml": "bin.mjs" - }, + "license": "MIT", "engines": { - "node": ">= 14.6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/eemeli" + "url": "https://github.com/sponsors/sindresorhus" } } } diff --git a/package.json b/package.json index 9a6b284..6c75c94 100644 --- a/package.json +++ b/package.json @@ -8,15 +8,27 @@ "preview": "vite preview" }, "dependencies": { - "react": "^18.3.1", - "react-dom": "^18.3.1", - "lucide-react": "^0.263.1" + "@stomp/stompjs": "^7.2.1", + "@tailwindcss/vite": "^4.1.18", + "axios": "^1.13.2", + "chart.js": "^4.5.1", + "cookie": "^1.1.1", + "emoji-picker-react": "^4.17.1", + "lucide-react": "^0.555.0", + "react": "^19.2.0", + "react-chartjs-2": "^5.3.1", + "react-dom": "^19.2.0", + "react-router-dom": "^7.10.1", + "recharts": "^3.6.0", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "set-cookie-parser": "^2.7.2", + "sockjs-client": "^1.6.1", + "tailwindcss": "^4.1.18" }, "devDependencies": { "@vitejs/plugin-react": "^4.3.1", "vite": "^5.4.2", - "tailwindcss": "^3.4.1", - "postcss": "^8.4.35", - "autoprefixer": "^10.4.17" + "vite-plugin-node-polyfills": "^0.25.0" } } diff --git a/postcss.config.js b/postcss.config.js deleted file mode 100644 index 2e7af2b..0000000 --- a/postcss.config.js +++ /dev/null @@ -1,6 +0,0 @@ -export default { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, -} diff --git a/public/doc.webp b/public/doc.webp new file mode 100644 index 0000000000000000000000000000000000000000..ec6f9a479c48d49112918d5cd8f2ce71b4b42d56 GIT binary patch literal 284512 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%0ANb4Ba;X!6zK21c>4JKr42ndZv>ZL3dPBy7lp85a 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 literal 0 HcmV?d00001 diff --git a/src/App.jsx b/src/App.jsx index e94493d..2f998ad 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,14 +1,39 @@ -import Header from "./pages/HomePage/components/Header" -import Hero from "./pages/HomePage/components/Hero" -import Features from "./pages/HomePage/components/Features" -import FooterCTA from "./pages/HomePage/components/FooterCTA" +import { HashRouter as Router, Routes, Route, useLocation } from "react-router-dom"; +import { useState, useEffect } from "react"; -function App() { +import Loader from "./components/Loader"; + +import Header from "./pages/HomePage/components/Header"; +import Hero from "./pages/HomePage/components/Hero"; +import Features from "./pages/HomePage/components/Features"; +import FooterCTA from "./pages/HomePage/components/FooterCTA"; + +import RoleSelectionPage from "./pages/Login_Signup/RoleSelectPage"; + +import LoginDoctor from "./pages/Login_Signup/loginPageDoctor"; +import LoginPatient from "./pages/Login_Signup/loginPagePatient"; +import LoginAdmin from "./pages/Login_Signup/loginPageAdmin"; +import AdminAccessPage from "./pages/Login_Signup/AdminAccessPage"; +import SignupAdmin from "./pages/Login_Signup/signupPageAdmin"; +import SignupPatient from "./pages/Login_Signup/signupPagePatient"; + +import ForgotPasswordPage from "./pages/Login_Signup/ForgotPasswordPage"; +import ResetPasswordPage from "./pages/Login_Signup/ResetPasswordPage"; + +import PatientPortal from "./pages/PatientPortal/PatientPortal"; +import AdminDashboard from "./components/AdminPortal/AdminDashboard"; +import DocDashboard from "./pages/DoctorsPage/DocDashboard"; +import DocViewPatient from "./pages/DoctorViewPatient/DoctorPatientView"; + +import AdminConfirmAppointments from "./components/PatientPortal/bookings/AdminConfirmAppointments"; + + +function HomePage() { const stats = [ { value: "24/7", label: "Monitoring" }, { value: "99.9%", label: "Uptime" }, { value: "AI-POWERED", label: "Predictions" }, - ] + ]; const features = [ { @@ -47,7 +72,7 @@ function App() { title: "IoT Management", description: "Real-time device monitoring and fleet management", }, - ] + ]; return ( <> @@ -56,7 +81,63 @@ function App() { - ) + ); +} + + +/* Route wrapper to detect page change */ +function AppContent() { + const location = useLocation(); + const [loading, setLoading] = useState(false); + + useEffect(() => { + setLoading(true); + + const timer = setTimeout(() => { + setLoading(false); + }, 1000); // loader time when switching pages + + return () => clearTimeout(timer); + }, [location]); + + return ( + <> + {loading && } + + + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + } /> + } /> + + } /> + } /> + } /> + } /> + + } + /> + + + ); +} + + +function App() { + return ( + + + + ); } -export default App +export default App; \ No newline at end of file diff --git a/src/api.js b/src/api.js new file mode 100644 index 0000000..0dc6500 --- /dev/null +++ b/src/api.js @@ -0,0 +1 @@ +export const API_BASE_URL = import.meta.env.VITE_API_URL; diff --git a/src/api/api.js b/src/api/api.js new file mode 100644 index 0000000..fdea9c1 --- /dev/null +++ b/src/api/api.js @@ -0,0 +1,119 @@ +import axios from "axios"; + +const API = axios.create({ + baseURL: `${import.meta.env.VITE_API_URL}/api`, +}); + + +/* ========================= + Attach JWT token (if exists) +========================= */ +API.interceptors.request.use((config) => { + const token = localStorage.getItem("token"); + if (token) config.headers.Authorization = `Bearer ${token}`; + return config; +}); + +/* ========================= + SPECIAL DOCTOR CRUD (ADMIN) +========================= */ +export const getDoctors = async () => { + const res = await API.get("/doctors"); + return res.data; +}; + +export const addDoctor = async (doctorData) => { + const res = await API.post("/doctors", doctorData); + return res.data; +}; + +export const updateDoctor = async (doctorId, doctorData) => { + const res = await API.put(`/doctors/${doctorId}`, doctorData); + return res.data; +}; + +export const deleteDoctor = async (doctorId) => { + const res = await API.delete(`/doctors/${doctorId}`); + return res.data; +}; + +/* ========================= + DOCTOR AVAILABILITY + (Assumes you have AvailabilityController paths like these) +========================= */ +export const getAvailableSlots = async (doctorId, date) => { + const res = await API.get(`/availability/doctor/${doctorId}`, { + params: { date }, + }); + return res.data; +}; + +export const saveAvailability = async ({ doctorId, date, times }) => { + const res = await API.post("/availability", { + doctorId, + date, + times, + }); + return res.data; +}; + +export const updateAvailabilitySlot = async (id, slotData) => { + const res = await API.put(`/availability/${id}`, slotData); + return res.data; +}; + +export const deleteAvailabilitySlot = async (id) => { + const res = await API.delete(`/availability/${id}`); + return res.data; +}; + +/* ========================= + APPOINTMENTS +========================= */ +export const bookAppointment = async (data) => { + // POST /api/appointments/book + const res = await API.post("/appointments/book", data); + return res.data; +}; + +export const getAppointmentTypes = async () => { + // GET /api/appointment-types + const res = await API.get("/appointment-types"); + return res.data; +}; + +// This matches your current backend controller: +// GET /api/appointments/user/success +export const getUserAppointments = async () => { + try { + const res = await API.get("/appointments/user/success"); + return res.data; + } catch (err) { + console.error("Error fetching appointments:", err); + return []; + } +}; + +/* ========================= + ADMIN – APPOINTMENTS +========================= */ + +// This matches AdminAppointmentController: +// GET /api/admin/appointments +export const getAllAppointments = async () => { + const res = await API.get("/admin/appointments"); + return res.data; +}; + +// This matches AdminAppointmentController: +// POST /api/admin/appointments/confirm/{id}?physicalLocation=... OR ?zoomLink=... +export const confirmAppointment = async (appointmentId, params) => { + const res = await API.post( + `/admin/appointments/confirm/${appointmentId}`, + null, + { params } // axios will convert this to query string + ); + return res.data; +}; + +export default API; diff --git a/src/assets/images/admin.png b/src/assets/images/admin.png new file mode 100644 index 0000000000000000000000000000000000000000..761654a5ae310ca2d767299bd4f050a89ab16e2c GIT binary patch literal 3100 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/smartcare-logo.png b/src/assets/images/smartcare-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5bbc3415276b80ed57a4fc9988bfcceced63ca0a GIT binary patch literal 80684 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%0At?FRq~6agF1CKm2pCuF8FMMv&4+k{r zZ5s>t-Wc3CbaKK~mzrQ7uj8#lf5>G;D~+*_Xa&(2NM{oqp0sGCxHIt_$YHYr-ZP+SCx@L zu3=;+t1(^yGo#&of9LHir>=W}k0;AaZ;^7bb$3SZ!64R>U9$ef3&7yNn?~^VDFyEv zTAPYJN-3YKhgl_hVDGZy><-C}c*h(JO#xHR;Br4tvdzRtk{w=XqLf^!%3bpq#HL;` zh%)!r@KRM@0aL69dW}7Y=TOO^M0`~Ht}@1k-Q1zQP5XVe-2>47>K}p-o z+KC{Ou8v)!-WA2&sB6TLbLxQ6EQON8rR$3LEuExH$qMZF>Y*R^28zq=^~agS_iM{5 zS!yJz77fp9#TyY#BWfhyezXXzDxb)%x@~pYu2^5m1sXU>C3IfbG*58h-6dqtdY24< zbdA?9te0D&8aiC_JxDQC>dE8CZ5Zs96*iO~=~*N<-c5Jw(vJFU4Wj@hJnWD&-W;4j zaCqygwn}^=7jVP}MKY%;r>mu{>%qZeRIztK$LtV3h^$8aQ;_89mg9-qS5(!uYk;Qy z04(m8RMn`)-XLsfTq8tD6Uk}wt(rW*OMftG0tqP&Tie0MsB$D3d< z*_$REb@>tk2bT7#T)hNd9Tx|0sT>vCA!nN*=SV2w(e#5Q$LdWzaoy63?QnAQJZEk^ zPE4b+8=eh|v4}4fUb*E*!Kzq-7voLZy^B#@YuR)DN`u&$EpGa<-xGfeF<2y6L{J$5 zKX#)`2-&ie*cGy`*sj7eofb`|#qN|8N!AzKJ7dfcX($Bx}k>d%vF3l_il! zanmhCDpsYrhV5o#VhQ72j)&$b$S@Mmw~1g;oS$#`ygXC8Dq|aV#0dkktq$;g|7u)I)?=zel6ui_6)ZH znr=Wv7~$=tztz^Bb@LDe2*N2c5_CreU7=T&DT&_JpYI<}o=IOsx2&;UIsQ9XWNI^$ z%jx+~=a-YjUcE*6*VNgIw zgoh+HMEJb?Y%>InY0Nhk2{g;OqYWuIxf=PaXe29FHQla%D^y4&A2;T3rOUSpXP&hv?~^F9%ay=~GMOZEAsycf^&1CPEQ=Ib zhxD*0{DE+UCKgSC6qVWcSToK8KJ1)cgL5^R6(hwWe(qU|jHeBt6)z<4 z(uCeKK1v|3c<*Qgbo1k;;cwstKt5u4InQ%e^hhz$2#pCd^3T?Z^WlU+&L-hDrc6u84kymhP!s z;DY#D{^!v4Uq-fi24)TxEQA?|;{NLr)aU)WkYzuaExR$(XYywkBATtjfwc|=2hJ(R z^r!Jx}(#iYcrd_ zpD!ZpYdQ7r_ut_Ef3f`b0VMQayTpGK?_X~Z2{2v%$^KuK{eLq5-)n>VpX~pA+5ac= z|6~q8pnpBK{cp8e{!ick{k{HA=KsFT|F3=hC;NY2_W#NJ- zvDMk#UsUB(WoK8`L}q3GUHkhJfUYR3APazi001C94#3|%NMZ#kDHAmfRapgPng29E zB0HEnxKItE} z{x2^656^#b`+s<}G^9RwrarK^_5Xp*{tx`W#{FOcK$&y?yZ!%LJS=@a{kc zI{k0&|D&t_se{7(5P=H-fGqx>I_E+FfdBEMKIwnz%(4N1wr~Idf8&4ZsJ{UKXkh?A z>#Vt_o7aEG01$rMCn3h6%wbaC?UA0)#clvLJTwv!vD|Z?*IS;9>N6D z4GMx10Eqzsg#qz*2tfStLSZ2OP3HeyAOR2`a>ByFf3y-p0H8h^|BqGx1mwTgzZ(E# zC@ z6A!0KR-yPmF_6I=$(#;gC_3>eW%TBT)c!uhm;*e+&}1V!`;@M^b##@Qc03k=whR25 zQw8V^uVcgQ16bCtYH|D3VaN<}#L1W#G8s$F+-KaN^^SCXCJ~(L^{=tv zM8d$X6)SGR@1CRhT(E0P*+Xdu5v(T! zLSMSthcO|fzo?T#J5ZQ?vN$0Sv{9#qma&`^FwyCPO+{Ix%~fAHa2E1a*(Uyu-5>xz z1r5-vu`yfgRSAsR>%QaUxo;gwS9-{}Ew0NyM-H5Eo_wm^`pRN=LG6UXw<{6F=n#CsG>l#~)bh%CATv9l?49c@^=YEN=+u z{wZa0GgD3v$g8k(q8db%l1b9$CoA#w6@wHa-6 z;Va^Is}SO*ler-Spy3YI zYi6!I;Owk6t`jAmzEGNIRTh67{7%YQ+h=T%ZY7MQ3ZLsDex?QCDc{NfyIo?c2Bu$qeh#ARH?PmoxPC2YpAc(thnESAoqhHe@~e; zo%!UG>uYU3l0uCQEfJ+<5mx~hCa$RH3ZH6L$4+AIW_B`bFX|{=P5~Llb z?_4U!5&^LK~Wr z(?9psBM(g|+|n`<+FKk{;J|3tU5dW3-olnwQ3h6oFRM_u792G8^r-{h1$J<}CAilv zvI^QhFmgRJp8pUlKDV^>{d{E1T5I)%NFVX+yoO<%+r}*niVDe|sBYYFRXed18>gj@ zFDSGx^vJ)+t~%trBqZRifQVWUSV}(;>MT7wktl0P_wvv{O74t5bP2OIg|VLt$L%3+d^DCOrHoFN#knFsYJUAZ z%he4on=CY8eoSOvB<`)tJ9B1LIl$vNuB*r|-mmV;E*U+S!)}n>H|vhhv*Vtii^|Rp z&&v?CMAIDVo0-jCk0^ZN+4tvTZ*Aac<)5C__7*c|?Hv53>6=&rO491dJJPjwP=Qr^ zMYZV3^#l@X-ajw)DF~MDc7T#}AY99!F;E?PnC&NisEL>FDC=d`do>TnWR}#_iD(MWurjCROHDnj>pf&iUj^K2Z0E~O zANRn~DT(|+ewFY3p<6YpY!o)Yt|rSE09QPwoVr|3=vApiXfHY8P-V8~INhUlIIA3w z8ss-`b-LF+f5y(Iv0TK6hy6_^ks@u{LQvQkBK6zV)_~zf(b< zxwG53rDE>kc9N-0OqD@@8ubS)khq3ucG0VWw>z<5Xkuw%2@aFa72LFR@6i-KFrF@^ zo5hS@eQtXEsb#*_R2F$u~YvyiAS18o;cszwUEH`q^oeSGf~E zcSyeiHKj`5#VB5JByibvPc_wN$Dxab0UN@N;H<@7inPn9Hj#T67kZHMlKRa~S5yX^!G>ut{=PyRcq@ZqIJZ_nz!_be>BYU_bY) zEA?shD2W%~7m~#zscQgS_3G$*`yQn#bIn@2Vz&6FF1T~s6~}UA`+5>zo-N=Y$25$rwhH`dG*K*VhzHTy{?G-Vgm|6|ewBHo8}AHMa7%^L3m6{u zmq<9Ylam#BTiV^TwV!gtMfHP>jB%GGp zjSinaL6LLHm&9YJFICAg=<0~Lk4~S-%y1i2W1pYu(3S+U0;i`@oy`1EHTf7~i+8;c z<`H@9Sxg7RbzXM$?F%NGp(cbpmcK8#2P$INHt8@`7WyR!xl3mo`(|@WB|66D4f&p* zyuAY%^VLP=yfPAInbt;1H3a9ub1w;E3k@Cz2hDBHu}sX2Dw((3^oYhOk%|)}CJ394+{ zjq+thT?WT#LQB`FrHA#`F5h^T^-#vcSF3XnrH%%aN>e0P!fKFeR!Cz<20?nncCFLc zL*wfo+g6duN8)FV=cE1BGX3s-=Cdn#hpT;-DX@Sag+9MGlE}cx!lwm9GrZke+Mbf6a)d0doS9CDO-PqOebu-6Ir7HkIXxSE zx*TwQNNEXqH71NabfJQJ7gpX|r{@l6-X>gyj_5QwcGmoQzvAa?i_1XW+_0|;p5HRz zfkI^+Gpl*;k^5#@&zJ?;68)|Ig8fPzZq~YX`tb>5F6t;bHCAl=b`&*7vJDy&vSHFs zgs`ZsE%hSP7;Z>s`W8|P!y(ox$RDb*fmSkh zHG`Z$3JPqFDQHQorkHD?aEVqH4JJrst?N)No~oMFkIXh zNq{U&=IjaUdK?2;j73>g(0aJph<)Wo5g?sVu}NH9J{T!O0iwXgmnvN=Wt4dxORy9V zSEvlm8eolwNx{w_YiWbZz0PUg-Y(prC)1?hsM1~Eo!V%-NbWJ_lmeZCsT{mW?u{*^ zQ@)c+=!XNDr9fhqO3UB=g{vuLetI#tPyf+p6Srl;&z-$X0K(PnkN|>KO7bTKWc*-( zO3;V@#)%GqgoJ?na5|wOKODIa7Y_mw00oVK34@M>O-@0{fkVa4$;HhhE&)qTBPA^< z^WoRQfAB%TKn9mI)0}@sNh5Z+q|_rCO-xzh!K*nhCPn@&@)ec{KL}?z@4*p_WG%Tq z*XqFnCbE`YpZ@?MRnS#OFYNW5JCIh%dE`@jFuRfcrV;p~3ftP;IY5t?{;98|t^F&z zy`uUX5Uaz$X(e+@mh)n`{O+lt6Fy2Fq*JjWRfh!1M}u3X_AeNb}hbirD{m{oh!ow%hKsO2sED;;s_g?fL56e~?ce+kQ7ZEPz~z?)IFa*TSk|ZuG$HDY0dc$~dUFo`;ZX&Q%}gyMA45 zCy~tNMNp?x?$K$dbMVhw^Me)|5=Ud- ztR9K+h{fOTXXLh%WW+mTAuY$Lc}#J`vs}oW7sEAO2Ap(-CDydI+&N04)Adr<)<>Jn zDkb*Im4^GpLzt_jBKX-ALvkvo_2-LNrL@ao2$j>cUm2b3^s6!sk8@+oI8Mce&2hY< z6BC^M&h=N5DP(oLt^o&@uRL?S7M9Yr)t2@MIY8P}h2k+X-g(@fX-hxL^!uu)EVkOi zuCU|pgFZ>Zs=wWZMC)$f34KH{WNfW?8*Zb%ZmmN}#wD@amc?`twiZ!15#QZ*%CfJZ zRd2vt-IjUB3w8VMn5$fq`g!T}YQ&&i8`*2PH7=L9apv6r#N5>O^;q3er{6NSz1;6$Qa^FUi6+tx9lvG+oL7gOWNzKW1VT{`ETBLml<76z5Wi0M<_#G zx+%(4C)9N@m$HDNvh1rE@1ZC?Af^E-f@GhdUqs_~-mNsSk}BWrcPA}gsM zae-hfVbNAa`hWvog%HB}Mu z1zpg;vE}8}le0{cbEYlV85AsAcbze-NXuF-g%Q(*d8~BT|D0m>u{5co`~_tEm?V4V z*Cicu2~Lc)12&aGc!sRulZvOOA9X6;WBjBj&5MCej3sO}Rt_#*Q7E^){5d+#BmO<2 zi8k2oRHR#O!WqlwOX$SLTl$l%mz9@Wx2pl;DF#vtb`4W?<8rxC(kj+?Ti&I&Z&lx9+=A5VP~v-a)l;Di(9}R!LKl)L_JXrA03EBRq3( z@Ii*4;{8~3QX=>VXoXW5)ag>Mbxu=a@Cv$si6bc1ct~sF--LXvR$51%S zyLZ?T@JkVKx$>kkP{8V@osU^0U2s8C(s1H8l7#SYnfS1zY6ZR-3XNclOp`SNsRre1>N>fe20*yAbx<_sIWX^v9 zDz?X;UUL)~QM@INa@+}{SWJcDt@%9PU&Y+Agbu$}HrzZL3 zbK#-q9BFe<<@_gd_SV{5`u|$>f-PbQ3eI4n;VEN(=L7=|qzB%QrGtgZk7(0+GKrTm z&GOw}fTrGZ1(3e6$H`&=<30KhAKafdzv`YrHX2oyLSNuwzz;s9zW|#2+|p?@v=+BF z57o=R0O}DzGDL0;`DauFm zG^MyhwRwzs1tX2WE&Pt4pq&{{o^c*E!uB;+CIzZWbMb zw)0c8UsDDEt)9Zq_PhmP3f^YF$Io%6Kw|MDD41%hr1QBpeGauHSNMoFP-Y%`#bBQo z?_q{*8*tCxy>{CaqI7M%PK=*6sTgOVSNj{r1w6@Q*2?g&_O|ra&&JTAMuV#nqE>Q; zMfaz7)z58P?@{lGa1TlMq+4T4cY7UVcZWmGkj0MpYp2En8J`tQ4i)CO3KvZeD{|xL z32E(|`z|!p*7?B#rLIgYbP>N00e&iBi?S06hQA=b!_zqFu69 zgrIfgQB8A?iD9(T45dL2pP+rS9NcoLKt=yf%S;mQgZ@ojr0CTlx4^`%z0NeeQ|3Ls z=^c6o7$C|_yd^gY19l|Vj8(T zLDja#l&Rhd40;v2b4lEU9{WX+Cw475{-m70xciw}Ngp&YQZX163-mx_Q}%dCo%T$4 z6FoHusuvr5!uZ~O`SVe~n-Be`j;D`SaN>*DMdW%yWVzHe^B?s6wfR@Fsku#SO_!(a zKm}`^RvzuIA_6Z+`)I=kI0kf2x%e8_Ar=p7Sk!(W;)Fj`l7o zvr>?uML`a-)iiEoza*@_gstfR;H!XGciZB9gzZ}H;7LE>v}-hf)lkWBM$Zmv($~IS z$@8nK*V7^*`gXK2cY-f|zh&69SYn>R+~i96Td|fr-m=xHp}SP94)sf6;_2trUk0Mz zGxD7?js;oW5+;G{26~ZmGhIcs_iCqcchf1(t)1;&nu31;Uc96BaRIG*9leIi&eq<1 zQ17jMXD-egrE=?NZD^v6gA!)p=hWjZKzzZRG#K1=-o7jE{Hz#M>miN>u1Uj3!3g~g zZ_5RENrF-P>Y_*w=eVxA)BX_SZ%PS?stPLG&2z#}HV=UfKcu&)EQJGNJ=yFP zbrx7SFo3b)Hc)s+f{@0|&7TNQjn8_jl693^S5PBp(iI)qhD|6NInQcuTF7}9GWiq~ z@I%Y7SM@h2_7FOESd>cgRN}j7AJz2iEyeqQp4{5Fok`o#juJO_j?FGp;l=yOa;OuR zH(i4zna)P0qI&wc_8y;G5MhC^79x&`!7t6rMt;613D@A{^2s2Er3@09x_i%iA@2p* z)ul3ByTz1ES(zL*f|b|50B5GdB0W!#gh=e3vFYy9wVb-OMtQg{l;v>EcJ5?V zqau@@3_>ZT;QZ0PzUVAOY0eVyl_Un}p{wiU|f zhdgLp^_Nu>MG^i&<>b$p3z<5EGVL$t1~AVOjwzcC2nKjWtpZ+GoNX;tGGiR48x?85 zrJXuw3Bg!NPu}U&317E4$%Y2mnglzra%B8)2*;F!F}+6aL$pn$H;YgPcrd$nymP&# z$#Xt^gD}TJJ4q&h^QD`Q=12^Yr_Z>PZm5CMLfe_rBR-91V$YxEb!rqP^iy!adMYee z@@M|lQe2El8r&f}G)87<+0HHTNWRV)%RQ?k z%&@rtM6b28jOhU;->cjQFlYsADijVLP&uUYNbLgc6brOujiMZ76&kibu>xD>_5HRs z2g3^I=LD9A+R%*BgvWv6I+a2vedz4BM*YSt?R?;4r4060r&_aB3pXZ`^O?tEUyG{? z@OElvBdgMcn_rx<{jLBH5?4*NwvIfG)@n}|<<0SG>0-mmTdFk;X30a4(o-@4jrn5R z%#YTg2R&}Xb3dOfFQj_EWz*Qk;Bo(L#-DF3J}s6HZuQRI8{X#?5m*RIM%F-T5UG@-MM4>Z}&zyY6)(0CtpJ`s9$ij3|;js7i zZMknywQ3vWihr>+Q_^jct<_c}<+DzNmKT||()(H?E3sYn8!|K2&qYn)5<&2GLg}J& z)=~iHrrw#`KbfQsMH509gf@;ZHhNruh3FL5HPVQs-$PgF*9nDuvSRGhoQH#lTul=;C zDu&v3b@?b``N*BxgUD4#gzXNOjht>d*_Ihv3{{j%N_W~ETp8y}g(?UtDk8hzgjaw#b`e)%>4=dfmp*tc=Z`6Qa+mS3H=`*RhY0L;8A|I;? zL7|Si*;+gzm{|#M)|u=-L;9;>R5-t7_pruH$SDJ=L~*lD)}L{xC!XI|{0SGNi}JH7 z(yTO96%PIRAapW%Po#q~H={4o$nC()>wM7hOs7j)S;!gf7YMe*5)5O{At91f`9|2Y2YMy|zcBXkA-Bq|`;7D=du+K*xmvoc5fW<65LNC~ zuq0|IM(spA<$5i2FwMb|oKz^Uqd*vyfoHRgl31O8~Ii46|Ba6~BykhMX zH1Z7KgSa&-*7_n&j_w0U^F=Xb=iWw=vF+seGO3!8l!zor12y-4pnNtQD2=du-gYLZ?%Z8TSOWTNd%L1jR(yS2A&DHx@LHq?6DX&f`f2ievV{ZW(0kU6M zaH>~8mL)XK>LBCV0nD@?DSxd$;m&BDJS51|1WH*lpD15|SzsL2gGQIwmB5;C4*%)f z>l|GAVhk6z6*C|Vi^1@VY=`p<@h zef5*yAfJ5n8D@^0GG>wlr|3%jq$+L`sM9%5=hao)r7(hj9LL=}heW~q>GEAx7F9gY?+DE5b%{gi!0Rsf5eNTCnTmhwA zGrFZ8-&BS|{ynkyR3*<(s_G_u<;+ck$N`Hi)*un@cd+$v0}FTrN~IKU0n6gU|B9nc zb=dsy!UTc=IX==72yveaNmVFrvaCKL3=1DUuea(Rte{wpH|nYsG!&T+g3wnHl{gm0 zy^&Txp>~qRZi^?07;l6hQ{qJf{`jmS#xy~g?&LpyU8+M#ppa=T59Y*EO42H?l%X9& zd^ji{wd&t50OG=u%qtvk6IKlc?>M513dIwo9mSi7QieP;`E%$#Ja6O@`^3>Xe?D2& z5B_HSAzudtw9?(4x?em&s}?r1MP7X&yj#HdP2v&!vk{5rSaa$R#2BjIAC3oXAXN}N zkP7~D%4+q=NS(Y~q#h|&-Ite9ipMW+NZ3+jFG^!k17zQ5BpnkPMi)gnpvkl(9x$10 zehladut%OCXpyeSy;*<%2yrrF{0nhHf8?w{KtugEhXn!>104#JoPq<3T>_etQ{5Ds zitD?$M!|oAn;&6NF^B?Dj*P__>NXU$xt>nmG#yOLMvl$wGm``%F-!5n4w*}=ZbiOp zkokY=BNk}rm>Xm3psAdj3e^bdYZ>Oid+Oaj&jD$&Jkct#y`*T=hw4;R?gX4MyiK+s zNuLy^aBOwM6v`^h{PWo4gCe!KF2272$W-i4!`KaawG6v;rfKSunAM890~!Thx3Y^M z?c}rR0fz=IFPp-4VA*=t;{-lhUR*-d005(e!@ zjiu**Fdzt>|9sEYd{EXaY_cS&3v4pb(OKYLeVTtH#V9(==}YRHFMFwG=1Z(xS`K@= zv7PX%jQ{bSnejNFbi)Y4tusLHm=iPgPC%Q1VL3aE5Y z93M0mT=LEzXRMlHj9}Zb%u#~#%%Nbi;bggkXBHogR_vt&ujhytX?7Z&L5aD=Yk+s> zB%gmHv!y_i)8J%8VQcp}o;D4WNEA4jDVrb5v*>D-Bf3X#b%vdkb#tqnsCRN3=GZ_P zGboedZANa!eln0#+nCM8_Ge<|&Hod7JDdn?XU16G|b6 zvO|u5r zlU)g~;$|!VQ}mYpw%1YjGIyGxIzqn@-;K+bzV~NzbiCzI-mPUEDd%VXeSm}1K15-f6<4!?U)^p?$7dm#rs_Na)!n4hqn3L{F+Q(cT*TR%MZJKUMs7hx5Crmo`@N%#ju-(bnfavjrEbQygsx_5d%6{OwlgX8(tTE}tuKH46!G}G&nz$Z3B$t@ z33bLFq^gyk%r^H~$R^P)4A`7u>Wp^b!*D=!uT8_7!jXy9O5Gy)`#!(j6Gak8#qbVH z{@{{i=(Vm)P$pAX#aA`RQl~J*l5e9uk)M8*Br$XI%W738I6Yamh8&HZB&;Z!`t2kZ zU1l%ZfQH-Rou>4-5rxSXBOD}kWU=ukARLICe=+tTTHnP&VQ{i=o~kmr^*RCi8Hj?- zF%lLtj6r5LL=GYIsvBrJW0I)Cnk1yQyxrH3U(GTADt=_PS5 zh{n&DYR94P0WSyhb<%#|;oruS0{VXw1>xafVBr3ZQanI22AEbSGqxs~AxAzz%8n3lg zJ21I?+BUMmST%PeHdfUD-R2kF5_lD_edK99S>W*}Gls=NXy5TCp8D_I&)2_qJ;`SN zK~J(@gq``vNR@v9Yd9}8?L073gOi(LG8E};`OCkT1-V>Jyq66vcK!l9tDZ8AoZFX| zTQ>w88_$OZ`XHU4h8UzvA63#eiqC`!^>^8|nrz25mER}4p$(6YJJfrX*l03SCSP@o zKLE&(C@B(7`LIJ?>zsGTTSs^)9HzMuSe3RDs2n|9j=WkdJjjbeS%T82=i24=6d>rS ziEq-(AZ&VP@TQ4)q5MWur)%W6o4L-~M^kXrj2kkik0fEkAcYCv^XAlQ6^97?MuHNI zJ8-N0h!yn{vR@#|_`XRPvY+HQ)Qis3gC+IBS!k7J@#cbQsuye zG%mp}hQ$-U_4Jp~v4K9jl^O~rQ~_T)?R@XI%xoA|`7N;{A-1!+?yUL1<3QXc17RWb z25=RFwAAn(_7!gYAHk|YF?G*JyQ~vUWs73>rl5^BB(INd?4`e)=!(QRJ;LP0ci*?< zTX0g?Tmm(xqTTtB?s(?lU> zpFf2sZRWC;u=Vn&;cK35xs`t2_{e&_`|g^D38_I7rmyLq-?&jE98Ls~D7@E>E)msp zEUy)?c%)An;#c^%_s7aGcZb8GSzr<}4zvk%V#-t;Z!}4uFv*T^CkHQuvMrjUwje@3qPl#y|ik?};hTy(sW{_(|dSnC*M#vj)j9 zAKCX9lCk>T?I)!2j;xtHIl=pcDn{D+Wu1*mEx+jIx}K&2-yFEf3z}8Vll*G(m(l+JUS^Sd_BO#Rx{&HAQ|Qa@T^*sOWahy(ugpkI>YE~F#MWR(`O zC&cNH0rw}Xg<3)cFQ~7Z5wUhPg4j%i0}h45R)mbPjP(qn;hIHWv%oYD^(E?s6~ZR4SR&ZRx{A|aYb;c}l*c2v+jR6U~bkN2MbQRps!1fAO{ zAw1;ji4A$}34^)uFcA^+7jT{r&cXApuaiOlY{ytXX;YI{xY2;X2$HPQ)@Rh#h-oz~ zEN`qrkzDiR^wclih^5`;u=oRH?nIof;;pkZ<`lx7u~g`&Kz_`ny{nRFD)3_pl^p!V zEmEfZ9z!L-UeH~85XYkiAY=q8MF`su~3J@mOf6}T8xETD}sy! zm24_E#;PG@DK+WFHz(7LBIj&8d}z8k(`xG!8qEPK#(|h?QhA>*A~7RHowE-w5)NM6 zQw=b+R8-8G3?wv^#STM)TAZL7 zCR&fQtu_!J0Su>ahNHmOL+@0irs<>N^5GGmB@J)whd?^v4tOzBVA4{AYM*jMXv zjo+dduB#pRUDloj+M->@)u$p~T*~gnWe?ROgHEzQ{57jH_Q2@t=+ax&ed~j_2S%7Q zCV?^)&BhEZP!6ZPR0~d?7&lupR5LTGHvCYmPtzwX8c7cP6N@(KBOK&p+Qzl$)>eh} z&Abd#E8PFk518Bl=IojATz1{hB_ec=^f!*lUGm=&9Y2phcw`CB*Z0e!;%Wj+Q*1_2xBy(7Vmt!pGt$Nxx%tLe9REB%& z<;fIFL+Sf@hgMjeSULFgmI4J|=v37or7z?Fw;D$yeYQM#b9Fn~Bpc~EGDIn3_TpLf zqkb+HpH|(!%&GXtbq#ZG61Kg`hsbdVi4I}Z9Um~e=^qA?-Emvs^%fLi~tg_JyZU0i=&CpyS>`Ob= zdeyx5qUUUjVq>p*=~q@AFOeBiq|%q-xa%cn0*%4U$&@B=IFl-|*@B-`(9@EZw>10O zBHbq_;$6YVLy%m#nD#>NpA!i~besKPn0qT)v0d1eNq6C4u8Iv-sN^Z?&=_l4t7@)Z zHaRLk3Q$aRc1wl&x(lA`4Be~Kx=J|;gP+?`@eLkE&l6juSA6KN(I!E6an*2;pLY2R z(6OCy&-+QKahsi%VXvT0B8=86&Xmn{UPHv3lcY+FYO?lmBc?z+d5RCol_B#0N&px)#zPo)M20z^; zZ19f!OvG$3BUWd@5iISYSqbMwykt~?HukcwRL%*AtNL_-jU=F%6NI9h_OY=>nB1r2>PbhOvAF#+(0s393xGb;VPN_$D?6+?_iccI5}NYbn( zBdZxY0fy}`g26z`Yz734Bld0JY$H>_{{`5{W?{`Eq{cm`){NLzA3Zu6>E<}wip8he zVmU1|A?jHL<7r!z`8KK8lM>5NWARhjDA&ah&(e2)7gY7*L`_<45!C`r_-h)?be?-U zN-R;>Feiqm;Vk7RNU`ALROlA*BrLIUW9y^FGn+$D<_M{I9J0;JeQh3DP>cdiB`Du* zF7$@XbUVZ{q)0a@0}kdGOV^bhCFGAPER|P^BBH+x9RH{}iXK64-@B0bNICIThmku>h?o5AKq(%F)IZX}KRNiq~o{pO^ z?0q1781pC+wvB4o$o3OtFzP}O5t&qlEz`viE9`5j=B9@8v@M;i`9l*fDH0Dj)XbbU zqSZrXEBBK7l^m3`+=7IlO~0Ld4L?CJ4Q#?5M|E@mnX@4O^?Qo1!G&uML6-SaooLx6=#_jGtX)Vm;`lR|@R`{?)8gB+@zHlqK2PS~NyHCclVzA3FwC(x+Snx zFAHDOnVMz&0}pvGGVFfqHVV~21RyJ7L_$)15!jY#AT;1pWvF$?=N!>0XbOt=Z%kEWgh#$92%d{EgEoy33PURin$9dy{ecQBy<|F*~w>F;DP=y*C0-gTa<@>JqODFCYTlbHOeM3;6DC1J zNbkE4G~3CZ3llc0hC~Y-Nk#odAhVs$>hQJ4yoKxzk#eY`wKwuOo09i zDAhil-c-V^+pV*HF`4Jfjv}^B2^fs`WWg&Vb-emn@@IiB%A`}MJ8@ZsjK=;mP9DE8 zSz%;gfBS3EODmB~tql&BMmWlhTi=A@6$Lbd-W3;`6QAR1PouIouijIS0BgJBaEH*hf*U5Fy=IdZt}i&XD?b zzr>YzK1+XPqDdLIXaq5*PEBq9pn>MRFJ8Pj3hnpc%{1%;3BE_)>?M&RCsAMJ2v5oO zOq|y~he6>J33)Py%zw-Z@&-xM-vyo$SctF;il!>moJPZ>9{f6Age~estvydG45Oxx z2=qFnd7t7k3u8u~3{e_wb66sraWsrCqudjZ%m`LM%)&*f(pM?-A=fzZad08w9G6Ap zjigAlFBAc)=#~EN?!v?2oCZmGEd{6eLK*62`5o}-s8Kyhd7v3|Jx`Qsj|Ncy z4uE9kc)qL~{p--;Rd&^}Mf$VFaqwPe*(;rUJ1gg}HW=R)Xl1|p@YDh9$@BIimu-6Z z6u*dhB^r)%dt)YSe7QTAFSuT2=p{I}QNJ~6-E1TBN>Ar`KV_(N;|MU*_@{n+0#OQc zS|9>0w{z^`;RtZHA5$yAq{oYF2K#aC#p{+xE0?iId_E`J6&ED!m@6BKOeVYt!ruOA zCmD+-_KGB#$@}c}Dt8jmVd-SglbL;0~qfFjUT-3({d2-xpK$)1at!w_X50}ENLU@NWw}qY-ilS9zv_+DO1%+p)VvfH3 z084yAiL>PeC;MJsNom^p*wV9<>x+hy{4|2er|c>cnh>F`e#Szgh-E$U#Lh$HELT`I zPoZ2eiWQB$vJDGb&$Y2C%C{UuI_wz|)I-^68y1*v&A5p^ z&|aBiHnU9zmrljFyJw{^f7$$&y&hF+OL{POKFwOBjx79V>-)d~^b}pb8F_L;{TiF} z)CHo-Axkjw6grmYBDV#^wLaC}{}9W|iU8`v^p$QzNvaM|($PGa_S3v+Bq82zuU%e! zn}=+r4C_xV)-}2KqGqg@f??^sf}0Zr=9MJlIG!IlN|nyHxI#78IjrveP@L+>Tt8@h zXU|^YF)p*L$D>DVo<;EfVjwbpjeOjHZridl$YFIo^YFn z&&X!yaFzSXu6{7?{WM^4S1SGJI`2(27$MGr#UiJ}VixBwKy}zpKK~>8oX=U={?mTc zMwBPPw|Rc|XOPJ}rU6ck;8vKt+T@xWc^Ki95?*`w)V(@Im(itSR!rh-`@NhrR^O#V zyie*WTOd~4eEMOwB*{^|K<}6yct%y@!O36fsPp>J$mT{f8mDmwJvoHUlHa0E3G(X= zws;#y$`C8K#yElHa#*{HlfN?hoA=i+(N!rVe4%sz=v%YG74ShF&27H)xr~##c$bB; zW8m(2!iYZb57PGq$E7hBa}0(ZrbRiLu6YmIRwj^!@%2a8yI~UwR>@AdI9dYC)OC4b z|L`MeqqC9mHNRr}7Y3daD-knaP~dub8-ok*7Mv{HYkvhfV!4$GnGA9uuedyXp_@6As;{wqk!>|U;vLDc09+t$5Koxd5hTb zKCUpa{RMpFL5-6O#h9#WwbUFtudWC$NPsf(m6hKSp!OoWuKmGbJ%zekM5&FNywzYyooGC1D?A z{k0q#m!pz%zbjg!pnkHfV4=4&ol$pDqm$kK(5?FThKtAZJP=HZzBE[zvN)xH$S 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

20dh{)ti% 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 P@XPeLqTW3h+JFDqrIQ{w literal 0 HcmV?d00001 diff --git a/src/assets/react.svg b/src/assets/react.svg deleted file mode 100644 index 6c87de9..0000000 --- a/src/assets/react.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/components/AdminPortal/AdminDashboard.jsx b/src/components/AdminPortal/AdminDashboard.jsx new file mode 100644 index 0000000..d6f73b7 --- /dev/null +++ b/src/components/AdminPortal/AdminDashboard.jsx @@ -0,0 +1,340 @@ +import React, { useEffect, useState } from "react"; +import { useNavigate } from "react-router-dom"; + +import { + Bell, + Settings, + Activity, + Users, + UserCircle, + TrendingUp, +} from "lucide-react"; +import admin from "../../assets/images/admin.png"; +import UserManagement from "../../pages/AdminPages/UserManagement"; +import PatientManagement from "../../pages/AdminPages/PatientManagement"; +import PendingDoctors from "../../pages/AdminPages/PendingDoctors"; +import AdminManagement from "../../pages/AdminPages/AdminManagement"; +import IotDevices from "../../pages/AdminPages/IotDevices"; +import Analytics from "../../pages/AdminPages/Analytics"; +import SecurityLogs from "../../pages/AdminPages/SecurityLogs"; +import SpecialDoctorAdminPage from "../PatientPortal/bookings/SpecialDoctorAdminPage"; + +function AdminDashboard() { + const [hasNotification, setHasNotification] = useState(true); + const navigate = useNavigate(); + + const handleLogout = () => { + // Clear authentication data + localStorage.removeItem("token"); + localStorage.removeItem("user"); + + // Navigate to homepage + navigate("/"); + }; + const [activeTab, setActiveTab] = useState("users"); + const [doctorCount, setDoctorCount] = useState(0); + const [specialdoctorCount, setSpecialDoctorCount] = useState(0); + const [patientCount, setPatientCount] = useState(0); + + useEffect(() => { + fetch(`http://localhost:8080/api/dashboard/counts`) + .then((res) => res.json()) + .then((data) => { + setDoctorCount(data.doctorCount); + setSpecialDoctorCount(data.specialdoctorCount) + setPatientCount(data.patientCount); + }) + .catch((error) => console.error("Error fetching dashboard counts:", error)); + }, []); + + + return ( +

+ {/* === HEADER === */} +
+
+
+ {/* Left */} +
+
+ Admin Logo +
+ +
+

+ Admin Portal +

+

+ Welcome, Section 7{" "} + Janith +

+
+
+ + {/* Right */} +
+ + {/* Logout */} + +
+
+
+
+ + {/* === STATS CARDS === */} +
+
+ + {/* Active Doctors */} +
+
+
+ +
+

Active Doctors

+
+ +

+ {doctorCount === 0 ? "..." : doctorCount} +

+
+ + {/* Special Doctors */} +
+
+
+ +
+

Special Doctors

+
+ +

+ {specialdoctorCount === 0 ? "..." : specialdoctorCount} +

+
+ + {/* Active Patients */} +
+
+
+ +
+

Active Patients

+
+ +

+ {patientCount === 0 ? "..." : patientCount} +

+
+ + {/* Pending Doctors */} +
+
+
+ +
+

Pending Doctors

+
+ +

+ 23 +

+
+ + {/* IoT Devices */} +
+
+
+ +
+

IOT Devices

+
+ +

23

+
+ +
+
+ + {/* === BOTTOM NAVIGATION === */} +
+
+ + + + + + + + + + + + + + + + + + +
+
+
+ {activeTab === "users" && } + {activeTab === "accept" && } + {activeTab === "patients" && } + {activeTab === "admins" && } + {activeTab === "iot" && } + {activeTab === "analytics" && } + {activeTab === "logs" && } + {activeTab === "booking" && } +
+
+ ); +} + +export default AdminDashboard; diff --git a/src/components/Loader.jsx b/src/components/Loader.jsx new file mode 100644 index 0000000..c845f63 --- /dev/null +++ b/src/components/Loader.jsx @@ -0,0 +1,31 @@ +import React from "react"; +import logo from "../assets/images/smartcare-logo.png"; + +function Loader() { + return ( +
+ + {/* Logo */} + SmartCare Monitor + + {/* Text */} +

+ SmartCare Monitor +

+ + {/* Loading dots */} +
+ + + +
+ +
+ ); +} + +export default Loader; \ No newline at end of file diff --git a/src/components/PatientPortal/ActivityRings.jsx b/src/components/PatientPortal/ActivityRings.jsx new file mode 100644 index 0000000..6b06f62 --- /dev/null +++ b/src/components/PatientPortal/ActivityRings.jsx @@ -0,0 +1,190 @@ +import React from 'react'; + +const ActivityRings = ({ moveData, exerciseData, standData }) => { + const { current: moveCurrent = 0, goal: moveGoal = 600 } = moveData || {}; + const { current: exerciseCurrent = 0, goal: exerciseGoal = 30 } = exerciseData || {}; + const { current: standCurrent = 0, goal: standGoal = 12 } = standData || {}; + + const movePercentage = Math.min((moveCurrent / moveGoal) * 100, 100); + const exercisePercentage = Math.min((exerciseCurrent / exerciseGoal) * 100, 100); + const standPercentage = Math.min((standCurrent / standGoal) * 100, 100); + + const createRingPath = (percentage, radius) => { + const circumference = 2 * Math.PI * radius; + const offset = circumference - (percentage / 100) * circumference; + return { circumference, offset }; + }; + + const moveRing = createRingPath(movePercentage, 70); + const exerciseRing = createRingPath(exercisePercentage, 55); + const standRing = createRingPath(standPercentage, 40); + + return ( +
+

Activity Rings

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ {Math.round(((movePercentage + exercisePercentage + standPercentage) / 3))}% +
+
Complete
+
+
+
+ +
+
+
+
+
+
+ {Math.round(moveCurrent)} + / {moveGoal} CAL +
+
Move
+
+
+
{Math.round(movePercentage)}%
+
+
+
+
+
+
+ +
+
+
+
+
+ {Math.round(exerciseCurrent)} + / {exerciseGoal} MIN +
+
Exercise
+
+
+
{Math.round(exercisePercentage)}%
+
+
+
+
+
+
+ +
+
+
+
+
+ {Math.round(standCurrent)} + / {standGoal} HRS +
+
Stand
+
+
+
{Math.round(standPercentage)}%
+
+
+
+
+
+
+
+
+
+ ); +}; + +export default ActivityRings; diff --git a/src/components/PatientPortal/AlertsCard.jsx b/src/components/PatientPortal/AlertsCard.jsx new file mode 100644 index 0000000..373ccaa --- /dev/null +++ b/src/components/PatientPortal/AlertsCard.jsx @@ -0,0 +1,210 @@ +import React, { useState } from 'react'; +import { AlertTriangle, Clock, CheckCircle, AlertCircle, Bell, X, ChevronRight } from 'lucide-react'; + +const AlertsCard = () => { + const [alerts, setAlerts] = useState([ + { + id: 1, + text: 'High temperature detected', + time: '2m ago', + severity: 'high', + details: 'Temperature reached 101.2°F', + read: false + }, + { + id: 2, + text: 'Irregular heartbeat', + time: '12m ago', + severity: 'medium', + details: 'Heart rate fluctuated between 45-110 bpm', + read: false + }, + { + id: 3, + text: 'Blood pressure elevated', + time: '1h ago', + severity: 'medium', + details: 'BP reading: 145/95 mmHg', + read: true + }, + { + id: 4, + text: 'Medication reminder', + time: '2h ago', + severity: 'low', + details: 'Time to take Aspirin 100mg', + read: true + }, + ]); + + const getSeverityColor = (severity) => { + switch(severity) { + case 'high': + return { + bg: 'bg-red-50', + border: 'border-red-200', + icon: 'text-red-600', + iconBg: 'bg-red-100', + dot: 'bg-red-500' + }; + case 'medium': + return { + bg: 'bg-orange-50', + border: 'border-orange-200', + icon: 'text-orange-600', + iconBg: 'bg-orange-100', + dot: 'bg-orange-500' + }; + case 'low': + return { + bg: 'bg-blue-50', + border: 'border-blue-200', + icon: 'text-blue-600', + iconBg: 'bg-blue-100', + dot: 'bg-blue-500' + }; + default: + return { + bg: 'bg-gray-50', + border: 'border-gray-200', + icon: 'text-gray-600', + iconBg: 'bg-gray-100', + dot: 'bg-gray-500' + }; + } + }; + + const getSeverityIcon = (severity) => { + switch(severity) { + case 'high': + return ; + case 'medium': + return ; + case 'low': + return ; + default: + return ; + } + }; + + const dismissAlert = (id) => { + setAlerts(alerts.filter(alert => alert.id !== id)); + }; + + const unreadCount = alerts.filter(alert => !alert.read).length; + + return ( +
+ {/* Header - Responsive layout */} +
+
+
+ +
+
+

Recent Alerts

+

+ {unreadCount > 0 ? `${unreadCount} unread` : 'All caught up'} +

+
+
+ +
+ + {/* Alerts List - Responsive spacing */} +
+ {alerts.length === 0 ? ( +
+ +

No active alerts

+

You're all set!

+
+ ) : ( + alerts.map((alert) => { + const colors = getSeverityColor(alert.severity); + return ( +
+
+ {/* Icon - Responsive sizing */} +
+ {getSeverityIcon(alert.severity)} +
+ + {/* Content */} +
+
+

+ {alert.text} + {!alert.read && ( + + )} +

+
+

{alert.details}

+
+ + {alert.time} +
+
+ + {/* Dismiss Button - Mobile positioned */} + +
+ + {/* Severity Badge - Responsive positioning and sizing */} +
+ + {alert.severity.charAt(0).toUpperCase() + alert.severity.slice(1)} + + {/* Mobile: Show only first letter */} + + {alert.severity.charAt(0).toUpperCase()} + +
+
+ ); + }) + )} +
+ + {/* Summary Stats - Responsive grid */} + {alerts.length > 0 && ( +
+
+

+ {alerts.filter(a => a.severity === 'high').length} +

+

High Priority

+
+
+

+ {alerts.filter(a => a.severity === 'medium').length} +

+

Medium

+
+
+

+ {alerts.filter(a => a.severity === 'low').length} +

+

Low Priority

+
+
+ )} +
+ ); +}; + +export default AlertsCard; \ No newline at end of file diff --git a/src/components/PatientPortal/AppointmentsCard.jsx b/src/components/PatientPortal/AppointmentsCard.jsx new file mode 100644 index 0000000..1f7d270 --- /dev/null +++ b/src/components/PatientPortal/AppointmentsCard.jsx @@ -0,0 +1,142 @@ +import { useEffect, useState } from "react"; +import { Activity, Video, User } from "lucide-react"; +import BookingModal from "../../components/PatientPortal/bookings/BookingPage"; +import { getUserAppointments } from "../../api/api.js"; + +const AppointmentsCard = ({ isDoctorView = false }) => { + const [appointments, setAppointments] = useState([]); + const [showModal, setShowModal] = useState(false); + const [loading, setLoading] = useState(true); + + const fetchAppointments = async () => { + try { + setLoading(true); + const data = await getUserAppointments(); // backend call + setAppointments(Array.isArray(data) ? data : []); + } catch (err) { + console.error("Error fetching appointments:", err); + setAppointments([]); + } finally { + setLoading(false); + } + }; + + useEffect(() => { + fetchAppointments(); + }, []); + + // when booking is successful, add to list instantly + const handleBookingSuccess = (newAppointment) => { + setAppointments((prev) => [newAppointment, ...prev]); + }; + + const formatDateTime = (bookingDate, bookingTime) => { + if (!bookingDate) return "—"; + + // bookingDate: "2024-12-05" + // bookingTime: "10:30:00" + const time = bookingTime ? bookingTime.slice(0, 5) : "00:00"; + const dt = new Date(`${bookingDate}T${time}:00`); + + if (Number.isNaN(dt.getTime())) { + // fallback if parsing fails + return `${bookingDate}${bookingTime ? ` at ${time}` : ""}`; + } + + return dt.toLocaleString(undefined, { + year: "numeric", + month: "short", + day: "numeric", + hour: "numeric", + minute: "2-digit", + }); + }; + + const getIconType = (appointmentType) => { + // Online => video icon, Physical => user icon + return String(appointmentType || "").toLowerCase() === "online" ? "video" : "user"; + }; + + return ( +
+
+
+ +

+ Upcoming Appointments + Appointments +

+
+ + {/* + button (hidden for doctors) */} + {!isDoctorView && ( + + )} +
+ + {/* Modal */} + {showModal && ( + + )} + + {/* Body */} + {loading ? ( +

Loading appointments...

+ ) : appointments.length === 0 ? ( +

No appointments found.

+ ) : ( +
+ {appointments.map((apt) => { + const icon = getIconType(apt.appointmentType); + const dateText = formatDateTime(apt.bookingDate, apt.bookingTime); + + return ( +
+
+ {icon === "video" ? ( +
+ +
+

+ {apt.doctorName || "Doctor"} +

+ +

+ {apt.specialty || "—"} + {apt.appointmentType ? ` • ${apt.appointmentType}` : ""} +

+ +

{dateText}

+ + {/* Optional small status line */} +

+ {apt.paymentStatus ? `Payment: ${apt.paymentStatus}` : ""} + {apt.appointmentStatus ? ` • Status: ${apt.appointmentStatus}` : ""} +

+
+
+ ); + })} +
+ )} +
+ ); +}; + +export default AppointmentsCard; diff --git a/src/components/PatientPortal/ChallengesSection.jsx b/src/components/PatientPortal/ChallengesSection.jsx new file mode 100644 index 0000000..f324370 --- /dev/null +++ b/src/components/PatientPortal/ChallengesSection.jsx @@ -0,0 +1,182 @@ +import React from 'react'; +import { Target, Trophy, Flame, Zap, Award, Clock, Calendar } from 'lucide-react'; + +const ChallengesSection = ({ dailyChallenges = [], weeklyChallenges = [] }) => { + const defaultDailyChallenges = dailyChallenges.length > 0 ? dailyChallenges : [ + { + id: 1, + title: '10,000 Steps', + description: 'Walk 10,000 steps today', + current: 7420, + target: 10000, + unit: 'steps', + icon: Target, + color: 'from-blue-500 to-blue-600', + iconBg: 'bg-blue-500' + }, + { + id: 2, + title: 'Active Calories', + description: 'Burn 600 active calories', + current: 450, + target: 600, + unit: 'cal', + icon: Flame, + color: 'from-orange-500 to-red-500', + iconBg: 'bg-orange-500' + }, + { + id: 3, + title: 'Exercise Minutes', + description: 'Complete 30 minutes of exercise', + current: 18, + target: 30, + unit: 'min', + icon: Zap, + color: 'from-green-500 to-green-600', + iconBg: 'bg-green-500' + }, + { + id: 4, + title: 'SPO2 Check', + description: 'Measure your blood oxygen level', + current: 1, + target: 1, + unit: 'check', + icon: Award, + color: 'from-teal-500 to-cyan-500', + iconBg: 'bg-teal-500' + } + ]; + + const defaultWeeklyChallenges = weeklyChallenges.length > 0 ? weeklyChallenges : [ + { + id: 1, + title: 'Weekly Warrior', + description: 'Close all rings 5 days this week', + current: 3, + target: 5, + unit: 'days', + icon: Trophy, + color: 'from-purple-500 to-pink-500', + iconBg: 'bg-purple-500', + daysLeft: 4 + }, + { + id: 2, + title: 'Distance Master', + description: 'Walk or run 30km this week', + current: 18.5, + target: 30, + unit: 'km', + icon: Target, + color: 'from-indigo-500 to-blue-500', + iconBg: 'bg-indigo-500', + daysLeft: 4 + }, + { + id: 3, + title: 'Workout Streak', + description: 'Complete a workout for 4 days', + current: 2, + target: 4, + unit: 'workouts', + icon: Flame, + color: 'from-red-500 to-orange-500', + iconBg: 'bg-red-500', + daysLeft: 4 + } + ]; + + const renderChallengeCard = (challenge, isWeekly = false) => { + const Icon = challenge.icon; + const percentage = Math.min((challenge.current / challenge.target) * 100, 100); + const isCompleted = challenge.current >= challenge.target; + + return ( +
+ {isCompleted && ( +
+ +
+ )} + +
+
+ +
+
+

{challenge.title}

+

{challenge.description}

+
+
+ +
+
+ {challenge.current.toLocaleString()} + / {challenge.target.toLocaleString()} {challenge.unit} +
+ +
+
+
+
+ +
+ {Math.round(percentage)}% Complete + {isWeekly && challenge.daysLeft !== undefined && ( +
+ + {challenge.daysLeft} days left +
+ )} +
+
+ ); + }; + + return ( +
+
+
+
+ +
+
+

Daily Challenges

+

Complete your goals for today

+
+
+ +
+ {defaultDailyChallenges.map(challenge => renderChallengeCard(challenge, false))} +
+
+ +
+
+
+ +
+
+

Weekly Challenges

+

Long-term goals to achieve this week

+
+
+ +
+ {defaultWeeklyChallenges.map(challenge => renderChallengeCard(challenge, true))} +
+
+
+ ); +}; + +export default ChallengesSection; diff --git a/src/components/PatientPortal/Dashboard.jsx b/src/components/PatientPortal/Dashboard.jsx new file mode 100644 index 0000000..1498048 --- /dev/null +++ b/src/components/PatientPortal/Dashboard.jsx @@ -0,0 +1,126 @@ +import React, { useState } from "react"; +import { Menu, X } from "lucide-react"; + +const Dashboard = ({ onTabChange }) => { + const [activeTab, setActiveTab] = useState("Overview"); + const [mobileMenuOpen, setMobileMenuOpen] = useState(false); + + const tabs = [ + "Overview", + "Real-Time Vitals", + "ECG Readings", + "Profile", + "Medical Records", + "Health Data from smart watch", + "Doctor Consultations", + "Emergency Panel", + "Bookings", + "Messaging", + "AI Health Assistant" + ]; + + // Notify parent when tab changes + const handleTabClick = (tab) => { + setActiveTab(tab); + setMobileMenuOpen(false); + if (onTabChange) onTabChange(tab); + }; + + return ( +
+ {/* Mobile Header */} +
+
+ + {activeTab} +
+ +
+ + {/* Mobile Menu Dropdown */} + {mobileMenuOpen && ( +
+
+ {tabs.map((tab) => ( + + ))} +
+
+ )} + + {/* Tablet/Desktop Navigation */} +
+ {/* Scrollable tabs container */} +
+
+ {tabs.map((tab) => ( + + ))} +
+
+ + {/* Manual Entry Button */} + {/* */} +
+ + {/* Tablet Horizontal Scroll */} + {/*
+
+ {tabs.map((tab) => ( + + ))} +
+ +
*/} +
+ ); +}; + +export default Dashboard; \ No newline at end of file diff --git a/src/components/PatientPortal/ECGMonitor.jsx b/src/components/PatientPortal/ECGMonitor.jsx new file mode 100644 index 0000000..c9f3419 --- /dev/null +++ b/src/components/PatientPortal/ECGMonitor.jsx @@ -0,0 +1,317 @@ +import React, { useState, useEffect, useRef } from 'react'; +import { + Activity, Heart, Pause, Play, Download, Brain, CheckCircle, + TrendingUp, Clock, AlertCircle +} from 'lucide-react'; + +const ECGMonitor = ({ isFullPage = false, patientId }) => { + const [isPaused, setIsPaused] = useState(false); + const [history, setHistory] = useState([]); + const [selectedReading, setSelectedReading] = useState(null); + const [loading, setLoading] = useState(true); + const canvasRef = useRef(null); + const animationRef = useRef(null); + const offsetRef = useRef(0); + + // Generic pattern if waveform is missing + const genericPattern = [ + 0, 0.05, 0.1, 0.15, 0.1, 0.05, 0, -0.05, -0.1, -0.05, 0, + 0, 0, 0, 0, 0.1, 0.3, 0.6, 1, 0.5, 0, -0.2, -0.1, 0, + 0, 0, 0, 0, 0, 0.05, 0.15, 0.25, 0.3, 0.25, 0.15, 0.05, 0, + -0.05, -0.1, -0.05, 0, 0, 0, 0, 0, 0, 0, 0 + ]; + + useEffect(() => { + const fetchHistory = async () => { + if (!patientId) { + setLoading(false); + return; + } + try { + const token = localStorage.getItem("token"); + const res = await fetch(`http://localhost:8084/api/patient/ecg/history/${patientId}`, { + headers: { Authorization: `Bearer ${token}` } + }); + if (res.ok) { + const data = await res.json(); + setHistory(data); + if (data.length > 0) { + setSelectedReading(data[0]); + } + } + } catch (error) { + console.error("Error fetching ECG history:", error); + } finally { + setLoading(false); + } + }; + fetchHistory(); + }, [patientId]); + + useEffect(() => { + const canvas = canvasRef.current; + if (!canvas || !selectedReading) return; + + const ctx = canvas.getContext('2d'); + const dpr = window.devicePixelRatio || 1; + const rect = canvas.getBoundingClientRect(); + canvas.width = rect.width * dpr; + canvas.height = rect.height * dpr; + ctx.scale(dpr, dpr); + + let pattern = genericPattern; + try { + if (selectedReading.waveformJson) { + const parsed = JSON.parse(selectedReading.waveformJson); + if (Array.isArray(parsed) && parsed.length > 0) { + pattern = parsed; + } + } + } catch (e) { } + + const draw = () => { + if (isPaused) return; + const width = rect.width; + const height = rect.height; + const centerY = height / 2; + const amplitude = height * 0.35; + + ctx.fillStyle = 'rgba(15, 23, 42, 0.1)'; + ctx.fillRect(0, 0, width, height); + + ctx.beginPath(); + // Color depends on status: green for normal, red for abnormal + ctx.strokeStyle = selectedReading.prediction === "Normal" ? '#10b981' : '#ef4444'; + ctx.lineWidth = 2; + + // Adjust speed and points to make waveform look good + const pointsPerPixel = pattern.length > 100 ? 0.3 : 0.5; + const speed = pattern.length > 100 ? 1 : 2; + + for (let x = 0; x < width; x++) { + const dataIndex = Math.floor((x + offsetRef.current) * pointsPerPixel) % pattern.length; + let val = pattern[dataIndex]; + + // Dynamic amplitude scaling based on raw data to prevent it going off screen + // Neural net predictions often come back with weird scales. Let's just limit it manually. + const y = centerY - val * amplitude; + + if (x === 0) ctx.moveTo(x, y); + else ctx.lineTo(x, y); + } + + ctx.stroke(); + offsetRef.current += speed; + animationRef.current = requestAnimationFrame(draw); + }; + + draw(); + + return () => cancelAnimationFrame(animationRef.current); + }, [isPaused, selectedReading]); + + const togglePause = () => setIsPaused(!isPaused); + + const downloadECGImage = () => { + const sourceCanvas = canvasRef.current; + if (!sourceCanvas) return; + const reportCanvas = document.createElement("canvas"); + const ctx = reportCanvas.getContext("2d"); + const width = sourceCanvas.width; + const height = sourceCanvas.height + 160; + + reportCanvas.width = width; + reportCanvas.height = height; + + ctx.fillStyle = "#020617"; + ctx.fillRect(0, 0, width, height); + + ctx.fillStyle = "#ffffff"; + ctx.font = "bold 22px Arial"; + ctx.fillText("AI ECG REPORT: " + (selectedReading?.prediction || "Unknown"), 20, 35); + + ctx.font = "16px Arial"; + ctx.fillText(`Date: ${new Date(selectedReading?.recordedAt).toLocaleString()}`, 20, 65); + ctx.fillText(`Notes: AI Prediction Confidence ${(selectedReading?.probability || 0).toFixed(1)}%`, 20, 95); + ctx.fillText(`Heart Rate: ${selectedReading?.meanHR} bpm`, 380, 65); + + ctx.strokeStyle = selectedReading?.prediction === "Normal" ? "#10b981" : "#ef4444"; + ctx.lineWidth = 1; + ctx.beginPath(); + ctx.moveTo(0, 150); + ctx.lineTo(width, 150); + ctx.stroke(); + + ctx.drawImage(sourceCanvas, 0, 160); + + const image = reportCanvas.toDataURL("image/png"); + const link = document.createElement("a"); + link.href = image; + link.download = `ECG_Report_${new Date().toISOString()}.png`; + link.click(); + }; + + const getRiskColor = (risk) => { + if (risk === "Low" || risk === "Normal") return "bg-green-100 text-green-700 border-green-200"; + if (risk === "High" || risk === "Abnormal") return "bg-red-100 text-red-700 border-red-200"; + return "bg-yellow-100 text-yellow-700 border-yellow-200"; + }; + + if (loading) { + return ( +
+
+
+

Loading ECG history...

+
+
+ ); + } + + return ( +
+ + {history.length === 0 ? ( +
+
+ +
+

No ECG Readings Yet

+

Your doctor has not uploaded any AI-analyzed ECG readings to your profile yet.

+
+ ) : ( +
+ {/* History List (Left Sidebar on Desktop) */} +
+
+ +

Reading History

+
+ +
+ {history.map((reading) => ( +
setSelectedReading(reading)} + className={`cursor-pointer p-4 rounded-xl border transition-all ${selectedReading?.id === reading.id + ? 'border-blue-500 bg-blue-50 shadow-sm' + : 'border-gray-100 bg-gray-50 hover:border-gray-300 hover:bg-white' + }`} + > +
+
+ {new Date(reading.recordedAt).toLocaleDateString()} +
+ + {reading.prediction} + +
+
+ {new Date(reading.recordedAt).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })} +
+
+ {reading.rationale} +
+
+ ))} +
+
+ + {/* Main Viewer (Right col on Desktop) */} +
+ {/* ECG CARD */} +
+
+
+
+ +
+
+

+ Record: {new Date(selectedReading.recordedAt).toLocaleDateString()} +

+

Historical AI ECG Analysis

+
+
+ +
+ + +
+
+ +
+ + {isPaused && ( +
+
+ + Paused +
+
+ )} +
+ + {/* Data Cards Row */} +
+
+

Heart Rate

+

{selectedReading.meanHR} bpm

+
+
+

AI Prediction

+

+ {selectedReading.prediction} +

+
+
+

Confidence

+

{selectedReading.probability.toFixed(1)}%

+
+
+

Beats Analyzed

+

{selectedReading.beats}

+
+
+
+ + {/* AI Details */} +
+
+
+ +
+

AI Medical Rationale

+
+

+ {selectedReading.rationale} +

+ +
+
+ SDNN + {selectedReading.sdnn.toFixed(2)} ms +
+
+ RMSSD + {selectedReading.rmssd.toFixed(2)} ms +
+
+
+
+
+ )} +
+ ); +}; + +export default ECGMonitor; diff --git a/src/components/PatientPortal/EmergencyCard.jsx b/src/components/PatientPortal/EmergencyCard.jsx new file mode 100644 index 0000000..1bfeafb --- /dev/null +++ b/src/components/PatientPortal/EmergencyCard.jsx @@ -0,0 +1,221 @@ +import React, { useEffect, useMemo, useState } from "react"; +import { Phone, MapPin, Clock, AlertTriangle } from "lucide-react"; + +const API_BASE = import.meta.env.VITE_API_URL; + +export default function EmergencyCard() { + const [panelData, setPanelData] = useState(null); + const [loading, setLoading] = useState(true); + const [calling, setCalling] = useState(false); + const [error, setError] = useState(""); + + const userId = useMemo(() => { + const raw = localStorage.getItem("userId"); + return raw ? Number(raw) : null; + }, []); + + const token = useMemo(() => localStorage.getItem("token"), []); + + const authHeaders = () => ({ + Authorization: `Bearer ${token}`, + }); + + useEffect(() => { + if (!userId) { + setError("User ID not found. Please login again."); + setLoading(false); + return; + } + fetchPanelData(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [userId]); + + const fetchPanelData = async () => { + setLoading(true); + setError(""); + + try { + navigator.geolocation.getCurrentPosition( + async (position) => { + const { latitude, longitude } = position.coords; + + try { + const res = await fetch( + `${API_BASE}/api/emergency/panel/${userId}?latitude=${latitude}&longitude=${longitude}`, + { method: "GET", headers: { ...authHeaders() } } + ); + + if (!res.ok) { + const txt = await res.text(); + setError(`Panel fetch failed: ${res.status} ${txt}`); + setPanelData(null); + setLoading(false); + return; + } + + const data = await res.json(); + setPanelData(data); + setLoading(false); + } catch { + setError("Network error while fetching panel data."); + setLoading(false); + } + }, + async () => { + // location blocked -> fetch without location + await fetchPanelDataWithoutLocation(); + }, + { enableHighAccuracy: true, timeout: 10000 } + ); + } catch { + setError("Unexpected error while fetching panel data."); + setLoading(false); + } + }; + + const fetchPanelDataWithoutLocation = async () => { + try { + const res = await fetch(`${API_BASE}/api/emergency/panel/${userId}`, { + method: "GET", + headers: { ...authHeaders() }, + }); + + if (!res.ok) { + const txt = await res.text(); + setError(`Panel fetch failed: ${res.status} ${txt}`); + setPanelData(null); + setLoading(false); + return; + } + + const data = await res.json(); + setPanelData(data); + setLoading(false); + } catch { + setError("Network error while fetching panel data (no location)."); + setLoading(false); + } + }; + + const callAmbulance = async () => { + if (calling) return; + setCalling(true); + setError(""); + + try { + navigator.geolocation.getCurrentPosition( + async (position) => { + const { latitude, longitude } = position.coords; + + try { + const alertRes = await fetch( + `${API_BASE}/api/emergency/alert/${userId}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + ...authHeaders(), + }, + body: JSON.stringify({ + alertType: "MEDICAL_EMERGENCY", + description: "Emergency ambulance requested", + latitude, + longitude, + ambulanceCalled: true, + contactsNotified: true, + }), + } + ); + + if (!alertRes.ok) { + const txt = await alertRes.text(); + setError(`Creating alert failed: ${alertRes.status} ${txt}`); + setCalling(false); + return; + } + + await fetchPanelData(); + window.location.href = "tel:1990"; + } catch { + setError("Network error while creating alert."); + } finally { + setCalling(false); + } + }, + () => { + // allow dialing even without location + window.location.href = "tel:1990"; + setCalling(false); + }, + { enableHighAccuracy: true, timeout: 10000 } + ); + } catch { + setError("Unexpected error while calling ambulance."); + setCalling(false); + } + }; + + const nearestName = panelData?.nearestHospital?.hospital?.name; + const nearestDistance = panelData?.nearestHospital?.distance; + const nearestEta = panelData?.nearestHospital?.eta; + const contacts = panelData?.emergencyContacts || []; + + return ( +
+
+
+ +

Emergency

+
+ + +
+ + {loading &&

Loading...

} + {error && ( +
+ {error} +
+ )} + +
+
+ + + {nearestDistance ? nearestDistance : "Nearest: —"} + +
+
+ + {nearestEta ? nearestEta : "ETA: —"} +
+
+ + {nearestName && ( +

+ Hospital: {nearestName} +

+ )} + +
+

Contacts:

+ {contacts.length > 0 ? ( + contacts.slice(0, 2).map((c, idx) => ( +

+ • {c.relationship}: {c.phoneNumber} +

+ )) + ) : ( +

No contacts

+ )} +
+
+ ); +} diff --git a/src/components/PatientPortal/EmergencyPanel.jsx b/src/components/PatientPortal/EmergencyPanel.jsx new file mode 100644 index 0000000..a78cabb --- /dev/null +++ b/src/components/PatientPortal/EmergencyPanel.jsx @@ -0,0 +1,356 @@ +import React, { useEffect, useMemo, useState } from "react"; +import { + Phone, + MapPin, + Clock, + AlertTriangle, + Info, + User, + CheckCircle, + FileText, +} from "lucide-react"; + +/** + * IMPORTANT FOR MOBILE: + * - On phone, http://localhost:8084 won't work. + * - Use your PC LAN IP like: http://192.168.1.25:8080 + * - Or use ngrok public URL. + */ +const API_BASE = import.meta.env.VITE_API_URL; + +export default function EmergencyPanel() { + const [panelData, setPanelData] = useState(null); + const [loading, setLoading] = useState(true); + const [calling, setCalling] = useState(false); + const [error, setError] = useState(""); + + // Get actual logged userId (your earlier logs showed userId null sometimes) + const userId = useMemo(() => { + const raw = localStorage.getItem("userId"); + return raw ? Number(raw) : null; + }, []); + + const token = useMemo(() => localStorage.getItem("token"), []); + + useEffect(() => { + if (!userId) { + setError("User ID not found. Please login again."); + setLoading(false); + return; + } + fetchPanelData(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [userId]); + + const authHeaders = () => ({ + Authorization: `Bearer ${token}`, + }); + + const fetchPanelData = async () => { + setLoading(true); + setError(""); + + try { + // Try with location first + navigator.geolocation.getCurrentPosition( + async (position) => { + const { latitude, longitude } = position.coords; + + try { + const res = await fetch( + `${API_BASE}/api/emergency/panel/${userId}?latitude=${latitude}&longitude=${longitude}`, + { + method: "GET", + headers: { + ...authHeaders(), + }, + } + ); + + if (!res.ok) { + const txt = await res.text(); + setError(`Panel fetch failed: ${res.status} ${txt}`); + setPanelData(null); + setLoading(false); + return; + } + + const data = await res.json(); + setPanelData(data); + setLoading(false); + } catch (e) { + setError("Network error while fetching panel data."); + setLoading(false); + } + }, + async () => { + // Location blocked → fetch without location + await fetchPanelDataWithoutLocation(); + }, + { enableHighAccuracy: true, timeout: 10000 } + ); + } catch (e) { + setError("Unexpected error while fetching panel data."); + setLoading(false); + } + }; + + const fetchPanelDataWithoutLocation = async () => { + try { + const res = await fetch(`${API_BASE}/api/emergency/panel/${userId}`, { + method: "GET", + headers: { + ...authHeaders(), + }, + }); + + if (!res.ok) { + const txt = await res.text(); + setError(`Panel fetch failed: ${res.status} ${txt}`); + setPanelData(null); + setLoading(false); + return; + } + + const data = await res.json(); + setPanelData(data); + setLoading(false); + } catch (e) { + setError("Network error while fetching panel data (no location)."); + setLoading(false); + } + }; + + const handleCallAmbulance = async () => { + if (calling) return; + setCalling(true); + setError(""); + + try { + navigator.geolocation.getCurrentPosition( + async (position) => { + const { latitude, longitude } = position.coords; + + try { + // ✅ Create emergency alert first + const alertRes = await fetch( + `${API_BASE}/api/emergency/alert/${userId}`, + { + method: "POST", + headers: { + "Content-Type": "application/json", + ...authHeaders(), + }, + body: JSON.stringify({ + alertType: "MEDICAL_EMERGENCY", + description: "Emergency ambulance requested", + latitude, + longitude, + ambulanceCalled: true, + contactsNotified: true, + }), + } + ); + + if (!alertRes.ok) { + const txt = await alertRes.text(); + setError(`Creating alert failed: ${alertRes.status} ${txt}`); + setCalling(false); + return; + } + + // ✅ refresh data + await fetchPanelData(); + + // ✅ Open REAL mobile dialer + window.location.href = "tel:1990"; + } catch (e) { + setError("Network error while creating alert."); + } finally { + setCalling(false); + } + }, + () => { + // Even without location, allow dial + create alert without coords + // (Optional: you can block if you want) + window.location.href = "tel:1990"; + setCalling(false); + }, + { enableHighAccuracy: true, timeout: 10000 } + ); + } catch (e) { + setError("Unexpected error while calling ambulance."); + setCalling(false); + } + }; + + if (loading) { + return ( +
+
Loading emergency panel...
+
+ ); + } + + return ( +
+ {error && ( +
+ {error} +
+ )} + + {/* Top Call Ambulance Card */} +
+
+ +

Emergency Services

+
+ + +
+ + {/* ✅ Patient Emergency Info (from registration details) */} + {panelData?.patientInfo && ( +
+
+ +

+ Patient Emergency Info (Registration) +

+
+ +
+

+ Name: {panelData.patientInfo.name || "N/A"} +

+

+ Blood Type: {panelData.patientInfo.bloodType || "N/A"} +

+

+ Allergies: {panelData.patientInfo.allergies || "N/A"} +

+

+ Medical Conditions:{" "} + {panelData.patientInfo.medicalConditions || "N/A"} +

+

+ Current Medications:{" "} + {panelData.patientInfo.currentMedications || "N/A"} +

+

+ Past Surgeries: {panelData.patientInfo.pastSurgeries || "N/A"} +

+
+
+ )} + + {/* Grid for other emergency info */} +
+ {/* Nearest Hospital */} +
+
+ +

+ Nearest Hospital +

+
+ + {panelData?.nearestHospital?.hospital ? ( + <> +

+ {panelData.nearestHospital.hospital.name} +

+

+ {panelData.nearestHospital.distance} +

+

+ + ETA: {panelData.nearestHospital.eta} +

+ + ) : ( +

+ Enable location to see nearest hospital +

+ )} +
+ + {/* Emergency Contacts */} +
+
+ +

+ Emergency Contacts +

+
+ + {panelData?.emergencyContacts?.length > 0 ? ( +
    + {panelData.emergencyContacts.map((c, idx) => ( +
  • + • {c.relationship}: {c.phoneNumber} +
  • + ))} +
+ ) : ( +

No emergency contacts found

+ )} +
+ + {/* Emergency Tips */} +
+
+ +

+ Emergency Tips +

+
+
    +
  • Stay calm and call the ambulance immediately.
  • +
  • Know your nearest hospital location.
  • +
  • Keep emergency contacts updated.
  • +
  • Follow first aid if trained.
  • +
+
+ + {/* Safe Actions */} +
+
+ +

+ Safe Actions +

+
+
    +
  • Do not panic, stay calm.
  • +
  • Move to a safe area if danger exists.
  • +
  • Provide clear information to emergency responders.
  • +
  • Help others only if safe to do so.
  • +
+
+
+ + {/* Active Alert Indicator */} + {panelData?.activeAlert && ( +
+

+ Active Emergency Alert +

+

+ Type: {panelData.activeAlert.alertType} | Status:{" "} + {panelData.activeAlert.status} | Created:{" "} + {new Date(panelData.activeAlert.createdAt).toLocaleString()} +

+
+ )} +
+ ); +} diff --git a/src/components/PatientPortal/FloatingChatbot.jsx b/src/components/PatientPortal/FloatingChatbot.jsx new file mode 100644 index 0000000..ca17f27 --- /dev/null +++ b/src/components/PatientPortal/FloatingChatbot.jsx @@ -0,0 +1,197 @@ +import { useState, useRef, useEffect } from "react"; +import { MessageCircle, X, Send } from "lucide-react"; + +const FloatingChatbot = ({ isFullScreen = false, hideFloatingButton = false }) => { + const [isOpen, setIsOpen] = useState(false); + const [messages, setMessages] = useState([ + { + id: 1, + text: "Hello! I'm your AI Health Assistant. How can I help you today?", + sender: "bot", + timestamp: new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }), + }, + ]); + const [inputMessage, setInputMessage] = useState(""); + const [loading, setLoading] = useState(false); + const messagesEndRef = useRef(null); + + useEffect(() => { + messagesEndRef.current?.scrollIntoView({ behavior: "smooth" }); + }, [messages, loading]); + + const toggleChat = () => setIsOpen(!isOpen); + + const handleSendMessage = async () => { + if (inputMessage.trim() === "") return; + + const userMessage = { + id: messages.length + 1, + text: inputMessage, + sender: "user", + timestamp: new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }), + }; + + setMessages([...messages, userMessage]); + setInputMessage(""); + setLoading(true); + + try { + const res = await fetch(`${import.meta.env.VITE_CHATBOT_URL}/api/chat`, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ message: inputMessage }), + }); + + const data = await res.json(); + + const botMessage = { + id: messages.length + 2, + text: data.reply || "I received your message. How else can I assist you?", + sender: "bot", + timestamp: new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }), + }; + + setMessages((prev) => [...prev, botMessage]); + } catch (error) { + const errorMessage = { + id: messages.length + 2, + text: "⚠️ Something went wrong. Please try again.", + sender: "bot", + timestamp: new Date().toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }), + }; + setMessages((prev) => [...prev, errorMessage]); + } finally { + setLoading(false); + } + }; + + const handleKeyPress = (e) => e.key === "Enter" && handleSendMessage(); + + const shouldShowChat = isFullScreen || isOpen; + + const chatContainerClass = isFullScreen + ? "w-full h-full min-h-[600px] bg-white rounded-xl shadow-lg flex flex-col" + : ` + fixed bottom-24 right-4 sm:right-6 + w-[90%] sm:w-80 md:w-96 + h-[65vh] sm:h-[450px] md:h-[500px] + bg-white rounded-2xl shadow-2xl flex flex-col z-50 + `; + + return ( + <> + {shouldShowChat && ( +
+ {/* Header */} +
+
+
+ +
+
+

AI Health Assistant

+

Online

+
+
+ + {!isFullScreen && ( + + )} +
+ + {/* Messages */} +
+ {messages.map((message) => ( +
+
+

{message.text}

+

+ {message.timestamp} +

+
+
+ ))} + + {loading && ( +
+
+

Thinking...

+
+
+ )} + +
+
+ + {/* Input */} +
+
+ setInputMessage(e.target.value)} + onKeyPress={handleKeyPress} + placeholder="Type your message..." + disabled={loading} + className="flex-1 px-3 sm:px-4 py-2 border border-gray-300 rounded-full focus:ring-2 focus:ring-blue-500 focus:outline-none disabled:opacity-50" + /> + +
+
+
+ )} + + {/* Floating button */} + {!isFullScreen && !hideFloatingButton && ( + + )} + + ); +}; + +export default FloatingChatbot; \ No newline at end of file diff --git a/src/components/PatientPortal/GraphCard.jsx b/src/components/PatientPortal/GraphCard.jsx new file mode 100644 index 0000000..b7e55fa --- /dev/null +++ b/src/components/PatientPortal/GraphCard.jsx @@ -0,0 +1,324 @@ +import React, { useEffect, useMemo, useRef, useState } from "react"; +import { TrendingUp } from "lucide-react"; + +const API_BASE = import.meta.env.VITE_API_URL; + +const formatDate = (d) => { + const pad = (n) => String(n).padStart(2, "0"); + return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`; +}; + +const GraphCard = ({ patientId, refreshKey = 0 }) => { + const [timeRange, setTimeRange] = useState("24H"); + const [points, setPoints] = useState([]); // { label, hr, spo2, sugar } + const [loading, setLoading] = useState(false); + + const token = useMemo(() => localStorage.getItem("token"), []); + + const svgRef = useRef(null); + const [dimensions, setDimensions] = useState({ width: 0, height: 0 }); + + useEffect(() => { + const updateDimensions = () => { + if (svgRef.current) { + setDimensions({ + width: svgRef.current.clientWidth, + height: svgRef.current.clientHeight, + }); + } + }; + updateDimensions(); + window.addEventListener("resize", updateDimensions); + return () => window.removeEventListener("resize", updateDimensions); + }, []); + + const buildRange = () => { + const now = new Date(); + const to = new Date(now); + + let from = new Date(now); + if (timeRange === "24H") from.setDate(from.getDate() - 1); + if (timeRange === "7D") from.setDate(from.getDate() - 7); + if (timeRange === "30D") from.setDate(from.getDate() - 30); + + // backend supports date-only (LocalDate.parse) + return { from: formatDate(from), to: formatDate(to) }; + }; + + const safeNum = (v) => { + if (v === null || v === undefined || v === "") return null; + const n = Number(v); + return Number.isFinite(n) ? n : null; + }; + + const fetchVitalsSeries = async () => { + if (!patientId || !token) { + setPoints([]); + return; + } + + const { from, to } = buildRange(); + const url = `${API_BASE}/api/patients/${patientId}/medical-events?from=${from}&to=${to}`; + + setLoading(true); + try { + const res = await fetch(url, { + headers: { Authorization: `Bearer ${token}` }, + }); + + if (!res.ok) { + setPoints([]); + return; + } + + const events = await res.json(); + + const vitals = (Array.isArray(events) ? events : []) + .filter((e) => (e?.type || "").toUpperCase() === "VITALS") + .map((e) => { + const dt = new Date(e.recordedAt); + const p = e.payload || {}; + return { + dt, + hr: safeNum(p.heartRate), + spo2: safeNum(p.spo2), + sugar: safeNum(p.sugarLevel), + }; + }) + .filter((x) => x.dt instanceof Date && !isNaN(x.dt.getTime())) + .sort((a, b) => a.dt - b.dt); + + // Build labels: + // 24H -> HH:00 labels + // 7D/30D -> YYYY-MM-DD labels + const mapped = vitals.map((v) => { + let label = ""; + if (timeRange === "24H") { + label = `${String(v.dt.getHours()).padStart(2, "0")}:00`; + } else { + label = formatDate(v.dt); + } + return { label, hr: v.hr, spo2: v.spo2, sugar: v.sugar }; + }); + + setPoints(mapped); + } catch (e) { + setPoints([]); + } finally { + setLoading(false); + } + }; + + useEffect(() => { + fetchVitalsSeries(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [patientId, timeRange, refreshKey]); + + // ---------------- CHART MATH ---------------- + const padding = { top: 20, right: 20, bottom: 40, left: 50 }; + const innerWidth = Math.max(0, dimensions.width - padding.left - padding.right); + const innerHeight = Math.max(0, dimensions.height - padding.top - padding.bottom); + + const xScale = (i) => padding.left + (i / Math.max(1, points.length - 1)) * innerWidth; + + const getMinMax = (arr) => { + const vals = arr.filter((v) => v !== null && v !== undefined); + if (vals.length === 0) return { min: 0, max: 1 }; + let min = vals[0], max = vals[0]; + for (const v of vals) { + if (v < min) min = v; + if (v > max) max = v; + } + // add small padding + const pad = (max - min) * 0.15 || 5; + return { min: min - pad, max: max + pad }; + }; + + const hrRange = getMinMax(points.map((p) => p.hr)); + const spo2Range = getMinMax(points.map((p) => p.spo2)); + const sugarRange = getMinMax(points.map((p) => p.sugar)); + + const yScale = (value, range) => { + if (value === null || value === undefined) return null; + const { min, max } = range; + const t = (value - min) / (max - min || 1); + return padding.top + innerHeight - t * innerHeight; + }; + + const buildPath = (key, range) => { + let d = ""; + points.forEach((p, i) => { + const y = yScale(p[key], range); + if (y === null) return; + const x = xScale(i); + d += `${d ? " L" : "M"} ${x} ${y}`; + }); + return d; + }; + + const hrPath = buildPath("hr", hrRange); + const spo2Path = buildPath("spo2", spo2Range); + const sugarPath = buildPath("sugar", sugarRange); + + const hasAnyData = + points.some((p) => p.hr !== null) || + points.some((p) => p.spo2 !== null) || + points.some((p) => p.sugar !== null); + + // basic ticks for HR axis display (just for grid) + const hrTicks = [0, 1, 2, 3, 4].map((i) => { + const t = i / 4; + return hrRange.min + t * (hrRange.max - hrRange.min); + }); + + return ( +
+
+
+
+ +
+
+

Vitals Trends

+

+ {loading ? "Loading..." : "Historical monitoring data"} +

+
+
+ +
+ {["24H", "7D", "30D"].map((range) => ( + + ))} +
+
+ +
+ + {/* Grid + HR tick labels */} + {hrTicks.map((val, idx) => { + const y = yScale(val, hrRange); + return ( + + + + {Math.round(val)} + + + ); + })} + + {/* X labels */} + {points.map((p, i) => + points.length <= 1 ? null : i % Math.ceil(points.length / 6) === 0 ? ( + + {p.label} + + ) : null + )} + + {/* Lines */} + {spo2Path && ( + + )} + + {hrPath && ( + + )} + + {/* Sugar (optional line) */} + {sugarPath && ( + + )} + + {/* Empty label */} + {!loading && !hasAnyData && ( + + No vitals data + + )} + + + {/* Legend */} +
+
+
+ Heart Rate (bpm) +
+
+
+ SpO₂ (%) +
+
+
+ Sugar (mg/dL) +
+
+
+
+ ); +}; + +export default GraphCard; diff --git a/src/components/PatientPortal/Header.jsx b/src/components/PatientPortal/Header.jsx new file mode 100644 index 0000000..583ac29 --- /dev/null +++ b/src/components/PatientPortal/Header.jsx @@ -0,0 +1,108 @@ +import React, { useState, useEffect } from 'react'; +import { Heart, Bell, Settings, LogOut } from 'lucide-react'; +import AlertsCard from "../../components/PatientPortal/AlertsCard"; +import { useNavigate } from "react-router-dom"; + +const Header = () => { + const navigate = useNavigate(); + const [isDarkMode, setIsDarkMode] = useState(false); + const [showAlerts, setShowAlerts] = useState(false); + + // GET PATIENT NAME FROM LOCALSTORAGE + const [patientName, setPatientName] = useState('Patient'); + + useEffect(() => { + const name = localStorage.getItem('patientName'); + if (name) { + setPatientName(name); + } + }, []); + + const handleLogout = () => { + // Clear all stored data + localStorage.removeItem('token'); + localStorage.removeItem('user'); + localStorage.removeItem('patientId'); + localStorage.removeItem('patientName'); + localStorage.removeItem('userId'); + localStorage.removeItem('userName'); + localStorage.removeItem('userRole'); + + // Redirect to login/home page + navigate('/'); + }; + + return ( +
+ {/* MAIN FLEX */} +
+ + {/* LEFT SIDE */} +
+
+ +
+
+

+ Patient Portal +

+

+ Welcome back, {patientName} +

+
+
+ + {/* RIGHT SIDE */} +
+ {/* DARK MODE */} + {/* */} + + {/* BELL ICON */} + {/*
+ + {showAlerts && ( +
+ +
+ )} +
*/} + + {/* SETTINGS */} + {/* */} + + {/* LOGOUT BUTTON */} + +
+
+
+ ); +}; + +export default Header; \ No newline at end of file diff --git a/src/components/PatientPortal/HealthDataTab.jsx b/src/components/PatientPortal/HealthDataTab.jsx new file mode 100644 index 0000000..b703a73 --- /dev/null +++ b/src/components/PatientPortal/HealthDataTab.jsx @@ -0,0 +1,492 @@ +import React, { useState, useEffect } from 'react'; +import { Footprints, Heart, Droplets, Flame, Moon, Activity, TrendingUp, Weight, Layers } from 'lucide-react'; +import HealthDataUpload from './HealthDataUpload'; +import ActivityRings from './ActivityRings'; +import HealthMetricCard from './HealthMetricCard'; +import ChallengesSection from './ChallengesSection'; +import { parseAppleHealthData, parseGoogleFitData, parseCustomHealthData, aggregateHealthData } from '../../utils/HealthDataParser'; +import * as healthDataApi from '../../services/healthDataApi'; +import WorkoutSessionTimeline from './WorkoutSessionTimeline'; + +// Parse healthData from backend based on source (Apple Health, Google Fit, or Custom) +const parseSessionHealthData = (session) => { + const raw = session.healthData; + if (!raw) return null; + try { + if (session.source === 'Apple Health' && raw.data) { + return parseAppleHealthData(raw); + } + if (session.source === 'Google Fit' && raw.bucket) { + return parseGoogleFitData(raw); + } + // Custom or fallback: inner data object or full object + const data = raw.data != null ? raw.data : raw; + return parseCustomHealthData(data); + } catch (err) { + console.warn('Failed to parse health data for session', session.id, err); + return null; + } +}; + +// Empty health data shape so UI doesn't break when parse fails +const emptyHealthData = () => ({ + steps: [], heartRate: [], spo2: [], sleep: [], calories: [], distance: [], + workouts: [], flights: [], weight: [], + activityRings: { move: { current: 0, goal: 600 }, exercise: { current: 0, goal: 30 }, stand: { current: 0, goal: 12 } } +}); + +const HealthDataTab = ({ patientId: propPatientId, isDoctorView = false }) => { + const [workoutSessions, setWorkoutSessions] = useState([]); + const [selectedSessionId, setSelectedSessionId] = useState(null); + const [aggregatedData, setAggregatedData] = useState(null); + const [loading, setLoading] = useState(true); + const [loadError, setLoadError] = useState(null); + + // Load sessions from backend on mount and when returning to tab (e.g. after refresh) + useEffect(() => { + let cancelled = false; + const loadSessions = async () => { + const patientIdToFetch = propPatientId || localStorage.getItem('patientId'); + const token = localStorage.getItem('token'); + if (!patientIdToFetch || !token) { + setLoading(false); + setLoadError('Please log in to view your health data.'); + setWorkoutSessions([]); + return; + } + setLoadError(null); + setLoading(true); + try { + const sessions = await healthDataApi.getWorkoutSessions(patientIdToFetch); + if (cancelled) return; + const list = Array.isArray(sessions) ? sessions : []; + const formattedSessions = list.map(session => { + const healthData = parseSessionHealthData(session) || emptyHealthData(); + return { + id: String(session.id), + name: session.name || 'Untitled', + uploadDate: session.uploadDate, + healthData, + source: session.source || 'Custom Health Data' + }; + }); + setWorkoutSessions(formattedSessions); + if (formattedSessions.length > 0) { + setAggregatedData(aggregateHealthData(formattedSessions[0].healthData)); + } else { + setAggregatedData(null); + } + } catch (error) { + if (cancelled) return; + console.error('Error loading workout sessions:', error); + setLoadError(error?.response?.status === 401 + ? 'Session expired. Please log in again.' + : 'Failed to load health data. Please try again.'); + setWorkoutSessions([]); + setAggregatedData(null); + } finally { + if (!cancelled) setLoading(false); + } + }; + loadSessions(); + return () => { cancelled = true; }; + }, [propPatientId]); // Added propPatientId to dependencies + + // Get the selected session or most recent session for display + const currentSession = selectedSessionId + ? workoutSessions.find(s => s.id === selectedSessionId) + : (workoutSessions.length > 0 ? workoutSessions[0] : null); + const healthData = currentSession?.healthData || null; + const dataSource = currentSession?.source || ''; + + const handleDataUploaded = async (jsonData, fileName, metadata) => { + try { + let parsedData; + let source = ''; + let workoutDate = new Date(); // Default to today + + if (jsonData.data && jsonData.data.metrics) { + // Apple Health format with metrics array + parsedData = parseAppleHealthData(jsonData); + source = 'Apple Health'; + } else if (jsonData.bucket) { + // Google Fit format + parsedData = parseGoogleFitData(jsonData); + source = 'Google Fit'; + } else if (jsonData.data && typeof jsonData.data === 'object') { + // Custom format with data object (e.g., workouts, steps, etc.) + parsedData = parseCustomHealthData(jsonData.data); + source = 'Custom Health Data'; + + // Extract workout date from the JSON + if (jsonData.data.workouts && jsonData.data.workouts.length > 0) { + const firstWorkout = jsonData.data.workouts[0]; + if (firstWorkout.start) { + workoutDate = new Date(firstWorkout.start); + } else if (firstWorkout.end) { + workoutDate = new Date(firstWorkout.end); + } else if (firstWorkout.startDate) { + workoutDate = new Date(firstWorkout.startDate); + } + } + } else { + // Provide detailed error message about the JSON structure + const foundKeys = Object.keys(jsonData).join(', '); + console.error('Unrecognized JSON structure. Found keys:', foundKeys); + + + // Additional diagnostics for 'data' key + let additionalInfo = ''; + if (jsonData.data) { + const dataType = Array.isArray(jsonData.data) ? 'array' : typeof jsonData.data; + additionalInfo = `\n\nYour file has a "data" key, but it's a ${dataType} instead of an object with "metrics".\n`; + + if (Array.isArray(jsonData.data)) { + additionalInfo += `The "data" array has ${jsonData.data.length} items.\n`; + if (jsonData.data.length > 0) { + const firstItemKeys = Object.keys(jsonData.data[0] || {}).join(', '); + additionalInfo += `First item keys: ${firstItemKeys}`; + } + } else if (typeof jsonData.data === 'object') { + const dataKeys = Object.keys(jsonData.data).join(', '); + additionalInfo += `Keys inside "data": ${dataKeys}`; + } + } + + throw new Error( + `Unrecognized health data format.\n\n` + + `Expected format:\n` + + `• Apple Health: { "data": { "metrics": [...] } }\n` + + `• Google Fit: { "bucket": [...] }\n\n` + + `Found keys in your file: ${foundKeys}${additionalInfo}\n\n` + + `Please check the browser console (F12) for the full JSON structure.` + ); + } + + // Save to backend + const patientIdFromStorage = localStorage.getItem('patientId'); + if (!patientIdFromStorage) { + throw new Error('Patient ID not found. Please login again.'); + } + const blob = new Blob([JSON.stringify(jsonData)], { type: 'application/json' }); + const file = new File([blob], fileName, { type: 'application/json' }); + + const response = await healthDataApi.uploadWorkoutSession(patientIdFromStorage, metadata.name, file); + const backendSession = response.session; + + const newSession = { + id: backendSession.id.toString(), + name: backendSession.name, + uploadDate: backendSession.uploadDate, + healthData: parsedData, + source: backendSession.source + }; + + setWorkoutSessions(prev => [newSession, ...prev]); + const aggregated = aggregateHealthData(parsedData); + setAggregatedData(aggregated); + } catch (error) { + console.error('Error processing health data:', error); + const msg = error.response?.data?.message || error.response?.data?.error || error.message || 'Error processing health data. Please check the file format.'; + // We re-throw so the child component can show the error state + throw new Error(msg); + } + }; + + const handleEditSession = async (sessionId, metadata) => { + try { + await healthDataApi.updateWorkoutSession(parseInt(sessionId), metadata.name); + } catch (error) { + console.error('Error updating session:', error); + } + setWorkoutSessions(prev => prev.map(session => + session.id === sessionId + ? { ...session, name: metadata.name } + : session + )); + }; + + const handleDeleteSession = async (sessionId) => { + try { + const patientIdFromStorage = localStorage.getItem('patientId'); + if (!patientIdFromStorage) { + throw new Error('Patient ID not found. Please login again.'); + } + await healthDataApi.deleteWorkoutSession(parseInt(sessionId), patientIdFromStorage); + } catch (error) { + console.error('Error deleting session:', error); + } + setWorkoutSessions(prev => { + const updated = prev.filter(session => session.id !== sessionId); + + // If deleted session was selected, clear selection + if (selectedSessionId === sessionId) { + setSelectedSessionId(null); + } + + // Update aggregated data if there are remaining sessions + if (updated.length > 0) { + const nextSession = selectedSessionId && selectedSessionId !== sessionId + ? updated.find(s => s.id === selectedSessionId) + : updated[0]; + const aggregated = aggregateHealthData(nextSession.healthData); + setAggregatedData(aggregated); + } else { + setAggregatedData(null); + } + return updated; + }); + }; + + const handleSelectSession = (sessionId) => { + setSelectedSessionId(sessionId); + const session = workoutSessions.find(s => s.id === sessionId); + if (session) { + const aggregated = aggregateHealthData(session.healthData); + setAggregatedData(aggregated); + } + }; + + const generateChartData = (dataArray, maxPoints = 12) => { + if (!dataArray || dataArray.length === 0) return []; + + // Sort by date and take the last maxPoints entries + const sortedData = [...dataArray].sort((a, b) => { + const dateA = new Date(a.date || a.startDate); + const dateB = new Date(b.date || b.startDate); + return dateA - dateB; + }); + + // Take last maxPoints or all if less + const recentData = sortedData.slice(-maxPoints); + + return recentData.map(item => ({ + label: new Date(item.date || item.startDate).toLocaleTimeString('en-US', { + hour: '2-digit', + minute: '2-digit' + }), + value: Math.round(item.value || 0) + })); + }; + + return ( +
+ {loading && ( +
+
+

Loading your health data...

+
+ )} + + {loadError && !loading && ( +
+

{loadError}

+ +
+ )} + + {!loading && !isDoctorView && } + + {workoutSessions.length > 0 && ( + + )} + + {healthData && aggregatedData && ( + <> +
+

+ 📊 Showing data from latest session: {currentSession.name} ({dataSource}) +

+
+ + + +
+

Health Metrics

+
+ + + + + + + + + + + ({ + label: `W${i + 1}`, + value: Math.round(workout.duration || 0) + }))} + subtitle={`Weekly total: ${aggregatedData.week.totalWorkouts} workouts`} + /> + + {healthData.sleep.length > 0 && ( + ({ + label: `D${i + 1}`, + value: Math.round((sleep.duration || 0) / 60) + }))} + subtitle="Last night's sleep" + /> + )} + + {healthData.weight.length > 0 && ( + ({ + label: `D${i + 1}`, + value: Math.round(w.value * 10) / 10 + }))} + subtitle="Latest measurement" + /> + )} + + {healthData.flights.length > 0 && ( + { + const today = new Date().toDateString(); + return new Date(f.date).toDateString() === today; + }).reduce((sum, f) => sum + f.value, 0)} + unit="floors" + icon={Layers} + trend="up" + trendValue="+3" + bgGradient="bg-gradient-to-br from-gray-100 to-slate-200" + iconBg="bg-gray-500" + chartData={generateChartData(healthData.flights)} + subtitle="Today's climbs" + /> + )} +
+
+ + + + )} + + {!healthData && !loadError && !loading && ( +
+
+ +

+ No Health Data Yet +

+

+ {isDoctorView + ? "This patient has not uploaded any Apple Watch or Android Health activity data yet." + : "Upload your health data from Apple Watch or Android Health to see your activity rings, health metrics, and personalized challenges." + } +

+ + {!isDoctorView && ( +
+

How to export:

+
+

Apple Health: Health app → Profile → Export All Health Data

+

Google Fit: Google Takeout → Select Fit → Export JSON

+
+
+ )} +
+
+ )} +
+ ); +}; + +export default HealthDataTab; diff --git a/src/components/PatientPortal/HealthDataUpload.jsx b/src/components/PatientPortal/HealthDataUpload.jsx new file mode 100644 index 0000000..73a77ba --- /dev/null +++ b/src/components/PatientPortal/HealthDataUpload.jsx @@ -0,0 +1,212 @@ +import React, { useState } from 'react'; +import { Upload, FileJson, CheckCircle, AlertCircle, X, Loader } from 'lucide-react'; +import WorkoutMetadataModal from './WorkoutMetadataModal'; + +const HealthDataUpload = ({ onDataUploaded }) => { + const [isDragging, setIsDragging] = useState(false); + const [uploading, setUploading] = useState(false); + const [uploadStatus, setUploadStatus] = useState(null); + const [errorMessage, setErrorMessage] = useState(''); + const [pendingFile, setPendingFile] = useState(null); + const [showMetadataModal, setShowMetadataModal] = useState(false); + + const handleDragOver = (e) => { + e.preventDefault(); + setIsDragging(true); + }; + + const handleDragLeave = (e) => { + e.preventDefault(); + setIsDragging(false); + }; + + const handleDrop = (e) => { + e.preventDefault(); + setIsDragging(false); + const files = e.dataTransfer.files; + if (files.length > 0) { + handleFileSelection(files[0]); + } + }; + + const handleFileInput = (e) => { + const files = e.target.files; + if (files.length > 0) { + handleFileSelection(files[0]); + } + // Reset input to allow re-uploading the same file + e.target.value = ''; + }; + + const handleFileSelection = (file) => { + // Check both MIME type and file extension for better compatibility + const isJsonMime = file.type === 'application/json'; + const isJsonExtension = file.name.toLowerCase().endsWith('.json'); + + if (!isJsonMime && !isJsonExtension) { + setUploadStatus('error'); + setErrorMessage('Please upload a JSON file (.json)'); + return; + } + + if (file.size > 50 * 1024 * 1024) { + setUploadStatus('error'); + setErrorMessage('File size must be less than 50MB'); + return; + } + + // Store file and show metadata modal + setPendingFile(file); + setShowMetadataModal(true); + }; + + const handleMetadataConfirm = async (metadata) => { + if (!pendingFile) return; + + setUploading(true); + setUploadStatus(null); + setErrorMessage(''); + setShowMetadataModal(false); // Close modal + + try { + const reader = new FileReader(); + reader.onload = async (e) => { + try { + const jsonData = JSON.parse(e.target.result); + + if (onDataUploaded) { + await onDataUploaded(jsonData, pendingFile.name, metadata); + } + + setUploadStatus('success'); + // setTimeout(() => setUploadStatus("idle"), 3000); + setPendingFile(null); + } catch (error) { + console.error("Upload error:", error); + setUploadStatus('error'); + + if (error.message && error.message.includes("Duplicate")) { + setErrorMessage("Duplicate Upload: This file has already been uploaded."); + } else { + setErrorMessage(error.message || 'Error processing file'); + } + + setPendingFile(null); + } finally { + setUploading(false); + } + }; + + reader.onerror = () => { + setUploadStatus('error'); + setErrorMessage('Error reading file. Please try again.'); + setUploading(false); + setPendingFile(null); + }; + + reader.readAsText(pendingFile); + } catch (error) { + setUploadStatus('error'); + setErrorMessage(error.message); + setUploading(false); + setPendingFile(null); + } + }; + + const handleMetadataCancel = () => { + setPendingFile(null); + setShowMetadataModal(false); + }; + + const resetUpload = () => { + setUploadStatus(null); + setErrorMessage(''); + setPendingFile(null); + setShowMetadataModal(false); + }; + + return ( +
+

Upload Health Data

+

+ Upload your health data from Apple Watch or Android Health in JSON format +

+ + {uploadStatus === 'success' ? ( +
+ +

Upload Successful!

+

Your health data has been processed and visualized below.

+ +
+ ) : uploadStatus === 'error' ? ( +
+ +

Upload Failed

+

{errorMessage}

+ +
+ ) : ( +
+ {uploading ? ( +
+ +

Processing...

+

Analyzing your health data

+
+ ) : ( + <> + +

+ Drag & Drop your JSON file here +

+

or

+ +

+ Supported formats: Apple HealthKit Export, Google Fit Export (Max 50MB) +

+ + )} +
+ )} + + +
+ ); +}; + +export default HealthDataUpload; diff --git a/src/components/PatientPortal/HealthMetricCard.jsx b/src/components/PatientPortal/HealthMetricCard.jsx new file mode 100644 index 0000000..f48c024 --- /dev/null +++ b/src/components/PatientPortal/HealthMetricCard.jsx @@ -0,0 +1,79 @@ +import React from 'react'; +import { TrendingUp, TrendingDown, Minus } from 'lucide-react'; + +const HealthMetricCard = ({ + title, + value, + unit, + icon: Icon, + trend, + trendValue, + bgGradient, + iconBg, + chartData = [], + subtitle +}) => { + const getTrendIcon = () => { + if (trend === 'up') return ; + if (trend === 'down') return ; + return ; + }; + + const getTrendColor = () => { + if (trend === 'up') return 'text-green-500'; + if (trend === 'down') return 'text-red-500'; + return 'text-gray-500'; + }; + + const maxChartValue = Math.max(...chartData.map(d => d.value || 0), 1); + + return ( +
+
+
+ +
+ {trendValue && ( +
+ {getTrendIcon()} + {trendValue} +
+ )} +
+ +
+

{title}

+
+ {value} + {unit} +
+ {subtitle && ( +

{subtitle}

+ )} +
+ + {chartData.length > 0 && ( +
+
+ {chartData.slice(-12).map((data, index) => { + const height = ((data.value || 0) / maxChartValue) * 100; + return ( +
+
+ {data.label}: {data.value} +
+
+ ); + })} +
+
+ )} +
+ ); +}; + +export default HealthMetricCard; diff --git a/src/components/PatientPortal/HealthRiskCard.jsx b/src/components/PatientPortal/HealthRiskCard.jsx new file mode 100644 index 0000000..8082202 --- /dev/null +++ b/src/components/PatientPortal/HealthRiskCard.jsx @@ -0,0 +1,127 @@ +import React from 'react'; +import { CheckCircle, AlertTriangle, Brain, TrendingUp } from 'lucide-react'; + +const HealthRiskCard = () => { + const healthPredictions = [ + { + id: 1, + title: 'Cardiac Event', + risk: '5%', + status: 'Normal', + icon: CheckCircle, + color: 'green', + bgColor: 'bg-green-50', + textColor: 'text-green-700', + iconColor: 'text-green-600' + }, + { + id: 2, + title: 'Arrhythmia', + risk: '8%', + status: 'Normal', + icon: CheckCircle, + color: 'green', + bgColor: 'bg-green-50', + textColor: 'text-green-700', + iconColor: 'text-green-600' + }, + { + id: 3, + title: 'Hypertension', + risk: '35%', + status: 'Monitor', + icon: AlertTriangle, + color: 'orange', + bgColor: 'bg-orange-50', + textColor: 'text-orange-700', + iconColor: 'text-orange-600' + } + ]; + + return ( +
+ + {/* Header */} +
+
+ +
+
+

+ AI Health Predictions ✨ +

+

ML-powered risk analysis

+
+
+ + {/* Prediction Cards */} +
+ {healthPredictions.map((prediction) => { + const Icon = prediction.icon; + return ( +
+
+
+ +

{prediction.title}

+
+ +
+
{prediction.risk}
+
Risk
+
+
+ +
+ + Status: {prediction.status} + + +
+
+
+
+
+ ); + })} +
+ + {/* Overall Health Score */} +
+
+

Overall Health Score

+
+ + 92/100 +
+
+ +
+
+
+
+ + {/* AI Analysis Info */} +
+ +

+ AI analysis based on 24h vitals monitoring, historical trends, and clinical data patterns +

+
+ +
+ ); +}; + +export default HealthRiskCard; diff --git a/src/components/PatientPortal/HealthTipsCard.jsx b/src/components/PatientPortal/HealthTipsCard.jsx new file mode 100644 index 0000000..6a2ab05 --- /dev/null +++ b/src/components/PatientPortal/HealthTipsCard.jsx @@ -0,0 +1,108 @@ +import React from "react"; +import { Heart, Droplets, Zap, Lightbulb, Info } from "lucide-react"; + +const HealthTipsCard = () => { + const tips = [ + { + id: 1, + title: "Heart Rate", + description: "Your heart rate is within normal range. Continue regular activity.", + icon: Heart, + iconBg: "bg-blue-100", + iconColor: "text-blue-600", + }, + { + id: 2, + title: "Hydration", + description: "Stay hydrated. Aim for 8 glasses of water daily.", + icon: Droplets, + iconBg: "bg-teal-100", + iconColor: "text-teal-600", + }, + { + id: 3, + title: "Activity", + description: "Light exercise recommended. 20-30 minutes daily walk is ideal.", + icon: Zap, + iconBg: "bg-green-100", + iconColor: "text-green-600", + }, + ]; + + return ( +
+ + {/* Header */} +
+
+ +
+
+

Health Tips

+

Personalized recommendations

+
+
+ + {/* Tips List */} +
+ {tips.map((tip) => { + const Icon = tip.icon; + return ( +
+
+ +
+ +
+

{tip.title}

+

{tip.description}

+
+
+ ); + })} +
+ + {/* Divider */} +
+ + {/* Reminders Section */} +
+
+ +

Reminders

+
+ +
+ Remember to take your medication at 2:00 PM +
+
+ + {/* Daily Health Score */} +
+

+ Daily Health Score +

+ +
+

+ 8.5 /10 +

+ + + Excellent + +
+ + {/* Progress Bar */} +
+
+
+
+
+ ); +}; + +export default HealthTipsCard; diff --git a/src/components/PatientPortal/ManualEntryForm.jsx b/src/components/PatientPortal/ManualEntryForm.jsx new file mode 100644 index 0000000..5082114 --- /dev/null +++ b/src/components/PatientPortal/ManualEntryForm.jsx @@ -0,0 +1,353 @@ +import { useState } from "react"; +import { X, Heart, Thermometer, Activity, Droplet, Scale, Calendar } from "lucide-react"; + +const ManualEntryForm = ({ onClose, onSuccess }) => { + const [formData, setFormData] = useState({ + bloodPressureSystolic: "", + bloodPressureDiastolic: "", + bloodSugar: "", + temperature: "", + heartRate: "", + weight: "", + spo2: "", + date: new Date().toISOString().split("T")[0], + time: new Date().toTimeString().slice(0, 5), + notes: "", + }); + + const [errors, setErrors] = useState({}); + const [submitting, setSubmitting] = useState(false); + + const handleChange = (e) => { + const { name, value } = e.target; + setFormData((prev) => ({ ...prev, [name]: value })); + + if (errors[name]) setErrors((prev) => ({ ...prev, [name]: "" })); + }; + + const validateForm = () => { + const newErrors = {}; + const hasAnyVital = + formData.bloodPressureSystolic || + formData.bloodSugar || + formData.temperature || + formData.heartRate || + formData.weight || + formData.spo2; + + if (!hasAnyVital) newErrors.general = "Please enter at least one vital sign measurement"; + + if (formData.bloodPressureSystolic && !formData.bloodPressureDiastolic) + newErrors.bloodPressureDiastolic = "Please enter diastolic value"; + if (formData.bloodPressureDiastolic && !formData.bloodPressureSystolic) + newErrors.bloodPressureSystolic = "Please enter systolic value"; + + if (formData.bloodPressureSystolic && (formData.bloodPressureSystolic < 70 || formData.bloodPressureSystolic > 200)) + newErrors.bloodPressureSystolic = "Value should be between 70-200"; + if (formData.bloodPressureDiastolic && (formData.bloodPressureDiastolic < 40 || formData.bloodPressureDiastolic > 130)) + newErrors.bloodPressureDiastolic = "Value should be between 40-130"; + if (formData.bloodSugar && (formData.bloodSugar < 40 || formData.bloodSugar > 600)) + newErrors.bloodSugar = "Value should be between 40-600 mg/dL"; + if (formData.temperature && (formData.temperature < 95 || formData.temperature > 107)) + newErrors.temperature = "Value should be between 95-107°F"; + if (formData.heartRate && (formData.heartRate < 40 || formData.heartRate > 200)) + newErrors.heartRate = "Value should be between 40-200 bpm"; + if (formData.spo2 && (formData.spo2 < 70 || formData.spo2 > 100)) + newErrors.spo2 = "Value should be between 70-100%"; + + setErrors(newErrors); + return Object.keys(newErrors).length === 0; + }; + + const handleSubmit = async (e) => { + e.preventDefault(); + + if (!validateForm()) return; + + setSubmitting(true); + setErrors({}); + + try { + // Prepare data for API + const apiData = { + bloodPressureSystolic: formData.bloodPressureSystolic ? parseInt(formData.bloodPressureSystolic) : null, + bloodPressureDiastolic: formData.bloodPressureDiastolic ? parseInt(formData.bloodPressureDiastolic) : null, + bloodSugar: formData.bloodSugar ? parseFloat(formData.bloodSugar) : null, + temperature: formData.temperature ? parseFloat(formData.temperature) : null, + heartRate: formData.heartRate ? parseInt(formData.heartRate) : null, + spo2: formData.spo2 ? parseInt(formData.spo2) : null, + weight: formData.weight ? parseFloat(formData.weight) : null, + date: formData.date, + time: formData.time, + notes: formData.notes || null, + }; + + console.log("Submitting vital signs:", apiData); + + const response = await fetch(`${import.meta.env.VITE_API_URL}/api/vital-signs/submit`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(apiData), + }); + + if (!response.ok) { + const errorData = await response.json().catch(() => ({ error: "Submission failed" })); + throw new Error(errorData.error || `Submission failed: ${response.status}`); + } + + const result = await response.json(); + console.log("Submission successful:", result); + + alert("Health data submitted successfully!"); + + // Call success callback if provided + if (onSuccess) { + onSuccess(result); + } + + onClose(); + + } catch (error) { + console.error("Submission error:", error); + setErrors({ general: error.message || "Failed to submit data. Please try again." }); + alert("Failed to submit: " + error.message); + } finally { + setSubmitting(false); + } + }; + + return ( +
+
+ + {/* Header */} +
+
+

Manual Health Data Entry

+

Enter your vital signs measured at home

+
+ +
+ + {/* Form */} +
+ + {/* General Error */} + {errors.general && ( +
+ {errors.general} +
+ )} + + {/* Date & Time */} +
+
+ + +
+
+ + +
+
+ + {/* Vital Inputs (BP, Sugar, Temp, etc.) */} +
+ {/* Blood Pressure */} +
+ +
+
+ + {errors.bloodPressureSystolic &&

{errors.bloodPressureSystolic}

} +
+
+ + {errors.bloodPressureDiastolic &&

{errors.bloodPressureDiastolic}

} +
+
+
+ + {/* Blood Sugar */} +
+ + + {errors.bloodSugar &&

{errors.bloodSugar}

} +
+ + {/* Temperature */} +
+ + + {errors.temperature &&

{errors.temperature}

} +
+ + {/* Heart Rate */} +
+ + + {errors.heartRate &&

{errors.heartRate}

} +
+ + {/* SpO2 */} +
+ + + {errors.spo2 &&

{errors.spo2}

} +
+ + {/* Weight */} +
+ + +
+ + {/* Notes */} +
+ +