From 719209fa25240572616b4c6916231f2c1dc7c2f6 Mon Sep 17 00:00:00 2001 From: Krao Hasanee Date: Thu, 26 Mar 2026 23:42:06 -0400 Subject: [PATCH] =?UTF-8?q?Refactor:=20clients=20=E2=86=92=20companies=20s?= =?UTF-8?q?chema=20v2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/settings.local.json | 8 + .gitignore | 25 + README.md | 16 + eslint.config.js | 29 + index.html | 13 + package-lock.json | 3043 ++++++++++++++++++++++++ package.json | 31 + public/.htaccess | 4 + public/favicon.svg | 1 + public/font.ttf | Bin 0 -> 170920 bytes public/fourge-logo.png | Bin 0 -> 114797 bytes public/icons.svg | 24 + public/logo.png | Bin 0 -> 43281 bytes src/App.css | 1 + src/App.jsx | 60 + src/assets/hero.png | Bin 0 -> 44919 bytes src/assets/react.svg | 1 + src/assets/vite.svg | 1 + src/components/FileAttachment.jsx | 92 + src/components/Layout.jsx | 112 + src/components/ProtectedRoute.jsx | 12 + src/components/StatusBadge.jsx | 21 + src/context/AuthContext.jsx | 82 + src/data/mockData.js | 270 +++ src/index.css | 380 +++ src/lib/email.js | 8 + src/lib/invoice.js | 180 ++ src/lib/supabase.js | 8 + src/main.jsx | 10 + src/pages/Login.jsx | 89 + src/pages/Settings.jsx | 142 ++ src/pages/Signup.jsx | 63 + src/pages/SignupConfirmation.jsx | 19 + src/pages/client/MyInvoices.jsx | 95 + src/pages/client/MyProjectDetail.jsx | 137 ++ src/pages/client/MyProjects.jsx | 197 ++ src/pages/client/MyRequests.jsx | 122 + src/pages/client/NewRequest.jsx | 265 +++ src/pages/client/RequestDetail.jsx | 350 +++ src/pages/team/Companies.jsx | 206 ++ src/pages/team/CompanyDetail.jsx | 326 +++ src/pages/team/CreateInvoice.jsx | 236 ++ src/pages/team/Dashboard.jsx | 174 ++ src/pages/team/InvoiceDetail.jsx | 166 ++ src/pages/team/Invoices.jsx | 121 + src/pages/team/ProjectDetail.jsx | 125 + src/pages/team/Projects.jsx | 58 + src/pages/team/Requests.jsx | 95 + src/pages/team/TaskDetail.jsx | 378 +++ supabase/.temp/cli-latest | 1 + supabase/.temp/gotrue-version | 1 + supabase/.temp/pooler-url | 1 + supabase/.temp/postgres-version | 1 + supabase/.temp/project-ref | 1 + supabase/.temp/rest-version | 1 + supabase/.temp/storage-migration | 1 + supabase/.temp/storage-version | 1 + supabase/functions/send-email/index.ts | 102 + supabase/schema.sql | 276 +++ vercel.json | 3 + vite.config.js | 7 + 61 files changed, 8192 insertions(+) create mode 100644 .claude/settings.local.json create mode 100755 .gitignore create mode 100755 README.md create mode 100755 eslint.config.js create mode 100755 index.html create mode 100755 package-lock.json create mode 100755 package.json create mode 100755 public/.htaccess create mode 100755 public/favicon.svg create mode 100755 public/font.ttf create mode 100644 public/fourge-logo.png create mode 100755 public/icons.svg create mode 100755 public/logo.png create mode 100755 src/App.css create mode 100755 src/App.jsx create mode 100755 src/assets/hero.png create mode 100755 src/assets/react.svg create mode 100755 src/assets/vite.svg create mode 100755 src/components/FileAttachment.jsx create mode 100755 src/components/Layout.jsx create mode 100755 src/components/ProtectedRoute.jsx create mode 100755 src/components/StatusBadge.jsx create mode 100755 src/context/AuthContext.jsx create mode 100755 src/data/mockData.js create mode 100755 src/index.css create mode 100755 src/lib/email.js create mode 100644 src/lib/invoice.js create mode 100755 src/lib/supabase.js create mode 100755 src/main.jsx create mode 100755 src/pages/Login.jsx create mode 100755 src/pages/Settings.jsx create mode 100755 src/pages/Signup.jsx create mode 100755 src/pages/SignupConfirmation.jsx create mode 100644 src/pages/client/MyInvoices.jsx create mode 100644 src/pages/client/MyProjectDetail.jsx create mode 100755 src/pages/client/MyProjects.jsx create mode 100755 src/pages/client/MyRequests.jsx create mode 100755 src/pages/client/NewRequest.jsx create mode 100755 src/pages/client/RequestDetail.jsx create mode 100644 src/pages/team/Companies.jsx create mode 100644 src/pages/team/CompanyDetail.jsx create mode 100644 src/pages/team/CreateInvoice.jsx create mode 100755 src/pages/team/Dashboard.jsx create mode 100644 src/pages/team/InvoiceDetail.jsx create mode 100644 src/pages/team/Invoices.jsx create mode 100755 src/pages/team/ProjectDetail.jsx create mode 100755 src/pages/team/Projects.jsx create mode 100755 src/pages/team/Requests.jsx create mode 100755 src/pages/team/TaskDetail.jsx create mode 100755 supabase/.temp/cli-latest create mode 100755 supabase/.temp/gotrue-version create mode 100755 supabase/.temp/pooler-url create mode 100755 supabase/.temp/postgres-version create mode 100755 supabase/.temp/project-ref create mode 100755 supabase/.temp/rest-version create mode 100755 supabase/.temp/storage-migration create mode 100755 supabase/.temp/storage-version create mode 100755 supabase/functions/send-email/index.ts create mode 100755 supabase/schema.sql create mode 100644 vercel.json create mode 100755 vite.config.js diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..6fd1d97 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,8 @@ +{ + "permissions": { + "allow": [ + "Bash(\"/Users/kraohasanee/Documents/40-49 Fourge:*)", + "Bash(vercel --version)" + ] + } +} diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..fc5ae9f --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? +.vercel diff --git a/README.md b/README.md new file mode 100755 index 0000000..a36934d --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs) +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/) + +## React Compiler + +The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation). + +## Expanding the ESLint configuration + +If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the [TS template](https://github.com/vitejs/vite/tree/main/packages/create-vite/template-react-ts) for information on how to integrate TypeScript and [`typescript-eslint`](https://typescript-eslint.io) in your project. diff --git a/eslint.config.js b/eslint.config.js new file mode 100755 index 0000000..4fa125d --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,29 @@ +import js from '@eslint/js' +import globals from 'globals' +import reactHooks from 'eslint-plugin-react-hooks' +import reactRefresh from 'eslint-plugin-react-refresh' +import { defineConfig, globalIgnores } from 'eslint/config' + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{js,jsx}'], + extends: [ + js.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + ecmaVersion: 'latest', + ecmaFeatures: { jsx: true }, + sourceType: 'module', + }, + }, + rules: { + 'no-unused-vars': ['error', { varsIgnorePattern: '^[A-Z_]' }], + }, + }, +]) diff --git a/index.html b/index.html new file mode 100755 index 0000000..29e0177 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + + fourge-portal + + +
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100755 index 0000000..eba71c3 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3043 @@ +{ + "name": "fourge-portal", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "fourge-portal", + "version": "0.0.0", + "dependencies": { + "@supabase/supabase-js": "^2.99.3", + "jspdf": "^4.2.1", + "jspdf-autotable": "^5.0.7", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "react-router-dom": "^7.13.1" + }, + "devDependencies": { + "@eslint/js": "^9.39.4", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.0", + "eslint": "^9.39.4", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.4.0", + "vite": "^8.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.2.tgz", + "integrity": "sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.29.2.tgz", + "integrity": "sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emnapi/core": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.9.0.tgz", + "integrity": "sha512-0DQ98G9ZQZOxfUcQn1waV2yS8aWdZ6kJMbYCJB3oUBecjWYO1fqJ+a1DRfPF3O5JEkwqwP1A9QEN/9mYm2Yd0w==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.0", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.9.0.tgz", + "integrity": "sha512-QN75eB0IH2ywSpRpNddCRfQIhmJYBCJ1x5Lb3IscKAL8bMnVAKnRg8dCoXbHzVLLH7P38N2Z3mtulB7W0J0FKw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.0.tgz", + "integrity": "sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.2.tgz", + "integrity": "sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.5" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", + "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.14.0", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.1", + "minimatch": "^3.1.5", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", + "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "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", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "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", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "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" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "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/@napi-rs/wasm-runtime": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz", + "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1", + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + } + }, + "node_modules/@oxc-project/runtime": { + "version": "0.115.0", + "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.115.0.tgz", + "integrity": "sha512-Rg8Wlt5dCbXhQnsXPrkOjL1DTSvXLgb2R/KYfnf1/K+R0k6UMLEmbQXPM+kwrWqSmWA2t0B1EtHy2/3zikQpvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.115.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.115.0.tgz", + "integrity": "sha512-4n91DKnebUS4yjUHl2g3/b2T+IUdCfmoZGhmwsovZCDaJSs+QkVAM+0AqqTxHSsHfeiMuueT75cZaZcT/m0pSw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.9.tgz", + "integrity": "sha512-lcJL0bN5hpgJfSIz/8PIf02irmyL43P+j1pTCfbD1DbLkmGRuFIA4DD3B3ZOvGqG0XiVvRznbKtN0COQVaKUTg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-rc.9.tgz", + "integrity": "sha512-J7Zk3kLYFsLtuH6U+F4pS2sYVzac0qkjcO5QxHS7OS7yZu2LRs+IXo+uvJ/mvpyUljDJ3LROZPoQfgBIpCMhdQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-rc.9.tgz", + "integrity": "sha512-iwtmmghy8nhfRGeNAIltcNXzD0QMNaaA5U/NyZc1Ia4bxrzFByNMDoppoC+hl7cDiUq5/1CnFthpT9n+UtfFyg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-rc.9.tgz", + "integrity": "sha512-DLFYI78SCiZr5VvdEplsVC2Vx53lnA4/Ga5C65iyldMVaErr86aiqCoNBLl92PXPfDtUYjUh+xFFor40ueNs4Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-rc.9.tgz", + "integrity": "sha512-CsjTmTwd0Hri6iTw/DRMK7kOZ7FwAkrO4h8YWKoX/kcj833e4coqo2wzIFywtch/8Eb5enQ/lwLM7w6JX1W5RQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-2x9O2JbSPxpxMDhP9Z74mahAStibTlrBMW0520+epJH5sac7/LwZW5Bmg/E6CXuEF53JJFW509uP+lSedaUNxg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-rc.9.tgz", + "integrity": "sha512-JA1QRW31ogheAIRhIg9tjMfsYbglXXYGNPLdPEYrwFxdbkQCAzvpSCSHCDWNl4hTtrol8WeboCSEpjdZK8qrCg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-ppc64-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-aOKU9dJheda8Kj8Y3w9gnt9QFOO+qKPAl8SWd7JPHP+Cu0EuDAE5wokQubLzIDQWg2myXq2XhTpOVS07qqvT+w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-s390x-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-OalO94fqj7IWRn3VdXWty75jC5dk4C197AWEuMhIpvVv2lw9fiPhud0+bW2ctCxb3YoBZor71QHbY+9/WToadA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-rc.9.tgz", + "integrity": "sha512-cVEl1vZtBsBZna3YMjGXNvnYYrOJ7RzuWvZU0ffvJUexWkukMaDuGhUXn0rjnV0ptzGVkvc+vW9Yqy6h8YX4pg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-rc.9.tgz", + "integrity": "sha512-UzYnKCIIc4heAKgI4PZ3dfBGUZefGCJ1TPDuLHoCzgrMYPb5Rv6TLFuYtyM4rWyHM7hymNdsg5ik2C+UD9VDbA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-rc.9.tgz", + "integrity": "sha512-+6zoiF+RRyf5cdlFQP7nm58mq7+/2PFaY2DNQeD4B87N36JzfF/l9mdBkkmTvSYcYPE8tMh/o3cRlsx1ldLfog==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-rc.9.tgz", + "integrity": "sha512-rgFN6sA/dyebil3YTlL2evvi/M+ivhfnyxec7AccTpRPccno/rPoNlqybEZQBkcbZu8Hy+eqNJCqfBR8P7Pg8g==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.1.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-rc.9.tgz", + "integrity": "sha512-lHVNUG/8nlF1IQk1C0Ci574qKYyty2goMiPlRqkC5R+3LkXDkL5Dhx8ytbxq35m+pkHVIvIxviD+TWLdfeuadA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-rc.9.tgz", + "integrity": "sha512-G0oA4+w1iY5AGi5HcDTxWsoxF509hrFIPB2rduV5aDqS9FtDg1CAfa7V34qImbjfhIcA8C+RekocJZA96EarwQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^20.19.0 || >=22.12.0" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.7", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.7.tgz", + "integrity": "sha512-qujRfC8sFVInYSPPMLQByRh7zhwkGFS4+tyMQ83srV1qrxL4g8E2tyxVVyxd0+8QeBM1mIk9KbWxkegRr76XzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@supabase/auth-js": { + "version": "2.99.3", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.99.3.tgz", + "integrity": "sha512-vMEVLA1kGGYd/kdsJSwtjiFUZM1nGfrz2DWmgMBZtocV48qL+L2+4QpIkueXyBEumMQZFEyhz57i/5zGHjvdBw==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/functions-js": { + "version": "2.99.3", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.99.3.tgz", + "integrity": "sha512-6tk2zrcBkzKaaBXPOG5nshn30uJNFGOH9LxOnE8i850eQmsX+jVm7vql9kTPyvUzEHwU4zdjSOkXS9M+9ukMVA==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/postgrest-js": { + "version": "2.99.3", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-2.99.3.tgz", + "integrity": "sha512-8HxEf+zNycj7Z8+ONhhlu+7J7Ha+L6weyCtdEeK2mN5OWJbh6n4LPU4iuJ5UlCvvNnbSXMoutY7piITEEAgl2g==", + "license": "MIT", + "dependencies": { + "tslib": "2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/realtime-js": { + "version": "2.99.3", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.99.3.tgz", + "integrity": "sha512-c1azgZ2nZPczbY5k5u5iFrk1InpxN81IvNE+UBAkjrBz3yc5ALLJNkeTQwbJZT4PZBuYXEzqYGLMuh9fdTtTMg==", + "license": "MIT", + "dependencies": { + "@types/phoenix": "^1.6.6", + "@types/ws": "^8.18.1", + "tslib": "2.8.1", + "ws": "^8.18.2" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/storage-js": { + "version": "2.99.3", + "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.99.3.tgz", + "integrity": "sha512-lOfIm4hInNcd8x0i1LWphnLKxec42wwbjs+vhaVAvR801Vda0UAMbTooUY6gfqgQb8v29GofqKuQMMTAsl6w/w==", + "license": "MIT", + "dependencies": { + "iceberg-js": "^0.8.1", + "tslib": "2.8.1" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@supabase/supabase-js": { + "version": "2.99.3", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.99.3.tgz", + "integrity": "sha512-GuPbzoEaI51AkLw9VGhLNvnzw4PHbS3p8j2/JlvLeZNQMKwZw4aEYQIDBRtFwL5Nv7/275n9m4DHtakY8nCvgg==", + "license": "MIT", + "dependencies": { + "@supabase/auth-js": "2.99.3", + "@supabase/functions-js": "2.99.3", + "@supabase/postgrest-js": "2.99.3", + "@supabase/realtime-js": "2.99.3", + "@supabase/storage-js": "2.99.3" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", + "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "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/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.5.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz", + "integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/pako": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.4.tgz", + "integrity": "sha512-VWDCbrLeVXJM9fihYodcLiIv0ku+AlOa/TQ1SvYOaBuyrSKgEcro95LJyIsJ4vSo6BXIxOKxiJAat04CmST9Fw==", + "license": "MIT" + }, + "node_modules/@types/phoenix": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/@types/phoenix/-/phoenix-1.6.7.tgz", + "integrity": "sha512-oN9ive//QSBkf19rfDv45M7eZPi0eEXylht2OLEXicu5b4KoQ1OzXIw+xDSGWxSxe1JmepRR/ZH283vsu518/Q==", + "license": "MIT" + }, + "node_modules/@types/raf": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/@types/raf/-/raf-3.4.3.tgz", + "integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/react": { + "version": "19.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", + "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.1.tgz", + "integrity": "sha512-l9X/E3cDb+xY3SWzlG1MOGt2usfEHGMNIaegaUGFsLkb3RCn/k8/TOXBcab+OndDI4TBtktT8/9BwwW8Vi9KUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rolldown/pluginutils": "1.0.0-rc.7" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "peerDependencies": { + "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0", + "babel-plugin-react-compiler": "^1.0.0", + "vite": "^8.0.0" + }, + "peerDependenciesMeta": { + "@rolldown/plugin-babel": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-arraybuffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", + "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.8", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.8.tgz", + "integrity": "sha512-PCLz/LXGBsNTErbtB6i5u4eLpHeMfi93aUv5duMmj6caNu6IphS4q6UevDnL36sZQv9lrP11dbPKGMaXPwMKfQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001780", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001780.tgz", + "integrity": "sha512-llngX0E7nQci5BPJDqoZSbuZ5Bcs9F5db7EtgfwBerX9XGtkkiO4NwfDDIRzHTTwcYC8vC7bmeUEPGrKlR/TkQ==", + "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/canvg": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-3.0.11.tgz", + "integrity": "sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==", + "license": "MIT", + "optional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@types/raf": "^3.4.0", + "core-js": "^3.8.3", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.7", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^2.0.0", + "svg-pathdata": "^6.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "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-js": { + "version": "3.49.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.49.0.tgz", + "integrity": "sha512-es1U2+YTtzpwkxVLwAFdSpaIMyQaq0PBgm3YD1W3Qpsn1NAmO3KSgZfu+oGSWVu6NvLHoHCV/aYcsE5wiB7ALg==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-line-break": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-2.1.0.tgz", + "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "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/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==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/dompurify": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.3.tgz", + "integrity": "sha512-Oj6pzI2+RqBfFG+qOaOLbFXLQ90ARpcGG6UePL82bJLtdsa6CYJD7nmiU8MW9nQNOtCHV3lZ/Bzq1X0QYbBZCA==", + "license": "(MPL-2.0 OR Apache-2.0)", + "optional": true, + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.321", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.321.tgz", + "integrity": "sha512-L2C7Q279W2D/J4PLZLk7sebOILDSWos7bMsMNN06rK482umHUrh/3lM8G7IlHFOYip2oAg5nha1rCMxr/rs6ZQ==", + "dev": true, + "license": "ISC" + }, + "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/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.39.4", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", + "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.2", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.5", + "@eslint/js": "9.39.4", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.14.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.5", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", + "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", + "hermes-parser": "^0.25.1", + "zod": "^3.25.0 || ^4.0.0", + "zod-validation-error": "^3.5.0 || ^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz", + "integrity": "sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "eslint": "^9 || ^10" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-png": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.4.0.tgz", + "integrity": "sha512-kAqZq1TlgBjZcLr5mcN6NP5Rv4V2f22z00c3g8vRrwkcqjerx7BEhPbOnWCPqaHUl2XWQBJQvOT/FQhdMT7X/Q==", + "license": "MIT", + "dependencies": { + "@types/pako": "^2.0.3", + "iobuffer": "^5.3.2", + "pako": "^2.1.0" + } + }, + "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", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fflate": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz", + "integrity": "sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==", + "license": "MIT" + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.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/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC" + }, + "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", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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/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==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "17.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-17.4.0.tgz", + "integrity": "sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hermes-estree": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", + "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", + "dev": true, + "license": "MIT" + }, + "node_modules/hermes-parser": { + "version": "0.25.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", + "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hermes-estree": "0.25.1" + } + }, + "node_modules/html2canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.4.1.tgz", + "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==", + "license": "MIT", + "optional": true, + "dependencies": { + "css-line-break": "^2.1.0", + "text-segmentation": "^1.0.3" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/iceberg-js": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/iceberg-js/-/iceberg-js-0.8.1.tgz", + "integrity": "sha512-1dhVQZXhcHje7798IVM+xoo/1ZdVfzOMIc8/rgVSijRK38EDqOJoGula9N/8ZI5RD8QTxNQtK/Gozpr+qUqRRA==", + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/iobuffer": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.4.0.tgz", + "integrity": "sha512-DRebOWuqDvxunfkNJAlc3IzWIPD5xVxwUNbHr7xKB8E6aLJxIPfNX3CoMJghcFjpv6RWQsrcJbghtEwSPoJqMA==", + "license": "MIT" + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "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/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "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/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "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, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jspdf": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-4.2.1.tgz", + "integrity": "sha512-YyAXyvnmjTbR4bHQRLzex3CuINCDlQnBqoSYyjJwTP2x9jDLuKDzy7aKUl0hgx3uhcl7xzg32agn5vlie6HIlQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.28.6", + "fast-png": "^6.2.0", + "fflate": "^0.8.1" + }, + "optionalDependencies": { + "canvg": "^3.0.11", + "core-js": "^3.6.0", + "dompurify": "^3.3.1", + "html2canvas": "^1.0.0-rc.5" + } + }, + "node_modules/jspdf-autotable": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-5.0.7.tgz", + "integrity": "sha512-2wr7H6liNDBYNwt25hMQwXkEWFOEopgKIvR1Eukuw6Zmprm/ZcnmLTQEjW7Xx3FCbD3v7pflLcnMAv/h1jFDQw==", + "license": "MIT", + "peerDependencies": { + "jspdf": "^2 || ^3 || ^4" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "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.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "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": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "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/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.36", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.36.tgz", + "integrity": "sha512-TdC8FSgHz8Mwtw9g5L4gR/Sh9XhSP/0DEkQxfEFXOpiul5IiHgHan2VhYYb6agDSfp4KuvltmGApc8HMgUrIkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "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.8.0" + } + }, + "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": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT", + "optional": true + }, + "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": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.8", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz", + "integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", + "optional": true, + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-router": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.1.tgz", + "integrity": "sha512-td+xP4X2/6BJvZoX6xw++A2DdEi++YypA69bJUV5oVvqf6/9/9nNlD70YO1e9d3MyamJEBQFEzk6mbfDYbqrSA==", + "license": "MIT", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router-dom": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.13.1.tgz", + "integrity": "sha512-UJnV3Rxc5TgUPJt2KJpo1Jpy0OKQr0AjgbZzBFjaPJcFOb2Y8jA5H3LT8HUJAiRLlWrEXWHbF1Z4SCZaQjWDHw==", + "license": "MIT", + "dependencies": { + "react-router": "7.13.1" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "optional": true + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==", + "license": "MIT OR SEE LICENSE IN FEEL-FREE.md", + "optional": true, + "engines": { + "node": ">= 0.8.15" + } + }, + "node_modules/rolldown": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-rc.9.tgz", + "integrity": "sha512-9EbgWge7ZH+yqb4d2EnELAntgPTWbfL8ajiTW+SyhJEC4qhBbkCKbqFV4Ge4zmu5ziQuVbWxb/XwLZ+RIO7E8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/types": "=0.115.0", + "@rolldown/pluginutils": "1.0.0-rc.9" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-rc.9", + "@rolldown/binding-darwin-arm64": "1.0.0-rc.9", + "@rolldown/binding-darwin-x64": "1.0.0-rc.9", + "@rolldown/binding-freebsd-x64": "1.0.0-rc.9", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.9", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.9", + "@rolldown/binding-linux-ppc64-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-s390x-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.9", + "@rolldown/binding-linux-x64-musl": "1.0.0-rc.9", + "@rolldown/binding-openharmony-arm64": "1.0.0-rc.9", + "@rolldown/binding-wasm32-wasi": "1.0.0-rc.9", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.9", + "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.9" + } + }, + "node_modules/rolldown/node_modules/@rolldown/pluginutils": { + "version": "1.0.0-rc.9", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.9.tgz", + "integrity": "sha512-w6oiRWgEBl04QkFZgmW+jnU1EC9b57Oihi2ot3HNWIQRqgHp5PnYDia5iZ5FF7rpa4EQdiqMDXjlqKGXBhsoXw==", + "dev": true, + "license": "MIT" + }, + "node_modules/scheduler": { + "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", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "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/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stackblur-canvas": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz", + "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.1.14" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svg-pathdata": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-6.0.3.tgz", + "integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/text-segmentation": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/text-segmentation/-/text-segmentation-1.0.3.tgz", + "integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==", + "license": "MIT", + "optional": true, + "dependencies": { + "utrie": "^1.0.2" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "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": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utrie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/utrie/-/utrie-1.0.2.tgz", + "integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==", + "license": "MIT", + "optional": true, + "dependencies": { + "base64-arraybuffer": "^1.0.2" + } + }, + "node_modules/vite": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-8.0.0.tgz", + "integrity": "sha512-fPGaRNj9Zytaf8LEiBhY7Z6ijnFKdzU/+mL8EFBaKr7Vw1/FWcTBAMW0wLPJAGMPX38ZPVCVgLceWiEqeoqL2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/runtime": "0.115.0", + "lightningcss": "^1.32.0", + "picomatch": "^4.0.3", + "postcss": "^8.5.8", + "rolldown": "1.0.0-rc.9", + "tinyglobby": "^0.2.15" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "@vitejs/devtools": "^0.0.0-alpha.31", + "esbuild": "^0.27.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "@vitejs/devtools": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "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": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz", + "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-validation-error": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", + "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "zod": "^3.25.0 || ^4.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100755 index 0000000..ca3f856 --- /dev/null +++ b/package.json @@ -0,0 +1,31 @@ +{ + "name": "fourge-portal", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@supabase/supabase-js": "^2.99.3", + "jspdf": "^4.2.1", + "jspdf-autotable": "^5.0.7", + "react": "^19.2.4", + "react-dom": "^19.2.4", + "react-router-dom": "^7.13.1" + }, + "devDependencies": { + "@eslint/js": "^9.39.4", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.0", + "eslint": "^9.39.4", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.4.0", + "vite": "^8.0.0" + } +} diff --git a/public/.htaccess b/public/.htaccess new file mode 100755 index 0000000..62d0312 --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,4 @@ +Options -MultiViews +RewriteEngine On +RewriteCond %{REQUEST_FILENAME} !-f +RewriteRule ^ index.html [QSA,L] diff --git a/public/favicon.svg b/public/favicon.svg new file mode 100755 index 0000000..6893eb1 --- /dev/null +++ b/public/favicon.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/font.ttf b/public/font.ttf new file mode 100755 index 0000000000000000000000000000000000000000..e4a134fbf418edcabdb864ddeb1fb70b95d9466a GIT binary patch literal 170920 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 NEEP^DgfIkO{{wcM9KHYm literal 0 HcmV?d00001 diff --git a/public/fourge-logo.png b/public/fourge-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..74c19275aec0a29a6be316823a27e3982b7336a6 GIT binary patch literal 114797 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 f0(IgV0kLFA + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/logo.png b/public/logo.png new file mode 100755 index 0000000000000000000000000000000000000000..5103a15164ec2f989d61f41842608f53f0d3579c GIT binary patch literal 43281 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

+RPL9`V5lj7_S2| zN!W-))O3-|SL!`?x@a_S1y$hRj!f1d7XF)yXKso7cdP4gSj5IkT`UBnU%bKpb#|RG zO@&buiclg(s5Sycp=k*sQIujT2(r>r#XziLf&yU*q9_SOmV{Miffi-_zz{@9K#YJG zl_3#P5Rsu_1Q`}0GDR_A6T$QO`0I%M)x4&!uiv`&o_o%{_Z>R#(o?jDb}^YFvgQc3 zqb?9X5<$sdoBK?lEh1_c%W-S#=tMBa?;qCGyrqP(zqo{JUaq(*j^HHcBovQ zo42*j0;OHt6=Jw-i&kp{Fli46a~+~1*iU5N;*!M+f9w*9Ur9E zgn#`4Rbfw=_$jI9#F`>k z0DU^LnN29@^sc9e*_&WXZAGaYlBz@wK?;>b357twwQ$Af$QVl#HmoI_i$CUFX5NSz zp;+`DPBI>KDzcJ6^Mq~~iy7s4QqM&_$}Y^w0!9sXk$8!r>m z=Mq>bkfOHwSI?YD1`I^=GE#=&g3ZER;h166K>^a2Pdup$=kX25R7m+a5r6T53bp+* z4WDfx11;FJC~1@xV3<)O!lBM|!7FM>rBP=SgFy{6$CsL=-+cMcpZ?#i|LKSSa_hQ% Z8=7YsD| + + + } /> + } /> + } /> + + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + } /> + + } /> + + } /> + } /> + } /> + } /> + } /> + } /> + + } /> + + + + ); +} diff --git a/src/assets/hero.png b/src/assets/hero.png new file mode 100755 index 0000000000000000000000000000000000000000..cc51a3d20ad4bc961b596a6adfd686685cd84bb0 GIT binary patch literal 44919 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 JPDHLkV1myZcL)Fg literal 0 HcmV?d00001 diff --git a/src/assets/react.svg b/src/assets/react.svg new file mode 100755 index 0000000..6c87de9 --- /dev/null +++ b/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/vite.svg b/src/assets/vite.svg new file mode 100755 index 0000000..5101b67 --- /dev/null +++ b/src/assets/vite.svg @@ -0,0 +1 @@ +Vite diff --git a/src/components/FileAttachment.jsx b/src/components/FileAttachment.jsx new file mode 100755 index 0000000..a187fc9 --- /dev/null +++ b/src/components/FileAttachment.jsx @@ -0,0 +1,92 @@ +import { useState } from 'react'; + +const MAX_FILES = 20; +const MAX_SIZE_MB = 10; +const MAX_SIZE_BYTES = MAX_SIZE_MB * 1024 * 1024; + +const formatSize = (bytes) => { + if (bytes < 1024 * 1024) return (bytes / 1024).toFixed(1) + ' KB'; + return (bytes / (1024 * 1024)).toFixed(1) + ' MB'; +}; + +export default function FileAttachment({ files, onChange }) { + const [errors, setErrors] = useState([]); + + const handleChange = (e) => { + const incoming = Array.from(e.target.files); + const combined = [...files, ...incoming]; + const errs = []; + + if (combined.length > MAX_FILES) { + errs.push(`Maximum ${MAX_FILES} files allowed.`); + } + incoming.filter(f => f.size > MAX_SIZE_BYTES) + .forEach(f => errs.push(`"${f.name}" exceeds ${MAX_SIZE_MB} MB limit.`)); + + if (errs.length > 0) { setErrors(errs); return; } + setErrors([]); + onChange(combined); + e.target.value = ''; + }; + + const remove = (index) => { + setErrors([]); + onChange(files.filter((_, i) => i !== index)); + }; + + return ( +

+ + +
0 ? 'var(--accent)' : 'var(--border)'}`, + borderRadius: 8, padding: '18px 16px', textAlign: 'center', + background: files.length > 0 ? '#fffbeb' : '#fafafa', transition: 'all 0.15s', + }}> + + +
+ + {errors.length > 0 && errors.map((err, i) => ( +
⚠ {err}
+ ))} + + {files.length > 0 && ( +
+ {files.map((file, i) => ( +
+
+ 📄 +
+
{file.name}
+
{formatSize(file.size)}
+
+
+ +
+ ))} +
+ {files.length}/{MAX_FILES} files +
+
+ )} +
+ ); +} diff --git a/src/components/Layout.jsx b/src/components/Layout.jsx new file mode 100755 index 0000000..18a817c --- /dev/null +++ b/src/components/Layout.jsx @@ -0,0 +1,112 @@ +import { useState, useEffect } from 'react'; +import { NavLink, useNavigate, useLocation } from 'react-router-dom'; +import { useAuth } from '../context/AuthContext'; + +function TeamNav({ onNav }) { + return ( +
+
Main
+ {[ + { to: '/dashboard', label: 'Dashboard' }, + { to: '/companies', label: 'Companies' }, + { to: '/requests', label: 'Requests' }, + { to: '/invoices', label: 'Invoices' }, + ].map(({ to, label }) => ( + `sidebar-link${isActive ? ' active' : ''}`}> + {label} + + ))} +
+ ); +} + +function ClientNav({ onNav }) { + return ( +
+
My Work
+ {[ + { to: '/my-projects', label: 'Projects' }, + { to: '/my-invoices', label: 'Invoices' }, + ].map(({ to, label }) => ( + `sidebar-link${isActive ? ' active' : ''}`}> + {label} + + ))} +
+ ); +} + +export default function Layout({ children }) { + const { currentUser, logout } = useAuth(); + const navigate = useNavigate(); + const location = useLocation(); + const [theme, setTheme] = useState(() => localStorage.getItem('theme') || 'dark'); + const [menuOpen, setMenuOpen] = useState(false); + + useEffect(() => { + document.documentElement.setAttribute('data-theme', theme); + localStorage.setItem('theme', theme); + }, [theme]); + + // Close menu on route change + useEffect(() => { setMenuOpen(false); }, [location.pathname]); + + const toggleTheme = () => setTheme(t => t === 'dark' ? 'light' : 'dark'); + const handleLogout = () => { logout(); navigate('/'); }; + + const initials = currentUser?.name + ?.split(' ').map(n => n[0]).join('').toUpperCase().slice(0, 2); + + return ( +
+ {/* Overlay */} + {menuOpen &&
setMenuOpen(false)} />} + + + +
+ {/* Mobile top bar inside main wrapper so it sits at the top */} +
+ +
+
+ {children} +
+
+
+ ); +} diff --git a/src/components/ProtectedRoute.jsx b/src/components/ProtectedRoute.jsx new file mode 100755 index 0000000..9833bec --- /dev/null +++ b/src/components/ProtectedRoute.jsx @@ -0,0 +1,12 @@ +import { Navigate } from 'react-router-dom'; +import { useAuth } from '../context/AuthContext'; + +export default function ProtectedRoute({ children, role }) { + const { currentUser } = useAuth(); + if (!currentUser) return ; + if (role && currentUser.role !== role) { + return ; + } + return children; +} + diff --git a/src/components/StatusBadge.jsx b/src/components/StatusBadge.jsx new file mode 100755 index 0000000..ff131e5 --- /dev/null +++ b/src/components/StatusBadge.jsx @@ -0,0 +1,21 @@ +const labels = { + not_started: 'Not Started', + in_progress: 'In Progress', + on_hold: 'On Hold', + client_review: 'Client Review', + client_approved: 'Client Approved', + active: 'Active', + completed: 'Completed', + initial: 'Initial', + revision: 'Revision', + team: 'Team', + client: 'Client', +}; + +export default function StatusBadge({ status }) { + return ( + + {labels[status] || status} + + ); +} diff --git a/src/context/AuthContext.jsx b/src/context/AuthContext.jsx new file mode 100755 index 0000000..e00f191 --- /dev/null +++ b/src/context/AuthContext.jsx @@ -0,0 +1,82 @@ +import { createContext, useContext, useState, useEffect } from 'react'; +import { supabase } from '../lib/supabase'; + +const AuthContext = createContext(null); + +export function AuthProvider({ children }) { + const [currentUser, setCurrentUser] = useState(null); + const [loading, setLoading] = useState(true); + + const fetchProfile = async (authUser) => { + const { data } = await supabase + .from('profiles') + .select('*, company:companies(id, name, email)') + .eq('id', authUser.id) + .single(); + if (data) setCurrentUser({ ...data, email: authUser.email }); + }; + + useEffect(() => { + const timeout = setTimeout(() => setLoading(false), 5000); + + supabase.auth.getSession().then(async ({ data: { session } }) => { + if (session?.user) await fetchProfile(session.user); + clearTimeout(timeout); + setLoading(false); + }).catch(() => { + clearTimeout(timeout); + setLoading(false); + }); + + const { data: { subscription } } = supabase.auth.onAuthStateChange(async (event, session) => { + if (session?.user) { + await fetchProfile(session.user); + } else { + setCurrentUser(null); + } + }); + + return () => { + clearTimeout(timeout); + subscription.unsubscribe(); + }; + }, []); + + const login = async (email, password) => { + const { error } = await supabase.auth.signInWithPassword({ email, password }); + if (error) return { error: error.message }; + return {}; + }; + + const signup = async (email, password, name) => { + const { error } = await supabase.auth.signUp({ + email, + password, + options: { data: { name, role: 'client' } }, + }); + if (error) return { error: error.message }; + return {}; + }; + + const logout = async () => { + await supabase.auth.signOut(); + setCurrentUser(null); + }; + + if (loading) return ( +
+ Fourge Branding +
+ ); + + return ( + + {children} + + ); +} + +export const useAuth = () => useContext(AuthContext); diff --git a/src/data/mockData.js b/src/data/mockData.js new file mode 100755 index 0000000..968b049 --- /dev/null +++ b/src/data/mockData.js @@ -0,0 +1,270 @@ +export const mockUsers = [ + { id: '1', name: 'Jordan Lee', email: 'jordan@fourgebranding.com', role: 'team', company: 'Fourge Branding' }, + { id: '2', name: 'Alex Rivera', email: 'alex@fourgebranding.com', role: 'team', company: 'Fourge Branding' }, + { id: '3', name: 'Morgan Chen', email: 'morgan@fourgebranding.com', role: 'team', company: 'Fourge Branding' }, + { id: '4', name: 'Taylor Brooks', email: 'taylor@fourgebranding.com', role: 'team', company: 'Fourge Branding' }, + { id: '5', name: 'John Smith', email: 'john@acmecorp.com', role: 'client', company: 'Acme Corp' }, + { id: '6', name: 'Sarah Johnson', email: 'sarah@techstartup.com', role: 'client', company: 'Tech Startup Inc' }, +]; + +export const serviceTypes = [ + 'Logo Design', + 'Brand Identity', + 'Brand Guidelines', + 'Brand Book', + 'Social Media Graphics', + 'Print Design', + 'Business Cards', + 'Packaging Design', + 'Web Design', + 'Other', +]; + +export const teamMembers = mockUsers.filter(u => u.role === 'team'); + +export const mockClients = [ + { + id: '1', + name: 'John Smith', + email: 'john@acmecorp.com', + company: 'Acme Corp', + type: 'registered', + userId: '5', + createdAt: '2025-01-10', + }, + { + id: '2', + name: 'Sarah Johnson', + email: 'sarah@techstartup.com', + company: 'Tech Startup Inc', + type: 'registered', + userId: '6', + createdAt: '2025-01-18', + }, + { + id: '3', + name: 'Mike Davis', + email: 'mike@davisco.com', + company: 'Davis & Co', + type: 'guest', + userId: null, + createdAt: '2025-01-22', + }, + { + id: '4', + name: 'Emma Bloom', + email: 'emma@bloombakery.com', + company: 'Bloom Bakery', + type: 'guest', + userId: null, + createdAt: '2024-12-10', + }, +]; + +export const mockProjects = [ + { + id: '1', + clientId: '1', + name: '2025 Brand Refresh', + description: 'Full brand identity overhaul including logo, guidelines, and print materials.', + status: 'active', + createdAt: '2025-01-15', + }, + { + id: '2', + clientId: '1', + name: 'Social Media Kit', + description: 'Social media templates and graphics package.', + status: 'active', + createdAt: '2025-02-01', + }, + { + id: '3', + clientId: '2', + name: 'Launch Package', + description: 'Everything needed for the startup launch — logo, brand, web.', + status: 'active', + createdAt: '2025-01-20', + }, + { + id: '4', + clientId: '3', + name: 'Business Card Design', + description: 'Single business card design for consulting firm.', + status: 'active', + createdAt: '2025-01-22', + }, + { + id: '5', + clientId: '4', + name: 'Packaging & Brand', + description: 'Packaging design and brand identity for bakery.', + status: 'completed', + createdAt: '2024-12-10', + }, +]; + +export const mockTasks = [ + { + id: '1', + projectId: '1', + title: 'Logo Design', + assignedTo: '1', + assignedName: 'Jordan Lee', + status: 'client_review', + currentVersion: 1, + submittedAt: '2025-01-15', + completedAt: null, + }, + { + id: '2', + projectId: '1', + title: 'Brand Book', + assignedTo: '2', + assignedName: 'Alex Rivera', + status: 'in_progress', + currentVersion: 0, + submittedAt: '2025-01-15', + completedAt: null, + }, + { + id: '3', + projectId: '1', + title: 'Business Cards', + assignedTo: null, + assignedName: null, + status: 'not_started', + currentVersion: 0, + submittedAt: '2025-01-15', + completedAt: null, + }, + { + id: '4', + projectId: '2', + title: 'Instagram Templates', + assignedTo: '3', + assignedName: 'Morgan Chen', + status: 'not_started', + currentVersion: 0, + submittedAt: '2025-02-01', + completedAt: null, + }, + { + id: '5', + projectId: '3', + title: 'Logo Design', + assignedTo: '1', + assignedName: 'Jordan Lee', + status: 'not_started', + currentVersion: 1, + submittedAt: '2025-01-20', + completedAt: null, + }, + { + id: '6', + projectId: '4', + title: 'Business Card Design', + assignedTo: null, + assignedName: null, + status: 'not_started', + currentVersion: 0, + submittedAt: '2025-01-22', + completedAt: null, + }, + { + id: '7', + projectId: '5', + title: 'Packaging Design', + assignedTo: '3', + assignedName: 'Morgan Chen', + status: 'client_approved', + currentVersion: 2, + submittedAt: '2024-12-10', + completedAt: '2025-01-05', + }, +]; + +export const mockSubmissions = [ + { + id: '1', + taskId: '1', + versionNumber: 1, + type: 'initial', + serviceType: 'Logo Design', + deadline: '2025-02-15', + description: 'We need a modern, minimalist logo for our company. Colors should be blue and white. We want something that conveys trust and professionalism.', + submittedBy: '5', + submittedByName: 'John Smith', + submittedAt: '2025-01-15', + delivery: { + files: [{ name: 'AcmeCorp_Logo_v00.pdf' }, { name: 'AcmeCorp_Logo_v00_dark.pdf' }], + sentAt: '2025-01-22', + sentBy: 'Jordan Lee', + }, + }, + { + id: '2', + taskId: '1', + versionNumber: 2, + type: 'revision', + serviceType: 'Logo Design', + deadline: '2025-02-20', + description: 'We like the direction but would like the font to be bolder and the icon slightly larger. Also please try a version with a dark background.', + submittedBy: '5', + submittedByName: 'John Smith', + submittedAt: '2025-01-25', + delivery: { + files: [{ name: 'AcmeCorp_Logo_v01.pdf' }], + sentAt: '2025-01-30', + sentBy: 'Jordan Lee', + }, + }, + { + id: '3', + taskId: '2', + versionNumber: 1, + type: 'initial', + serviceType: 'Brand Book', + deadline: '2025-03-01', + description: 'Full brand book including color palette, typography, logo usage rules, and example applications.', + submittedBy: '5', + submittedByName: 'John Smith', + submittedAt: '2025-01-15', + }, + { + id: '4', + taskId: '5', + versionNumber: 1, + type: 'initial', + serviceType: 'Logo Design', + deadline: '2025-02-28', + description: 'Need a fresh, modern logo for our tech startup. We are in the AI space and want something futuristic but approachable.', + submittedBy: '6', + submittedByName: 'Sarah Johnson', + submittedAt: '2025-01-20', + }, + { + id: '5', + taskId: '5', + versionNumber: 2, + type: 'revision', + serviceType: 'Logo Design', + deadline: '2025-03-05', + description: 'The logo looks good but we want to explore a different color direction — green and purple. The icon feels too corporate.', + submittedBy: '6', + submittedByName: 'Sarah Johnson', + submittedAt: '2025-01-28', + }, + { + id: '6', + taskId: '6', + versionNumber: 1, + type: 'initial', + serviceType: 'Business Cards', + deadline: '2025-02-10', + description: 'Standard business card design for our consulting firm. We have a logo already, just need a professional card layout with clean typography.', + submittedBy: null, + submittedByName: 'Mike Davis (Guest)', + submittedAt: '2025-01-22', + }, +]; diff --git a/src/index.css b/src/index.css new file mode 100755 index 0000000..610ff07 --- /dev/null +++ b/src/index.css @@ -0,0 +1,380 @@ +@font-face { + font-family: 'Fourge'; + src: url('/font.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } + +:root { + --sidebar-bg: #0d0d0d; + --sidebar-text: #888888; + --sidebar-active-text: #ffffff; + --sidebar-active-bg: #1a1a1a; + --sidebar-hover-bg: #1a1a1a; + --accent: #F5A523; + --accent-hover: #e09510; + --bg: #111111; + --card-bg: #1a1a1a; + --card-bg-2: #222222; + --text-primary: #ffffff; + --text-secondary: #a8a8a8; + --text-muted: #666666; + --border: #2a2a2a; + --danger: #ef4444; + --success: #22c55e; +} + +[data-theme="light"] { + --sidebar-bg: #1a1a1a; + --sidebar-text: #888888; + --sidebar-active-text: #ffffff; + --sidebar-active-bg: #2a2a2a; + --sidebar-hover-bg: #2a2a2a; + --bg: #f4f4f4; + --card-bg: #ffffff; + --card-bg-2: #f0f0f0; + --text-primary: #1a1a1a; + --text-secondary: #5a5a5a; + --text-muted: #999999; + --border: #e0e0e0; +} +[data-theme="light"] input[type="text"], +[data-theme="light"] input[type="email"], +[data-theme="light"] input[type="date"], +[data-theme="light"] input[type="password"], +[data-theme="light"] select, +[data-theme="light"] textarea { + background: #fff; + color: #1a1a1a; + border-color: #d0d0d0; +} +[data-theme="light"] input::placeholder, +[data-theme="light"] textarea::placeholder { color: #aaa; } +[data-theme="light"] th { background: #fafafa; } +[data-theme="light"] tr:hover td { background: #fafafa; } +[data-theme="light"] .assign-select { background: #fff; color: #1a1a1a; } +[data-theme="light"] .badge-not_started { background: #f1f5f9; color: #64748b; border-color: #e2e8f0; } +[data-theme="light"] .badge-in_progress { background: #eff6ff; color: #2563eb; border-color: #bfdbfe; } +[data-theme="light"] .badge-on_hold { background: #fffbeb; color: #d97706; border-color: #fde68a; } +[data-theme="light"] .badge-client_review { background: #f5f3ff; color: #7c3aed; border-color: #ddd6fe; } +[data-theme="light"] .badge-client_approved { background: #f0fdf4; color: #16a34a; border-color: #bbf7d0; } +[data-theme="light"] .badge-sent_to_client { background: #f5f3ff; color: #7c3aed; border-color: #ddd6fe; } +[data-theme="light"] .badge-revision_requested { background: #fff7ed; color: #c2410c; border-color: #fed7aa; } +[data-theme="light"] .badge-approved { background: #f0fdf4; color: #16a34a; border-color: #bbf7d0; } +[data-theme="light"] .badge-active { background: #eff6ff; color: #2563eb; border-color: #bfdbfe; } +[data-theme="light"] .badge-completed { background: #f0fdf4; color: #16a34a; border-color: #bbf7d0; } +[data-theme="light"] .badge-initial { background: #f0fdf4; color: #16a34a; border-color: #bbf7d0; } +[data-theme="light"] .badge-revision { background: #fff7ed; color: #c2410c; border-color: #fed7aa; } +[data-theme="light"] .badge-team { background: #f5f3ff; color: #7c3aed; border-color: #ddd6fe; } +[data-theme="light"] .badge-client { background: #fffbeb; color: #b45309; border-color: #fde68a; } +[data-theme="light"] .notification-success { background: #f0fdf4; color: #16a34a; border-color: #bbf7d0; } +[data-theme="light"] .notification-info { background: #eff6ff; color: #2563eb; border-color: #bfdbfe; } +[data-theme="light"] .btn-outline { color: #1a1a1a; border-color: #d0d0d0; } +[data-theme="light"] .btn-outline:hover { background: #f0f0f0; } +[data-theme="light"] .btn-danger { color: var(--danger); border-color: var(--danger); } +[data-theme="light"] .btn-danger:hover { background: var(--danger); color: white; } +[data-theme="light"] select option { background: #fff; color: #1a1a1a; } +[data-theme="light"] .assign-select option { background: #fff; color: #1a1a1a; } + +body { + font-family: 'Fourge', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; + background: var(--bg); + color: var(--text-primary); + font-size: 14px; + line-height: 1.5; +} + +#root { all: unset; display: block; } + +/* Layout */ +.app-layout { display: flex; min-height: 100vh; } + +.sidebar { + width: 240px; + min-width: 240px; + background: var(--sidebar-bg); + display: flex; + flex-direction: column; + padding: 24px 0; + position: fixed; + top: 0; left: 0; + height: 100vh; + overflow-y: auto; + border-right: 1px solid var(--border); +} + +.sidebar-logo { + padding: 0 20px 24px; + border-bottom: 1px solid var(--border); + margin-bottom: 16px; +} +.sidebar-logo h1 { font-size: 18px; font-weight: 700; color: #fff; letter-spacing: -0.3px; } +.sidebar-logo span { font-size: 12px; color: var(--sidebar-text); } + +.sidebar-section { padding: 0 12px; margin-bottom: 8px; } +.sidebar-section-label { + font-size: 10px; font-weight: 600; text-transform: uppercase; + letter-spacing: 0.8px; color: #444; padding: 0 8px; margin-bottom: 4px; +} + +.sidebar-link { + display: flex; align-items: center; gap: 10px; + padding: 9px 12px; border-radius: 6px; + color: var(--sidebar-text); text-decoration: none; + font-size: 13px; font-weight: 500; + transition: background 0.15s, color 0.15s; + cursor: pointer; border: none; background: none; + width: 100%; text-align: left; +} +.sidebar-link:hover { background: var(--sidebar-hover-bg); color: #fff; } +.sidebar-link.active { background: var(--sidebar-active-bg); color: #fff; border-left: 2px solid var(--accent); padding-left: 10px; } +.sidebar-link .icon { font-size: 15px; width: 18px; text-align: center; opacity: 0.7; } + +.sidebar-bottom { + margin-top: auto; padding: 16px 12px 0; + border-top: 1px solid var(--border); +} +.sidebar-user { padding: 10px 12px; display: flex; align-items: center; gap: 10px; } +.sidebar-avatar { + width: 30px; height: 30px; border-radius: 4px; + background: var(--accent); display: flex; align-items: center; + justify-content: center; color: #1a1a1a; font-size: 12px; + font-weight: 700; flex-shrink: 0; +} +.sidebar-user-info { overflow: hidden; } +.sidebar-user-name { font-size: 13px; font-weight: 600; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } +.sidebar-user-role { font-size: 11px; color: var(--sidebar-text); text-transform: capitalize; } + +.main-wrapper { margin-left: 240px; flex: 1; display: flex; flex-direction: column; min-height: 100vh; } +.main-content { flex: 1; padding: 32px; } + +/* Page header */ +.page-header { + margin-bottom: 28px; display: flex; + align-items: flex-start; justify-content: space-between; gap: 16px; +} +.page-title { font-size: 22px; font-weight: 700; color: var(--text-primary); letter-spacing: -0.3px; } +.page-subtitle { font-size: 13px; color: var(--text-secondary); margin-top: 3px; } + +/* Cards */ +.card { background: var(--card-bg); border-radius: 8px; border: 1px solid var(--border); padding: 20px; } +.card-title { font-size: 14px; font-weight: 600; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 16px; } + +/* Stats */ +.stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 28px; } +.stat-card { background: var(--card-bg); border-radius: 8px; border: 1px solid var(--border); padding: 20px; } +.stat-value { font-size: 32px; font-weight: 700; color: var(--text-primary); letter-spacing: -1px; } +.stat-label { font-size: 12px; color: var(--text-muted); margin-top: 4px; text-transform: uppercase; letter-spacing: 0.4px; } +.stat-icon { display: none; } + +/* Buttons */ +.btn { + display: inline-flex; align-items: center; gap: 6px; + padding: 9px 18px; border-radius: 6px; font-size: 13px; + font-weight: 600; cursor: pointer; border: none; + transition: all 0.15s; text-decoration: none; white-space: nowrap; + font-family: inherit; +} +.btn-primary { background: var(--accent); color: #111111; } +.btn-primary:hover { background: var(--accent-hover); } +.btn-outline { background: transparent; color: var(--text-primary); border: 1px solid var(--border); } +.btn-outline:hover { background: var(--card-bg-2); border-color: #444; } +.btn-success { background: #22c55e; color: #111; } +.btn-success:hover { background: #16a34a; } +.btn-warning { background: var(--accent); color: #111; } +.btn-warning:hover { background: var(--accent-hover); } +.btn-danger { background: transparent; color: var(--danger); border: 1px solid var(--danger); } +.btn-danger:hover { background: var(--danger); color: white; } +.btn-sm { padding: 5px 12px; font-size: 12px; } +.btn-lg { padding: 13px 28px; font-size: 15px; } + +/* Badges */ +.badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 10px; border-radius: 4px; font-size: 11px; font-weight: 600; white-space: nowrap; letter-spacing: 0.3px; } +.badge-not_started { background: #222; color: #888; border: 1px solid #333; } +.badge-in_progress { background: rgba(37,99,235,0.15); color: #60a5fa; border: 1px solid rgba(37,99,235,0.3); } +.badge-on_hold { background: rgba(217,119,6,0.15); color: #fbbf24; border: 1px solid rgba(217,119,6,0.3); } +.badge-client_review { background: rgba(124,58,237,0.15); color: #c4b5fd; border: 1px solid rgba(124,58,237,0.3); } +.badge-client_approved { background: rgba(34,197,94,0.15); color: #4ade80; border: 1px solid rgba(34,197,94,0.3); } +.badge-sent_to_client { background: rgba(124,58,237,0.15); color: #c4b5fd; border: 1px solid rgba(124,58,237,0.3); } +.badge-revision_requested { background: rgba(239,68,68,0.15); color: #f87171; border: 1px solid rgba(239,68,68,0.3); } +.badge-approved { background: rgba(34,197,94,0.15); color: #4ade80; border: 1px solid rgba(34,197,94,0.3); } +.badge-active { background: rgba(37,99,235,0.15); color: #60a5fa; border: 1px solid rgba(37,99,235,0.3); } +.badge-completed { background: rgba(34,197,94,0.15); color: #4ade80; border: 1px solid rgba(34,197,94,0.3); } +.badge-initial { background: rgba(34,197,94,0.15); color: #4ade80; border: 1px solid rgba(34,197,94,0.3); } +.badge-revision { background: rgba(239,68,68,0.15); color: #f87171; border: 1px solid rgba(239,68,68,0.3); } +.badge-team { background: rgba(124,58,237,0.15); color: #c4b5fd; border: 1px solid rgba(124,58,237,0.3); } +.badge-client { background: rgba(245,165,35,0.15); color: var(--accent); border: 1px solid rgba(245,165,35,0.3); } + +/* Table */ +.table-wrapper { overflow-x: auto; border-radius: 8px; border: 1px solid var(--border); background: var(--card-bg); } +table { width: 100%; border-collapse: collapse; } +th { text-align: left; padding: 12px 16px; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.8px; color: var(--text-muted); background: var(--card-bg); border-bottom: 1px solid var(--border); } +td { padding: 14px 16px; border-bottom: 1px solid var(--border); font-size: 13px; color: var(--text-primary); } +tr:last-child td { border-bottom: none; } +tr:hover td { background: rgba(255,255,255,0.02); } +.table-link { color: var(--accent); text-decoration: none; font-weight: 600; } +.table-link:hover { text-decoration: underline; } + +/* Forms */ +.form-group { margin-bottom: 18px; } +label { display: block; font-size: 12px; font-weight: 600; color: var(--text-secondary); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.4px; } +input[type="text"], input[type="email"], input[type="date"], input[type="password"], select, textarea { + width: 100%; padding: 10px 14px; border: 1px solid var(--border); + border-radius: 6px; font-size: 14px; color: var(--text-primary); + background: var(--card-bg-2); outline: none; transition: border 0.15s; font-family: inherit; +} +input::placeholder, textarea::placeholder { color: var(--text-muted); } +input:focus, select:focus, textarea:focus { + border-color: var(--accent); + box-shadow: 0 0 0 3px rgba(245,165,35,0.1); +} +textarea { resize: vertical; min-height: 100px; } +select option { background: #222; color: #fff; } + +/* Auth */ +.auth-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: #0d0d0d; padding: 20px; } +.auth-card { background: #1a1a1a; border-radius: 8px; border: 1px solid var(--border); padding: 40px; width: 100%; max-width: 440px; } +.auth-logo { text-align: center; margin-bottom: 32px; } +.auth-logo h1 { font-size: 22px; font-weight: 800; color: #ffffff; letter-spacing: -0.5px; } +.auth-logo p { font-size: 13px; color: #888; margin-top: 6px; } +.auth-card label { color: var(--text-secondary); } +.auth-card input[type="text"], +.auth-card input[type="email"], +.auth-card input[type="password"], +.auth-card select, +.auth-card textarea { + background: #222; + border-color: #333; + color: #fff; +} +.auth-card input::placeholder, +.auth-card textarea::placeholder { color: #555; } +.auth-card input:focus, .auth-card select:focus, .auth-card textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(245,165,35,0.1); } +.auth-card .btn-outline { border-color: #333; color: #888; } +.auth-card .btn-outline:hover { background: #222; color: #fff; } +.auth-divider { display: flex; align-items: center; gap: 12px; margin: 20px 0; color: #444; font-size: 12px; } +.auth-divider::before, .auth-divider::after { content: ''; flex: 1; height: 1px; background: var(--border); } +.quick-login { margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--border); } +.quick-login-title { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: #555; margin-bottom: 10px; } +.quick-login-list { display: flex; flex-direction: column; gap: 6px; } +.quick-login-btn { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-radius: 6px; border: 1px solid #2a2a2a; background: #222; cursor: pointer; transition: background 0.15s; text-align: left; width: 100%; } +.quick-login-btn:hover { background: #2a2a2a; } +.quick-login-name { font-size: 13px; font-weight: 600; color: #fff; } +.quick-login-email { font-size: 11px; color: #666; } + +/* Misc */ +.back-link { display: inline-flex; align-items: center; gap: 6px; color: var(--text-muted); text-decoration: none; font-size: 12px; font-weight: 500; margin-bottom: 20px; cursor: pointer; border: none; background: none; text-transform: uppercase; letter-spacing: 0.5px; font-family: inherit; } +.back-link:hover { color: var(--text-primary); } +.empty-state { text-align: center; padding: 56px 20px; color: var(--text-secondary); } +.empty-state-icon { display: none; } +.empty-state h3 { font-size: 15px; font-weight: 600; color: var(--text-primary); margin-bottom: 6px; } +.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; } +.version-timeline { display: flex; flex-direction: column; gap: 12px; } +.version-item { border: 1px solid var(--border); border-radius: 8px; padding: 16px; background: var(--card-bg); } +.version-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; } +.version-number { font-size: 12px; font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: 1px; } +.version-meta { font-size: 12px; color: var(--text-secondary); margin-top: 8px; display: flex; gap: 16px; } +.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 20px; } +.detail-item label { font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.6px; color: var(--text-muted); margin-bottom: 4px; } +.detail-item p { font-size: 14px; color: var(--text-primary); font-weight: 500; } +.notification { padding: 12px 16px; border-radius: 6px; font-size: 13px; font-weight: 500; margin-bottom: 20px; } +.notification-success { background: rgba(34,197,94,0.1); color: #4ade80; border: 1px solid rgba(34,197,94,0.2); } +.notification-info { background: rgba(37,99,235,0.1); color: #60a5fa; border: 1px solid rgba(37,99,235,0.2); } +.request-card { background: var(--card-bg); border: 1px solid var(--border); border-radius: 8px; padding: 20px; margin-bottom: 8px; transition: border-color 0.15s; } +.request-card:hover { border-color: #3a3a3a; } +.request-card-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; } +.request-card-title { font-size: 15px; font-weight: 600; color: var(--text-primary); } +.request-card-meta { font-size: 12px; color: var(--text-secondary); margin-top: 4px; } +.action-buttons { display: flex; gap: 8px; flex-wrap: wrap; } +.assign-select { padding: 6px 10px; border-radius: 6px; border: 1px solid var(--border); font-size: 13px; color: var(--text-primary); background: var(--card-bg-2); cursor: pointer; font-family: inherit; } +.assign-select option { background: #222; } +.flex { display: flex; } +.items-center { align-items: center; } +.justify-between { justify-content: space-between; } +.gap-2 { gap: 8px; } +.gap-3 { gap: 12px; } +.gap-4 { gap: 16px; } +.mt-4 { margin-top: 16px; } +.mt-6 { margin-top: 24px; } +.mb-4 { margin-bottom: 16px; } +.mb-6 { margin-bottom: 24px; } +.w-full { width: 100%; } +.font-bold { font-weight: 700; } +.text-muted { color: var(--text-muted); } +.text-secondary { color: var(--text-secondary); } + +/* Mobile topbar — hidden on desktop */ +.mobile-topbar { + display: none; +} + +/* Hamburger button */ +.hamburger { + background: none; border: none; cursor: pointer; + display: flex; flex-direction: column; gap: 5px; padding: 4px; +} +.hamburger span { + display: block; width: 22px; height: 2px; + background: var(--text-primary); border-radius: 2px; transition: all 0.2s; +} + +/* Sidebar overlay (mobile) */ +.sidebar-overlay { + display: none; + position: fixed; inset: 0; background: rgba(0,0,0,0.5); z-index: 99; +} + +@media (max-width: 768px) { + /* Show mobile topbar */ + .mobile-topbar { + display: flex; align-items: center; justify-content: flex-start; + padding: 10px 14px; background: var(--sidebar-bg); + border-bottom: 1px solid var(--border); + position: fixed; top: 0; left: 0; right: 0; z-index: 100; + height: 48px; + } + .main-content { padding-top: 64px; } + + /* Sidebar slides in from left */ + .sidebar { + position: fixed; left: -240px; top: 0; z-index: 200; + transition: left 0.25s ease; height: 100vh; + } + .sidebar.sidebar-open { left: 0; } + + /* Show overlay when menu open */ + .sidebar-overlay { display: block; } + + /* Main wrapper full width, no left margin */ + .main-wrapper { margin-left: 0; } + .main-content { padding: 16px; } + + /* Stack grids on mobile */ + .grid-2 { grid-template-columns: 1fr; } + .stats-grid { grid-template-columns: 1fr 1fr; } + .detail-grid { grid-template-columns: 1fr 1fr; } + + /* Smaller page header */ + .page-header { flex-direction: column; gap: 12px; } + .page-title { font-size: 18px; } + + /* Action buttons wrap */ + .action-buttons { flex-wrap: wrap; } + + /* Tables scroll horizontally */ + .table-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; } + + /* Cards tighter padding */ + .card { padding: 14px; } + + /* Request cards */ + .request-card-header { flex-direction: column; gap: 8px; } + + /* Auth card full width */ + .auth-card { padding: 24px 20px; } + + /* Version timeline */ + .version-item { padding: 12px; } +} diff --git a/src/lib/email.js b/src/lib/email.js new file mode 100755 index 0000000..2bf9aa9 --- /dev/null +++ b/src/lib/email.js @@ -0,0 +1,8 @@ +import { supabase } from './supabase'; + +export async function sendEmail(type, to, data) { + const { error } = await supabase.functions.invoke('send-email', { + body: { type, to, data }, + }); + if (error) console.error('Email error:', error); +} diff --git a/src/lib/invoice.js b/src/lib/invoice.js new file mode 100644 index 0000000..65458a3 --- /dev/null +++ b/src/lib/invoice.js @@ -0,0 +1,180 @@ +import jsPDF from 'jspdf'; +import autoTable from 'jspdf-autotable'; + +function loadImage(src) { + return new Promise((resolve) => { + const img = new Image(); + img.crossOrigin = 'anonymous'; + img.onload = () => resolve(img); + img.onerror = () => resolve(null); + img.src = src; + }); +} + +export async function generateInvoicePDF(invoice, company, items) { + const client = company; // alias for PDF layout vars below + const doc = new jsPDF(); + const pageWidth = doc.internal.pageSize.width; + + // Load logo first to know its height + const logo = await loadImage('/fourge-logo.png'); + const logoW = 40; + const logoH = logo ? (logoW / (logo.naturalWidth / logo.naturalHeight)) : 8; + const headerH = logoH + 12; // tight padding around logo + + // Black header band — sized to logo + doc.setFillColor(20, 20, 20); + doc.rect(0, 0, pageWidth, headerH, 'F'); + + // Logo + if (logo) { + doc.addImage(logo, 'PNG', 14, 6, logoW, logoH); + } else { + doc.setFontSize(13); + doc.setFont('helvetica', 'bold'); + doc.setTextColor(255, 255, 255); + doc.text('FOURGE BRANDING', 14, headerH / 2 + 4); + } + + // Contact info in header (right, small) + doc.setFontSize(7); + doc.setFont('helvetica', 'normal'); + doc.setTextColor(160, 160, 160); + doc.text('1.855.FOURGE4 · 1855.368.7434 | hello@fourgebranding.com | www.fourgebranding.com', pageWidth - 14, headerH / 2 + 2, { align: 'right' }); + + // INVOICE title + number (below header, left-right) + const afterHeader = headerH + 10; + doc.setFontSize(20); + doc.setFont('helvetica', 'bold'); + doc.setTextColor(30, 30, 30); + doc.text('INVOICE', 14, afterHeader + 8); + + doc.setFontSize(9); + doc.setFont('helvetica', 'normal'); + doc.setTextColor(100, 100, 100); + doc.text(invoice.invoice_number, pageWidth - 14, afterHeader + 4, { align: 'right' }); + + // Invoice details (right column) + const details = [ + ['Date', new Date(invoice.invoice_date).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' })], + ['Due', new Date(invoice.due_date).toLocaleDateString('en-US', { year: 'numeric', month: 'short', day: 'numeric' })], + ['Terms', 'Net 30'], + ]; + let dy = afterHeader + 10; + details.forEach(([label, val]) => { + doc.setFontSize(8); + doc.setFont('helvetica', 'normal'); + doc.setTextColor(130, 130, 130); + doc.text(label, pageWidth - 60, dy); + doc.setFont('helvetica', 'bold'); + doc.setTextColor(40, 40, 40); + doc.text(val, pageWidth - 14, dy, { align: 'right' }); + dy += 6; + }); + + // Status + const statusColors = { draft: [150, 150, 150], sent: [37, 99, 235], paid: [22, 163, 74] }; + const sc = statusColors[invoice.status] || [150, 150, 150]; + doc.setFontSize(8); + doc.setFont('helvetica', 'bold'); + doc.setTextColor(...sc); + doc.text(invoice.status.toUpperCase(), pageWidth - 14, dy, { align: 'right' }); + + // Bill To (left column, same zone) + const billStartY = afterHeader + 18; + doc.setFontSize(7); + doc.setFont('helvetica', 'bold'); + doc.setTextColor(150, 150, 150); + doc.text('BILL TO', 14, billStartY); + + doc.setFontSize(10); + doc.setFont('helvetica', 'bold'); + doc.setTextColor(30, 30, 30); + doc.text(client.name, 14, billStartY + 6); + + doc.setFont('helvetica', 'normal'); + doc.setFontSize(9); + doc.setTextColor(80, 80, 80); + let billY = billStartY + 6; + if (client.email) { billY += 5; doc.text(client.email, 14, billY); } + + // Divider + const tableStart = Math.max(billY, dy) + 8; + doc.setDrawColor(220, 220, 220); + doc.setLineWidth(0.4); + doc.line(14, tableStart, pageWidth - 14, tableStart); + + // Line items table — tight + autoTable(doc, { + startY: tableStart + 2, + head: [['Description', 'Qty', 'Unit Price', 'Total']], + body: items.map(item => [ + item.description, + Number(item.quantity).toString(), + `$${Number(item.unit_price).toFixed(2)}`, + `$${(Number(item.quantity) * Number(item.unit_price)).toFixed(2)}`, + ]), + headStyles: { + fillColor: [30, 30, 30], + textColor: [255, 255, 255], + fontStyle: 'bold', + fontSize: 8, + cellPadding: 4, + }, + bodyStyles: { + fontSize: 9, + textColor: [40, 40, 40], + cellPadding: 4, + fillColor: [255, 255, 255], + }, + alternateRowStyles: { fillColor: [249, 249, 249] }, + columnStyles: { + 0: { cellWidth: 'auto' }, + 1: { cellWidth: 14, halign: 'center' }, + 2: { cellWidth: 30, halign: 'right' }, + 3: { cellWidth: 30, halign: 'right', fontStyle: 'bold' }, + }, + margin: { left: 14, right: 14 }, + theme: 'striped', + tableLineColor: [225, 225, 225], + tableLineWidth: 0.2, + }); + + const finalY = doc.lastAutoTable.finalY; + + // Total box + doc.setFillColor(20, 20, 20); + doc.rect(pageWidth - 70, finalY + 4, 56, 11, 'F'); + doc.setFontSize(8); + doc.setFont('helvetica', 'bold'); + doc.setTextColor(255, 255, 255); + doc.text('TOTAL', pageWidth - 66, finalY + 11); + doc.setFontSize(9); + doc.text(`$${Number(invoice.total).toFixed(2)}`, pageWidth - 16, finalY + 11, { align: 'right' }); + + // Notes + if (invoice.notes) { + const notesY = finalY + 22; + doc.setFontSize(7); + doc.setFont('helvetica', 'bold'); + doc.setTextColor(150, 150, 150); + doc.text('NOTES', 14, notesY); + doc.setFont('helvetica', 'normal'); + doc.setFontSize(9); + doc.setTextColor(80, 80, 80); + const split = doc.splitTextToSize(invoice.notes, pageWidth / 2); + doc.text(split, 14, notesY + 5); + } + + // Footer + const footerY = doc.internal.pageSize.height - 14; + doc.setDrawColor(220, 220, 220); + doc.setLineWidth(0.4); + doc.line(14, footerY - 4, pageWidth - 14, footerY - 4); + doc.setFontSize(7); + doc.setFont('helvetica', 'normal'); + doc.setTextColor(160, 160, 160); + doc.text('Payment due within 30 days of invoice date. Thank you for your business!', pageWidth / 2, footerY, { align: 'center' }); + + doc.save(`${invoice.invoice_number}.pdf`); +} diff --git a/src/lib/supabase.js b/src/lib/supabase.js new file mode 100755 index 0000000..36f5b6d --- /dev/null +++ b/src/lib/supabase.js @@ -0,0 +1,8 @@ +import { createClient } from '@supabase/supabase-js'; + +const url = import.meta.env.VITE_SUPABASE_URL; +const key = import.meta.env.VITE_SUPABASE_ANON_KEY; + +if (!url || !key) throw new Error('Missing Supabase environment variables. Check VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY.'); + +export const supabase = createClient(url, key); diff --git a/src/main.jsx b/src/main.jsx new file mode 100755 index 0000000..b9a1a6d --- /dev/null +++ b/src/main.jsx @@ -0,0 +1,10 @@ +import { StrictMode } from 'react' +import { createRoot } from 'react-dom/client' +import './index.css' +import App from './App.jsx' + +createRoot(document.getElementById('root')).render( + + + , +) diff --git a/src/pages/Login.jsx b/src/pages/Login.jsx new file mode 100755 index 0000000..480efd7 --- /dev/null +++ b/src/pages/Login.jsx @@ -0,0 +1,89 @@ +import { useState } from 'react'; +import { useNavigate, Link } from 'react-router-dom'; +import { useAuth } from '../context/AuthContext'; + +export default function Login() { + const { login } = useAuth(); + const navigate = useNavigate(); + const [email, setEmail] = useState(''); + const [password, setPassword] = useState(''); + const [error, setError] = useState(''); + const [loading, setLoading] = useState(false); + + const handleLogin = async (e) => { + e.preventDefault(); + setLoading(true); + setError(''); + const { error: err } = await login(email, password); + if (err) { + setError('Invalid email or password.'); + setLoading(false); + return; + } + // onAuthStateChange in AuthContext sets currentUser + role → redirect handled below + }; + + // After login, AuthContext updates currentUser. Use onAuthStateChange to redirect. + // We rely on ProtectedRoute to handle post-login navigation. + // But we need to redirect on success — watch currentUser via auth state. + // Simplest: redirect after successful login based on profile role. + const handleSuccess = async (e) => { + e.preventDefault(); + setLoading(true); + setError(''); + const { error: err } = await login(email, password); + if (err) { + setError('Invalid email or password.'); + setLoading(false); + return; + } + // Small delay to let onAuthStateChange set currentUser + setTimeout(() => { + // Will be redirected by ProtectedRoute if they go to /dashboard or /my-requests + navigate('/dashboard'); + }, 300); + }; + + return ( +
+
+
+ Fourge Branding +

Client & Project Portal

+
+ +
+
+ + { setEmail(e.target.value); setError(''); }} + required + /> +
+
+ + { setPassword(e.target.value); setError(''); }} + required + /> +
+ {error &&

{error}

} + +
+ +

+ New client?{' '} + Create an account +

+
+
+ ); +} diff --git a/src/pages/Settings.jsx b/src/pages/Settings.jsx new file mode 100755 index 0000000..6a787fa --- /dev/null +++ b/src/pages/Settings.jsx @@ -0,0 +1,142 @@ +import { useState } from 'react'; +import Layout from '../components/Layout'; +import { supabase } from '../lib/supabase'; +import { useAuth } from '../context/AuthContext'; + +export default function Settings() { + const { currentUser } = useAuth(); + const [form, setForm] = useState({ + name: currentUser?.name || '', + company: currentUser?.company || '', + }); + const [passwords, setPasswords] = useState({ current: '', next: '', confirm: '' }); + const [profileSaved, setProfileSaved] = useState(false); + const [passwordSaved, setPasswordSaved] = useState(false); + const [passwordError, setPasswordError] = useState(''); + const [saving, setSaving] = useState(false); + const [savingPw, setSavingPw] = useState(false); + + const set = (field) => (e) => setForm(f => ({ ...f, [field]: e.target.value })); + const setPw = (field) => (e) => setPasswords(p => ({ ...p, [field]: e.target.value })); + + const handleProfileSave = async (e) => { + e.preventDefault(); + setSaving(true); + await supabase.from('profiles').update({ + name: form.name.trim(), + company: form.company.trim(), + }).eq('id', currentUser.id); + setProfileSaved(true); + setSaving(false); + setTimeout(() => setProfileSaved(false), 3000); + }; + + const handlePasswordSave = async (e) => { + e.preventDefault(); + setPasswordError(''); + if (passwords.next !== passwords.confirm) { setPasswordError('New passwords do not match.'); return; } + if (passwords.next.length < 6) { setPasswordError('Password must be at least 6 characters.'); return; } + setSavingPw(true); + const { error } = await supabase.auth.updateUser({ password: passwords.next }); + if (error) { setPasswordError(error.message); setSavingPw(false); return; } + setPasswords({ current: '', next: '', confirm: '' }); + setPasswordSaved(true); + setSavingPw(false); + setTimeout(() => setPasswordSaved(false), 3000); + }; + + const initials = form.name + .split(' ') + .map(n => n[0]) + .join('') + .toUpperCase() + .slice(0, 2); + + return ( + +
+
+
Profile & Settings
+
Update your name, company, and password.
+
+
+ +
+ + {/* Avatar preview */} +
+
+ {initials || '?'} +
+
+
{form.name || 'Your Name'}
+
{currentUser?.email}
+
{currentUser?.role}
+
+
+ + {/* Profile form */} +
+
Profile Info
+
+
+ + +
+
+ + +
+
+ + +
Contact Fourge to change your email.
+
+ {profileSaved && ( +
✓ Profile updated.
+ )} + +
+
+ + {/* Password form */} +
+
Change Password
+
+
+ + +
+
+ + +
+ {passwordError && ( +
⚠ {passwordError}
+ )} + {passwordSaved && ( +
✓ Password updated.
+ )} + +
+
+ +
+
+ ); +} diff --git a/src/pages/Signup.jsx b/src/pages/Signup.jsx new file mode 100755 index 0000000..34de98f --- /dev/null +++ b/src/pages/Signup.jsx @@ -0,0 +1,63 @@ +import { useState } from 'react'; +import { Link, useNavigate } from 'react-router-dom'; +import { useAuth } from '../context/AuthContext'; + +export default function Signup() { + const { signup } = useAuth(); + const navigate = useNavigate(); + const [form, setForm] = useState({ name: '', email: '', password: '', confirm: '' }); + const [error, setError] = useState(''); + const [loading, setLoading] = useState(false); + + const set = (field) => (e) => setForm(f => ({ ...f, [field]: e.target.value })); + + const handleSubmit = async (e) => { + e.preventDefault(); + if (form.password !== form.confirm) { setError('Passwords do not match.'); return; } + if (form.password.length < 6) { setError('Password must be at least 6 characters.'); return; } + setLoading(true); + setError(''); + const { error: err } = await signup(form.email, form.password, form.name); + if (err) { setError(err); setLoading(false); return; } + navigate('/signup-confirmation'); + }; + + return ( +
+
+
+ Fourge Branding +

Create your client account

+
+ +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ {error &&

{error}

} + +
+ +

+ Already have an account?{' '} + Sign in +

+
+
+ ); +} diff --git a/src/pages/SignupConfirmation.jsx b/src/pages/SignupConfirmation.jsx new file mode 100755 index 0000000..aebbe51 --- /dev/null +++ b/src/pages/SignupConfirmation.jsx @@ -0,0 +1,19 @@ +import { Link } from 'react-router-dom'; + +export default function SignupConfirmation() { + return ( +
+
+ Fourge Branding +
📧
+

Check your email

+

+ We sent a confirmation link to your email address. Click it to activate your account, then come back to sign in. +

+ + Back to Sign In + +
+
+ ); +} diff --git a/src/pages/client/MyInvoices.jsx b/src/pages/client/MyInvoices.jsx new file mode 100644 index 0000000..a3a61bc --- /dev/null +++ b/src/pages/client/MyInvoices.jsx @@ -0,0 +1,95 @@ +import { useState, useEffect } from 'react'; +import Layout from '../../components/Layout'; +import { supabase } from '../../lib/supabase'; +import { generateInvoicePDF } from '../../lib/invoice'; + +const statusColor = { draft: 'not_started', sent: 'in_progress', paid: 'client_approved' }; + +export default function MyInvoices() { + const [invoices, setInvoices] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function load() { + const { data } = await supabase + .from('invoices') + .select('*, company:companies(name, email), items:invoice_items(*)') + .order('created_at', { ascending: false }); + setInvoices((data || []).filter(inv => inv.status !== 'draft')); + setLoading(false); + } + load(); + }, []); + + const handleDownload = async (invoice) => { + await generateInvoicePDF(invoice, invoice.company, invoice.items || []); + }; + + const outstanding = invoices.filter(i => i.status === 'sent').reduce((s, i) => s + Number(i.total), 0); + const paid = invoices.filter(i => i.status === 'paid').reduce((s, i) => s + Number(i.total), 0); + + return ( + +
+
+
Invoices
+
{invoices.length} invoice{invoices.length !== 1 ? 's' : ''}
+
+
+ +
+
+
${outstanding.toFixed(2)}
+
Outstanding
+
+
+
${paid.toFixed(2)}
+
Paid
+
+
+ + {loading ? ( +

Loading...

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

No invoices yet

+

Your invoices will appear here once they are sent.

+
+ ) : ( +
+ {invoices.map(inv => { + const isOverdue = inv.status !== 'paid' && new Date(inv.due_date) < new Date(); + return ( +
+
+
+
{inv.invoice_number}
+
+ Issued {new Date(inv.invoice_date).toLocaleDateString()} · Due{' '} + + {new Date(inv.due_date).toLocaleDateString()} + + {isOverdue && ' · Overdue'} +
+
+
+ {inv.status} +
${Number(inv.total).toFixed(2)}
+
+
+ {inv.items && inv.items.length > 0 && ( +
+ {inv.items.map(i => i.description).join(' · ')} +
+ )} + +
+ ); + })} +
+ )} +
+ ); +} diff --git a/src/pages/client/MyProjectDetail.jsx b/src/pages/client/MyProjectDetail.jsx new file mode 100644 index 0000000..aa82929 --- /dev/null +++ b/src/pages/client/MyProjectDetail.jsx @@ -0,0 +1,137 @@ +import { useState, useEffect } from 'react'; +import { useParams, useNavigate, Link } from 'react-router-dom'; +import Layout from '../../components/Layout'; +import StatusBadge from '../../components/StatusBadge'; +import { supabase } from '../../lib/supabase'; +import { useAuth } from '../../context/AuthContext'; + +const vLabel = (v) => 'v' + String(v).padStart(2, '0'); + +export default function MyProjectDetail() { + const { id } = useParams(); + const navigate = useNavigate(); + const { currentUser } = useAuth(); + + const [project, setProject] = useState(null); + const [tasks, setTasks] = useState([]); + const [submissions, setSubmissions] = useState([]); + const [loading, setLoading] = useState(true); + const [filter, setFilter] = useState('all'); // 'all' | 'mine' + + useEffect(() => { + async function load() { + const { data: p } = await supabase.from('projects').select('*').eq('id', id).single(); + if (!p) { setLoading(false); return; } + setProject(p); + + const { data: t } = await supabase + .from('tasks').select('*').eq('project_id', id).order('submitted_at', { ascending: false }); + setTasks(t || []); + + if (t && t.length > 0) { + const { data: subs } = await supabase + .from('submissions') + .select('id, task_id, submitted_by, submitted_by_name, version_number, type') + .in('task_id', t.map(task => task.id)) + .order('version_number'); + setSubmissions(subs || []); + } + + setLoading(false); + } + load(); + }, [id]); + + if (loading) return

Loading...

; + if (!project) return

Project not found.

; + + const filteredTasks = filter === 'mine' + ? tasks.filter(task => { + const initial = submissions.find(s => s.task_id === task.id && s.type === 'initial'); + return initial?.submitted_by === currentUser.id; + }) + : tasks; + + return ( + + + +
+
+
{project.name}
+
+ {tasks.length} request{tasks.length !== 1 ? 's' : ''} · Started {new Date(project.created_at).toLocaleDateString()} +
+
+
+ + + Add Request + +
+
+ + {/* Filter toggle */} +
+ + +
+ + {filteredTasks.length === 0 ? ( +
+

{filter === 'mine' ? "You haven't submitted any requests to this project" : 'No requests yet'}

+ + Add Request + +
+ ) : ( +
+ {filteredTasks.map(task => { + const taskSubs = submissions.filter(s => s.task_id === task.id); + const initialSub = taskSubs.find(s => s.type === 'initial') || taskSubs[0]; + const latestSub = taskSubs[taskSubs.length - 1]; + const hasRevision = latestSub && initialSub && latestSub.id !== initialSub.id && latestSub.submitted_by_name !== initialSub.submitted_by_name; + const isMine = initialSub?.submitted_by === currentUser.id; + + return ( +
+
+
+
+ {task.title}{' '} + + {vLabel(task.current_version)} + + {isMine && ( + + Mine + + )} +
+
+ {initialSub?.submitted_by_name && <>By {initialSub.submitted_by_name}} + {hasRevision && <> · Updated by {latestSub.submitted_by_name}} +
+
+
+ + Details +
+
+
+ ); + })} +
+ )} +
+ ); +} diff --git a/src/pages/client/MyProjects.jsx b/src/pages/client/MyProjects.jsx new file mode 100755 index 0000000..f23d498 --- /dev/null +++ b/src/pages/client/MyProjects.jsx @@ -0,0 +1,197 @@ +import { useState, useEffect } from 'react'; +import { Link } from 'react-router-dom'; +import Layout from '../../components/Layout'; +import StatusBadge from '../../components/StatusBadge'; +import { supabase } from '../../lib/supabase'; +import { useAuth } from '../../context/AuthContext'; + +const vLabel = (v) => 'v' + String(v).padStart(2, '0'); + +function ProjectGroup({ project, tasks, submissions, currentUserId, filter }) { + const [open, setOpen] = useState(true); + + const filteredTasks = filter === 'mine' + ? tasks.filter(task => { + const initial = submissions.find(s => s.task_id === task.id && s.type === 'initial'); + return initial?.submitted_by === currentUserId; + }) + : tasks; + + if (filter === 'mine' && filteredTasks.length === 0) return null; + + return ( +
+ {/* Project header — clickable to collapse */} + + + {open && ( +
+ {filteredTasks.length === 0 ? ( +
+ No requests in this project yet. +
+ ) : ( + filteredTasks.map((task, i) => { + const taskSubs = submissions.filter(s => s.task_id === task.id); + const initialSub = taskSubs.find(s => s.type === 'initial') || taskSubs[0]; + const latestSub = taskSubs[taskSubs.length - 1]; + const hasRevision = latestSub && initialSub && latestSub.id !== initialSub.id && latestSub.submitted_by_name !== initialSub.submitted_by_name; + const isMine = initialSub?.submitted_by === currentUserId; + + return ( +
+
+
+ + {task.title} + + + {vLabel(task.current_version)} + + {isMine && ( + + Mine + + )} +
+
+ {initialSub?.submitted_by_name && <>By {initialSub.submitted_by_name}} + {hasRevision && <> · Updated by {latestSub.submitted_by_name}} +
+
+
+ + Details +
+
+ ); + }) + )} +
0 ? '1px solid var(--border)' : 'none' }}> + + + Add Request to {project.name} + +
+
+ )} +
+ ); +} + +export default function MyProjects() { + const { currentUser } = useAuth(); + const [projects, setProjects] = useState([]); + const [tasks, setTasks] = useState([]); + const [submissions, setSubmissions] = useState([]); + const [loading, setLoading] = useState(true); + const [filter, setFilter] = useState('all'); // 'all' | 'mine' + + useEffect(() => { + async function load() { + const { data: p } = await supabase + .from('projects').select('*').order('created_at', { ascending: false }); + setProjects(p || []); + + if (!p || p.length === 0) { setLoading(false); return; } + + const { data: t } = await supabase + .from('tasks').select('*').in('project_id', p.map(pr => pr.id)) + .order('submitted_at', { ascending: false }); + setTasks(t || []); + + if (t && t.length > 0) { + const { data: subs } = await supabase + .from('submissions') + .select('id, task_id, submitted_by, submitted_by_name, version_number, type') + .in('task_id', t.map(task => task.id)) + .order('version_number'); + setSubmissions(subs || []); + } + + setLoading(false); + } + load(); + }, []); + + if (loading) return

Loading...

; + + return ( + +
+
+
Projects
+
All work for your company.
+
+ + New Request +
+ + {/* Filter toggle */} +
+ + +
+ + {projects.length === 0 ? ( +
+

No projects yet

+

Submit a request and a project will be created automatically.

+ Submit Request +
+ ) : ( + projects.map(project => ( + t.project_id === project.id)} + submissions={submissions} + currentUserId={currentUser.id} + filter={filter} + /> + )) + )} +
+ ); +} diff --git a/src/pages/client/MyRequests.jsx b/src/pages/client/MyRequests.jsx new file mode 100755 index 0000000..90dae34 --- /dev/null +++ b/src/pages/client/MyRequests.jsx @@ -0,0 +1,122 @@ +import { useState, useEffect } from 'react'; +import { Link } from 'react-router-dom'; +import Layout from '../../components/Layout'; +import StatusBadge from '../../components/StatusBadge'; +import { supabase } from '../../lib/supabase'; +import { useAuth } from '../../context/AuthContext'; + +export default function MyRequests() { + const { currentUser } = useAuth(); + const [projects, setProjects] = useState([]); + const [tasks, setTasks] = useState([]); + const [submissions, setSubmissions] = useState([]); + const [loading, setLoading] = useState(true); + + useEffect(() => { + async function load() { + // Only fetch tasks where current user was the original submitter + const { data: mySubs } = await supabase + .from('submissions') + .select('task_id, submitted_by_name, version_number, type') + .eq('submitted_by', currentUser.id) + .eq('type', 'initial'); + + if (!mySubs || mySubs.length === 0) { setLoading(false); return; } + + const myTaskIds = mySubs.map(s => s.task_id); + + const { data: t } = await supabase + .from('tasks').select('*, project:projects(id, name, created_at, status)') + .in('id', myTaskIds); + setTasks(t || []); + + // Also fetch all submissions for these tasks (to show revision history) + const { data: allSubs } = await supabase + .from('submissions') + .select('task_id, submitted_by_name, version_number, type') + .in('task_id', myTaskIds) + .order('version_number'); + setSubmissions(allSubs || []); + + // Group tasks by project + const projectMap = {}; + (t || []).forEach(task => { + const p = task.project; + if (!p) return; + if (!projectMap[p.id]) projectMap[p.id] = { ...p, id: p.id }; + }); + setProjects(Object.values(projectMap)); + + setLoading(false); + } + load(); + }, [currentUser.id]); + + if (loading) return

Loading...

; + + return ( + +
+
+
My Requests
+
Requests you have submitted.
+
+ + New Request +
+ + {projects.length === 0 ? ( +
+
📋
+

No requests yet

+

Submit a new request to get started.

+ Submit Request +
+ ) : ( + projects.map(project => { + const projectTasks = tasks.filter(t => t.project?.id === project.id); + return ( +
+
+
+
{project.name}
+
+ Started {new Date(project.created_at).toLocaleDateString()} · {projectTasks.length} job{projectTasks.length !== 1 ? 's' : ''} +
+
+ +
+
+ {projectTasks.map(task => { + const taskSubs = submissions.filter(s => s.task_id === task.id); + const initialSub = taskSubs.find(s => s.type === 'initial') || taskSubs[0]; + const latestSub = taskSubs[taskSubs.length - 1]; + const hasRevision = taskSubs.length > 1 && latestSub?.submitted_by_name !== initialSub?.submitted_by_name; + return ( +
+
+ + {task.title}{' '} + + {'v' + String(task.current_version).padStart(2, '0')} + + +
+ Submitted by {initialSub?.submitted_by_name || 'Unknown'} + {hasRevision && ` · Last updated by ${latestSub.submitted_by_name}`} +
+
+
+ + Details +
+
+ ); + })} +
+
+ ); + }) + )} +
+ ); +} diff --git a/src/pages/client/NewRequest.jsx b/src/pages/client/NewRequest.jsx new file mode 100755 index 0000000..6139d6d --- /dev/null +++ b/src/pages/client/NewRequest.jsx @@ -0,0 +1,265 @@ +import { useState, useEffect } from 'react'; +import { useNavigate, useSearchParams } from 'react-router-dom'; +import Layout from '../../components/Layout'; +import FileAttachment from '../../components/FileAttachment'; +import { serviceTypes } from '../../data/mockData'; +import { supabase } from '../../lib/supabase'; +import { sendEmail } from '../../lib/email'; +import { useAuth } from '../../context/AuthContext'; + +export default function NewRequest() { + const { currentUser } = useAuth(); + const navigate = useNavigate(); + const [searchParams] = useSearchParams(); + const preselectedProject = searchParams.get('project') || ''; + + const [existingProjects, setExistingProjects] = useState([]); + const [submitted, setSubmitted] = useState(false); + const [saving, setSaving] = useState(false); + const [form, setForm] = useState({ project: preselectedProject, serviceType: '', title: '', deadline: '', description: '' }); + const [files, setFiles] = useState([]); + const [customProjects, setCustomProjects] = useState([]); + const [isTypingProject, setIsTypingProject] = useState(false); + const [newProjectName, setNewProjectName] = useState(''); + + useEffect(() => { + async function load() { + if (!currentUser.company_id) return; + const { data: p } = await supabase + .from('projects') + .select('id, name') + .eq('company_id', currentUser.company_id) + .order('created_at', { ascending: false }); + setExistingProjects((p || []).map(pr => ({ id: pr.id, name: pr.name }))); + } + load(); + }, [currentUser.company_id]); + + const allProjectNames = [ + ...existingProjects.map(p => p.name), + ...customProjects.filter(name => !existingProjects.some(p => p.name === name)), + ]; + + const set = (field) => (e) => setForm(f => ({ ...f, [field]: e.target.value })); + + const handleProjectSelect = (e) => { + if (e.target.value === '__new__') { + setIsTypingProject(true); + setForm(f => ({ ...f, project: '' })); + } else { + setForm(f => ({ ...f, project: e.target.value })); + } + }; + + const handleAddProject = () => { + const name = newProjectName.trim(); + if (!name) return; + if (!customProjects.includes(name) && !existingProjects.some(p => p.name === name)) { + setCustomProjects(prev => [...prev, name]); + } + setForm(f => ({ ...f, project: name })); + setIsTypingProject(false); + setNewProjectName(''); + }; + + const handleSubmit = async (e) => { + e.preventDefault(); + if (!currentUser.company_id) { + alert('Your account is not yet assigned to a company. Please contact support.'); + return; + } + setSaving(true); + + // Find existing project by name within this company, or create new one + let projectId; + const existing = existingProjects.find(p => p.name === form.project); + if (existing) { + projectId = existing.id; + } else { + const { data: newProject } = await supabase.from('projects').insert({ + company_id: currentUser.company_id, + name: form.project, + status: 'active', + }).select().single(); + projectId = newProject?.id; + } + + if (!projectId) { setSaving(false); return; } + + // Create task + const { data: task } = await supabase.from('tasks').insert({ + project_id: projectId, + title: form.title.trim() || form.serviceType, + status: 'not_started', + current_version: 0, + }).select().single(); + + if (!task) { setSaving(false); return; } + + // Create submission + const { data: submission } = await supabase.from('submissions').insert({ + task_id: task.id, + version_number: 1, + type: 'initial', + service_type: form.serviceType, + deadline: form.deadline || null, + description: form.description, + submitted_by: currentUser.id, + submitted_by_name: currentUser.name, + }).select().single(); + + // Upload files + if (submission && files.length > 0) { + for (const file of files) { + const path = `${task.id}/${Date.now()}_${file.name}`; + const { data: uploaded } = await supabase.storage.from('submissions').upload(path, file); + if (uploaded) { + await supabase.from('submission_files').insert({ + submission_id: submission.id, + name: file.name, + storage_path: path, + size: file.size, + }); + } + } + } + + sendEmail('new_request', 'hello@fourgebranding.com', { + clientName: currentUser.name, + clientEmail: currentUser.email, + company: currentUser.company?.name || '', + serviceType: form.serviceType, + projectName: form.project, + deadline: form.deadline, + description: form.description, + taskId: task.id, + }); + + setSaving(false); + setSubmitted(true); + }; + + if (!currentUser.company_id) { + return ( + +
+
⚠️
+

Account Not Yet Active

+

+ Your account hasn't been linked to a company yet. Please contact the Fourge team to get set up. +

+
+
+ ); + } + + if (submitted) { + return ( + +
+
+

Request Submitted!

+

+ Thanks, {currentUser?.name?.split(' ')[0]}! We've received your request for {form.serviceType} + {form.project && <> under {form.project}}. + Our team will review it and update you shortly. +

+
+ + +
+
+
+ ); + } + + return ( + +
+
+
New Request
+
Tell us what you need and we'll get to work.
+
+
+ +
+
+
+ + {isTypingProject ? ( +
+ setNewProjectName(e.target.value)} + onKeyDown={e => { if (e.key === 'Enter') { e.preventDefault(); handleAddProject(); } }} + autoFocus + style={{ flex: 1 }} + /> + + +
+ ) : ( + + )} +
+ +
+
+ + +
+
+ + +
+
+ +
+ + +
+ +
+ +