From 80a2c724d80ec12d76d3b9b11162e5d9ac9bf127 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 22:29:53 +0200 Subject: [PATCH 1/9] feat: add hashing and validation utility functions --- utils/hashing.ts | 7 +++++++ utils/validation.ts | 3 +++ 2 files changed, 10 insertions(+) create mode 100644 utils/hashing.ts create mode 100644 utils/validation.ts diff --git a/utils/hashing.ts b/utils/hashing.ts new file mode 100644 index 0000000..847a9dc --- /dev/null +++ b/utils/hashing.ts @@ -0,0 +1,7 @@ +export async function hashPassword(password: string) { + const encodedPass = new TextEncoder().encode(password); + const hashBuffer = await crypto.subtle.digest("SHA-384", encodedPass); + const hashArray = Array.from(new Uint8Array(hashBuffer)); + const hashedPass = hashArray.map((b) => b.toString(16).padStart(2, "0")).join(""); + return hashedPass; +} \ No newline at end of file diff --git a/utils/validation.ts b/utils/validation.ts new file mode 100644 index 0000000..48e13ef --- /dev/null +++ b/utils/validation.ts @@ -0,0 +1,3 @@ +export function validateUsername(username: string) { + return /^[\w.-]+$/.test(username); +} \ No newline at end of file From a7d6741d648c022975ca5d77aaaa823fcc570e82 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 22:30:41 +0200 Subject: [PATCH 2/9] feat: add placeholder images --- assets/img/check-mark.png | Bin 0 -> 20751 bytes assets/img/check-mark.svg | 1 + 2 files changed, 1 insertion(+) create mode 100644 assets/img/check-mark.png create mode 100644 assets/img/check-mark.svg diff --git a/assets/img/check-mark.png b/assets/img/check-mark.png new file mode 100644 index 0000000000000000000000000000000000000000..597c805a824f4741cea6bb31b79d3198d1c164d7 GIT binary patch literal 20751 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 VPB!wdzIrkMfv2mV%Q~loCIGyoLH_^% literal 0 HcmV?d00001 diff --git a/assets/img/check-mark.svg b/assets/img/check-mark.svg new file mode 100644 index 0000000..c419bf2 --- /dev/null +++ b/assets/img/check-mark.svg @@ -0,0 +1 @@ + \ No newline at end of file From 8b719a9a63b5e7e58e6ed68a52ce3399472dfadc Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 22:31:58 +0200 Subject: [PATCH 3/9] chore: update dependencies and Nuxt site config --- nuxt.config.ts | 15 +- package.json | 6 + pnpm-lock.yaml | 667 +++++++++++++++++++++++++++++++++++++++++--- pnpm-workspace.yaml | 1 + 4 files changed, 643 insertions(+), 46 deletions(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index b5ec5e6..feb8c46 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -2,5 +2,18 @@ export default defineNuxtConfig({ compatibilityDate: '2024-11-01', devtools: { enabled: true }, - modules: ['@nuxt/eslint'] + modules: ['@nuxt/eslint', '@nuxt/image', "@pinia/nuxt"], + app: { + /* + Defines what prefix the client runs on + E.g.: baseURL set to "/web" would host at https://gorb.app/web + Default is "/" (aka root), which hosts at https://gorb.app/ + */ + baseURL: "/", + }, + runtimeConfig: { + public: { + apiVersion: 1 + } + } }) \ No newline at end of file diff --git a/package.json b/package.json index 107cc4f..a33286e 100644 --- a/package.json +++ b/package.json @@ -11,13 +11,19 @@ }, "dependencies": { "@nuxt/eslint": "^1.3.0", + "@nuxt/image": "1.10.0", + "@pinia/nuxt": "0.11.0", "nuxt": "^3.17.0", + "pinia": "^3.0.2", + "pinia-plugin-persistedstate": "^4.2.0", + "typescript": "^5.8.3", "vue": "^3.5.13", "vue-router": "^4.5.1" }, "packageManager": "pnpm@10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39", "license": "MIT", "devDependencies": { + "@types/node": "^22.15.3", "eslint-config-prettier": "^10.1.2", "eslint-plugin-prettier": "^5.2.6" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e69166e..d78b130 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,10 +10,25 @@ importers: dependencies: '@nuxt/eslint': specifier: ^1.3.0 - version: 1.3.0(@vue/compiler-sfc@3.5.13)(eslint@9.25.1(jiti@2.4.2))(magicast@0.3.5)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)) + version: 1.3.0(@vue/compiler-sfc@3.5.13)(eslint@9.25.1(jiti@2.4.2))(magicast@0.3.5)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)) + '@nuxt/image': + specifier: 1.10.0 + version: 1.10.0(@netlify/blobs@8.2.0)(db0@0.3.2)(ioredis@5.6.1)(magicast@0.3.5) + '@pinia/nuxt': + specifier: 0.11.0 + version: 0.11.0(magicast@0.3.5)(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) nuxt: specifier: ^3.17.0 - version: 3.17.0(@netlify/blobs@8.2.0)(@parcel/watcher@2.5.1)(@types/node@22.15.3)(db0@0.3.2)(eslint@9.25.1(jiti@2.4.2))(ioredis@5.6.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.40.1)(terser@5.39.0)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(yaml@2.7.1) + version: 3.17.0(@netlify/blobs@8.2.0)(@parcel/watcher@2.5.1)(@types/node@22.15.3)(db0@0.3.2)(eslint@9.25.1(jiti@2.4.2))(ioredis@5.6.1)(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.40.1)(terser@5.39.0)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(yaml@2.7.1) + pinia: + specifier: ^3.0.2 + version: 3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + pinia-plugin-persistedstate: + specifier: ^4.2.0 + version: 4.2.0(@pinia/nuxt@0.11.0(magicast@0.3.5)(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))))(magicast@0.3.5)(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + typescript: + specifier: ^5.8.3 + version: 5.8.3 vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.8.3) @@ -21,6 +36,9 @@ importers: specifier: ^4.5.1 version: 4.5.1(vue@3.5.13(typescript@5.8.3)) devDependencies: + '@types/node': + specifier: ^22.15.3 + version: 22.15.3 eslint-config-prettier: specifier: ^10.1.2 version: 10.1.2(eslint@9.25.1(jiti@2.4.2)) @@ -533,6 +551,10 @@ packages: resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@fastify/accept-negotiator@1.1.0': + resolution: {integrity: sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==} + engines: {node: '>=14'} + '@fastify/busboy@3.1.1': resolution: {integrity: sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==} @@ -718,6 +740,10 @@ packages: vite-plugin-eslint2: optional: true + '@nuxt/image@1.10.0': + resolution: {integrity: sha512-/B58GeEmme7bkmQUrXzEw8P9sJb9BkMaYZqLDtq8ZdDLEddE3P4nVya8RQPB+p4b7EdqWajpPqdy1A2ZPLev/A==} + engines: {node: '>=18.20.6'} + '@nuxt/kit@3.17.0': resolution: {integrity: sha512-+aS+Enqqo2qSbyl0APPPxX8BPYsaRcZ8dFRbpCOfK38lv2ckoHKCWNkT8L/7q2w+1pjNZaxlUoW9Mku1vdEb/A==} engines: {node: '>=18.12.0'} @@ -887,6 +913,11 @@ packages: resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} + '@pinia/nuxt@0.11.0': + resolution: {integrity: sha512-QGFlUAkeVAhPCTXacrtNP4ti24sGEleVzmxcTALY9IkS6U5OUox7vmNL1pkqBeW39oSNq/UC5m40ofDEPHB1fg==} + peerDependencies: + pinia: ^3.0.2 + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1347,6 +1378,9 @@ packages: '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} + '@vue/devtools-api@7.7.6': + resolution: {integrity: sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw==} + '@vue/devtools-core@7.7.6': resolution: {integrity: sha512-ghVX3zjKPtSHu94Xs03giRIeIWlb9M+gvDRVpIZ/cRIxKHdW6HE/sm1PT3rUYS3aV92CazirT93ne+7IOvGUWg==} peerDependencies: @@ -1517,6 +1551,33 @@ packages: bare-events@2.5.4: resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} + bare-fs@4.1.3: + resolution: {integrity: sha512-OeEZYIg+2qepaWLyphaOXHAHKo3xkM8y3BeGAvHdMN8GNWvEAU1Yw6rYpGzu/wDDbKxgEjVeVDpgGhDzaeMpjg==} + engines: {bare: '>=1.16.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + + bare-os@3.6.1: + resolution: {integrity: sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==} + engines: {bare: '>=1.14.0'} + + bare-path@3.0.0: + resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + + bare-stream@2.6.5: + resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} + peerDependencies: + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + bare-events: + optional: true + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} @@ -1526,6 +1587,9 @@ packages: birpc@2.3.0: resolution: {integrity: sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==} + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -1554,6 +1618,9 @@ packages: buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} @@ -1616,6 +1683,9 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -1670,6 +1740,10 @@ packages: color@3.2.1: resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + colord@2.9.3: resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} @@ -1797,6 +1871,9 @@ packages: engines: {node: '>=4'} hasBin: true + cssfilter@0.0.10: + resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==} + cssnano-preset-default@7.0.6: resolution: {integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} @@ -1869,9 +1946,20 @@ packages: decache@4.6.2: resolution: {integrity: sha512-2LPqkLeu8XWHU8qNCS3kcF6sCcb5zIzvWaAHYSvPfwhdd7mHuah29NssMzrTYyHN4F5oFy2ko9OBYxegtU0FEw==} + decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deep-pick-omit@1.2.1: + resolution: {integrity: sha512-2J6Kc/m3irCeqVG42T+SaUMesaK7oGWaedGnQQK/+O0gYc+2SP5bKh/KKTE7d7SJ+GCA9UUE1GRzh6oDe0EnGw==} + deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} @@ -2233,6 +2321,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + exsolve@1.0.5: resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} @@ -2343,6 +2435,9 @@ packages: resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} engines: {node: '>= 0.8'} + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-minipass@2.1.0: resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} engines: {node: '>= 8'} @@ -2415,6 +2510,9 @@ packages: git-url-parse@16.1.0: resolution: {integrity: sha512-cPLz4HuK86wClEW7iDdeAKcCVlWXmrLpb2L+G9goW0Z1dtpNS6BXXSOckUTlJT/LDQViE1QZKstNORzHsLnobw==} + github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2571,6 +2669,9 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@4.1.1: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2579,6 +2680,10 @@ packages: resolution: {integrity: sha512-UxC0Yv1Y4WRJiGQxQkP0hfdL0/5/6YvdfOOClRgJ0qppSarkhneSa6UvkMkms0AkdGimSH3Ikqm+6mkMmX7vGA==} engines: {node: '>=12.22.0'} + ipx@2.1.0: + resolution: {integrity: sha512-AVnPGXJ8L41vjd11Z4akIF2yd14636Klxul3tBySxHA6PKfCOQPxBDkCFK5zcWh0z/keR6toh1eg8qzdBVUgdA==} + hasBin: true + iron-webcrypto@1.2.1: resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==} @@ -2787,6 +2892,70 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lightningcss-darwin-arm64@1.29.2: + resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.29.2: + resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.29.2: + resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.29.2: + resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.29.2: + resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.29.2: + resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.29.2: + resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.29.2: + resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.29.2: + resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.29.2: + resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.29.2: + resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==} + engines: {node: '>= 12.0.0'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -2913,6 +3082,10 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} + mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -2954,6 +3127,9 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -2995,6 +3171,9 @@ packages: nanotar@0.2.0: resolution: {integrity: sha512-9ca1h0Xjvo9bEkE4UOxgAzLV0jHKe6LMaxo37ND2DAhhAtd0j8pR1Wxz+/goMrZO8AEZTWCmyaOsFI/W5AdpCQ==} + napi-build-utils@2.0.0: + resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==} + napi-postinstall@0.2.3: resolution: {integrity: sha512-Mi7JISo/4Ij2tDZ2xBE2WH+/KvVlkhA6juEjpEeRAVPNCpN3nxJo/5FhDNKgBcdmcmhaH6JjgST4xY/23ZYK0w==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -3020,6 +3199,13 @@ packages: xml2js: optional: true + node-abi@3.74.0: + resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==} + engines: {node: '>=10'} + + node-addon-api@6.1.0: + resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} + node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} @@ -3297,6 +3483,26 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + pinia-plugin-persistedstate@4.2.0: + resolution: {integrity: sha512-3buhA7ac+ssbOIx3VRCC8oHkoFwhDM9oHRCjo7nj+O8WUqnW+jRqh7eYT5eS/DNa3H28zp3dYf/nd/Vc8zj8eQ==} + peerDependencies: + '@pinia/nuxt': '>=0.9.0' + pinia: '>=2.3.0' + peerDependenciesMeta: + '@pinia/nuxt': + optional: true + pinia: + optional: true + + pinia@3.0.2: + resolution: {integrity: sha512-sH2JK3wNY809JOeiiURUR0wehJ9/gd9qFN2Y828jCbxEzKEmEt0pzCXwqiSTfuRsK9vQsOflSdnbdBOGrhtn+g==} + peerDependencies: + typescript: '>=4.4.4' + vue: ^2.7.0 || ^3.5.11 + peerDependenciesMeta: + typescript: + optional: true + pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} @@ -3490,6 +3696,11 @@ packages: resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} engines: {node: ^10 || ^12 || >=14} + prebuild-install@7.1.3: + resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==} + engines: {node: '>=10'} + hasBin: true + precinct@11.0.5: resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} engines: {node: ^14.14.0 || >=16.0.0} @@ -3559,6 +3770,10 @@ packages: rc9@2.1.2: resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + read-package-up@11.0.0: resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} engines: {node: '>=18'} @@ -3722,6 +3937,10 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + sharp@0.32.6: + resolution: {integrity: sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==} + engines: {node: '>=14.15.0'} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3757,6 +3976,12 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + simple-git@3.27.0: resolution: {integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==} @@ -3864,6 +4089,10 @@ packages: resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} engines: {node: '>=12'} + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -3913,6 +4142,16 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} + tar-fs@2.1.2: + resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==} + + tar-fs@3.0.8: + resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} @@ -3995,6 +4234,9 @@ packages: peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -4372,6 +4614,11 @@ packages: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} + xss@1.0.15: + resolution: {integrity: sha512-FVdlVVC67WOIPvfOwhoMETV72f6GbW7aOabBC3WxN/oUdoEMDyLz4OgRv5/gck2ZeNqEQu+Tb0kloovXOfpYVg==} + engines: {node: '>= 0.10.0'} + hasBin: true + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -4878,6 +5125,9 @@ snapshots: '@eslint/core': 0.13.0 levn: 0.4.1 + '@fastify/accept-negotiator@1.1.0': + optional: true + '@fastify/busboy@3.1.1': {} '@humanfs/core@0.19.1': {} @@ -5118,12 +5368,12 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@2.4.0(magicast@0.3.5)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))': + '@nuxt/devtools-kit@2.4.0(magicast@0.3.5)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))': dependencies: '@nuxt/kit': 3.17.0(magicast@0.3.5) '@nuxt/schema': 3.17.0 execa: 8.0.1 - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) transitivePeerDependencies: - magicast @@ -5138,12 +5388,12 @@ snapshots: prompts: 2.4.2 semver: 7.7.1 - '@nuxt/devtools@2.4.0(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': + '@nuxt/devtools@2.4.0(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': dependencies: - '@nuxt/devtools-kit': 2.4.0(magicast@0.3.5)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)) + '@nuxt/devtools-kit': 2.4.0(magicast@0.3.5)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)) '@nuxt/devtools-wizard': 2.4.0 '@nuxt/kit': 3.17.0(magicast@0.3.5) - '@vue/devtools-core': 7.7.6(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) + '@vue/devtools-core': 7.7.6(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) '@vue/devtools-kit': 7.7.6 birpc: 2.3.0 consola: 3.4.2 @@ -5168,9 +5418,9 @@ snapshots: sirv: 3.0.1 structured-clone-es: 1.0.0 tinyglobby: 0.2.13 - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) - vite-plugin-inspect: 11.0.1(@nuxt/kit@3.17.0(magicast@0.3.5))(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)) - vite-plugin-vue-tracer: 0.1.3(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) + vite-plugin-inspect: 11.0.1(@nuxt/kit@3.17.0(magicast@0.3.5))(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)) + vite-plugin-vue-tracer: 0.1.3(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) which: 5.0.0 ws: 8.18.1 transitivePeerDependencies: @@ -5216,10 +5466,10 @@ snapshots: - supports-color - typescript - '@nuxt/eslint@1.3.0(@vue/compiler-sfc@3.5.13)(eslint@9.25.1(jiti@2.4.2))(magicast@0.3.5)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))': + '@nuxt/eslint@1.3.0(@vue/compiler-sfc@3.5.13)(eslint@9.25.1(jiti@2.4.2))(magicast@0.3.5)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))': dependencies: '@eslint/config-inspector': 1.0.2(eslint@9.25.1(jiti@2.4.2)) - '@nuxt/devtools-kit': 2.4.0(magicast@0.3.5)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)) + '@nuxt/devtools-kit': 2.4.0(magicast@0.3.5)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)) '@nuxt/eslint-config': 1.3.0(@vue/compiler-sfc@3.5.13)(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) '@nuxt/eslint-plugin': 1.3.0(eslint@9.25.1(jiti@2.4.2))(typescript@5.8.3) '@nuxt/kit': 3.17.0(magicast@0.3.5) @@ -5242,6 +5492,42 @@ snapshots: - utf-8-validate - vite + '@nuxt/image@1.10.0(@netlify/blobs@8.2.0)(db0@0.3.2)(ioredis@5.6.1)(magicast@0.3.5)': + dependencies: + '@nuxt/kit': 3.17.0(magicast@0.3.5) + consola: 3.4.2 + defu: 6.1.4 + h3: 1.15.3 + image-meta: 0.2.1 + knitwork: 1.2.0 + ohash: 2.0.11 + pathe: 2.0.3 + std-env: 3.9.0 + ufo: 1.6.1 + optionalDependencies: + ipx: 2.1.0(@netlify/blobs@8.2.0)(db0@0.3.2)(ioredis@5.6.1) + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bare-buffer + - db0 + - idb-keyval + - ioredis + - magicast + - uploadthing + '@nuxt/kit@3.17.0(magicast@0.3.5)': dependencies: c12: 3.0.3(magicast@0.3.5) @@ -5293,12 +5579,12 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/vite-builder@3.17.0(@types/node@22.15.3)(eslint@9.25.1(jiti@2.4.2))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.40.1)(terser@5.39.0)(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))(yaml@2.7.1)': + '@nuxt/vite-builder@3.17.0(@types/node@22.15.3)(eslint@9.25.1(jiti@2.4.2))(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.40.1)(terser@5.39.0)(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))(yaml@2.7.1)': dependencies: '@nuxt/kit': 3.17.0(magicast@0.3.5) '@rollup/plugin-replace': 6.0.2(rollup@4.40.1) - '@vitejs/plugin-vue': 5.2.3(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) - '@vitejs/plugin-vue-jsx': 4.1.2(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) + '@vitejs/plugin-vue': 5.2.3(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) + '@vitejs/plugin-vue-jsx': 4.1.2(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) autoprefixer: 10.4.21(postcss@8.5.3) consola: 3.4.2 cssnano: 7.0.6(postcss@8.5.3) @@ -5324,9 +5610,9 @@ snapshots: ufo: 1.6.1 unenv: 2.0.0-rc.15 unplugin: 2.3.2 - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) - vite-node: 3.1.2(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) - vite-plugin-checker: 0.9.1(eslint@9.25.1(jiti@2.4.2))(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) + vite-node: 3.1.2(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) + vite-plugin-checker: 0.9.1(eslint@9.25.1(jiti@2.4.2))(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)) vue: 3.5.13(typescript@5.8.3) vue-bundle-renderer: 2.1.1 transitivePeerDependencies: @@ -5453,6 +5739,13 @@ snapshots: '@parcel/watcher-win32-ia32': 2.5.1 '@parcel/watcher-win32-x64': 2.5.1 + '@pinia/nuxt@0.11.0(magicast@0.3.5)(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)))': + dependencies: + '@nuxt/kit': 3.17.0(magicast@0.3.5) + pinia: 3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + transitivePeerDependencies: + - magicast + '@pkgjs/parseargs@0.11.0': optional: true @@ -5627,7 +5920,6 @@ snapshots: '@types/node@22.15.3': dependencies: undici-types: 6.21.0 - optional: true '@types/normalize-package-data@2.4.4': {} @@ -5837,19 +6129,19 @@ snapshots: - rollup - supports-color - '@vitejs/plugin-vue-jsx@4.1.2(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': + '@vitejs/plugin-vue-jsx@4.1.2(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': dependencies: '@babel/core': 7.26.10 '@babel/plugin-transform-typescript': 7.27.0(@babel/core@7.26.10) '@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.26.10) - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) vue: 3.5.13(typescript@5.8.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.3(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.3(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': dependencies: - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) vue: 3.5.13(typescript@5.8.3) '@vue-macros/common@1.16.1(vue@3.5.13(typescript@5.8.3))': @@ -5924,14 +6216,18 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/devtools-core@7.7.6(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': + '@vue/devtools-api@7.7.6': + dependencies: + '@vue/devtools-kit': 7.7.6 + + '@vue/devtools-core@7.7.6(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3))': dependencies: '@vue/devtools-kit': 7.7.6 '@vue/devtools-shared': 7.7.6 mitt: 3.0.1 nanoid: 5.1.5 pathe: 2.0.3 - vite-hot-client: 2.0.4(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)) + vite-hot-client: 2.0.4(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)) vue: 3.5.13(typescript@5.8.3) transitivePeerDependencies: - vite @@ -6118,6 +6414,28 @@ snapshots: bare-events@2.5.4: optional: true + bare-fs@4.1.3: + dependencies: + bare-events: 2.5.4 + bare-path: 3.0.0 + bare-stream: 2.6.5(bare-events@2.5.4) + optional: true + + bare-os@3.6.1: + optional: true + + bare-path@3.0.0: + dependencies: + bare-os: 3.6.1 + optional: true + + bare-stream@2.6.5(bare-events@2.5.4): + dependencies: + streamx: 2.22.0 + optionalDependencies: + bare-events: 2.5.4 + optional: true + base64-js@1.5.1: {} bindings@1.5.0: @@ -6126,6 +6444,13 @@ snapshots: birpc@2.3.0: {} + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + optional: true + boolbase@1.0.0: {} brace-expansion@1.1.11: @@ -6154,6 +6479,12 @@ snapshots: buffer-from@1.1.2: {} + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + optional: true + buffer@6.0.3: dependencies: base64-js: 1.5.1 @@ -6223,6 +6554,9 @@ snapshots: dependencies: readdirp: 4.1.2 + chownr@1.1.4: + optional: true + chownr@2.0.0: {} chownr@3.0.0: {} @@ -6275,6 +6609,12 @@ snapshots: color-convert: 1.9.3 color-string: 1.9.1 + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + optional: true + colord@2.9.3: {} colorspace@1.1.4: @@ -6387,6 +6727,9 @@ snapshots: cssesc@3.0.0: {} + cssfilter@0.0.10: + optional: true + cssnano-preset-default@7.0.6(postcss@8.5.3): dependencies: browserslist: 4.24.4 @@ -6453,8 +6796,18 @@ snapshots: dependencies: callsite: 1.0.0 + decompress-response@6.0.0: + dependencies: + mimic-response: 3.1.0 + optional: true + + deep-extend@0.6.0: + optional: true + deep-is@0.1.4: {} + deep-pick-omit@1.2.1: {} + deepmerge@4.3.1: {} default-browser-id@5.0.0: {} @@ -6907,6 +7260,9 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + expand-template@2.0.3: + optional: true + exsolve@1.0.5: {} externality@1.0.2: @@ -7017,6 +7373,9 @@ snapshots: fresh@2.0.0: {} + fs-constants@1.0.0: + optional: true + fs-minipass@2.1.0: dependencies: minipass: 3.3.6 @@ -7101,6 +7460,9 @@ snapshots: dependencies: git-up: 8.1.1 + github-from-package@0.0.0: + optional: true + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -7269,6 +7631,9 @@ snapshots: inherits@2.0.4: {} + ini@1.3.8: + optional: true + ini@4.1.1: {} ioredis@5.6.1: @@ -7285,6 +7650,46 @@ snapshots: transitivePeerDependencies: - supports-color + ipx@2.1.0(@netlify/blobs@8.2.0)(db0@0.3.2)(ioredis@5.6.1): + dependencies: + '@fastify/accept-negotiator': 1.1.0 + citty: 0.1.6 + consola: 3.4.2 + defu: 6.1.4 + destr: 2.0.5 + etag: 1.8.1 + h3: 1.15.3 + image-meta: 0.2.1 + listhen: 1.9.0 + ofetch: 1.4.1 + pathe: 1.1.2 + sharp: 0.32.6 + svgo: 3.3.2 + ufo: 1.6.1 + unstorage: 1.16.0(@netlify/blobs@8.2.0)(db0@0.3.2)(ioredis@5.6.1) + xss: 1.0.15 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@deno/kv' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/blob' + - '@vercel/kv' + - aws4fetch + - bare-buffer + - db0 + - idb-keyval + - ioredis + - uploadthing + optional: true + iron-webcrypto@1.2.1: {} is-arrayish@0.3.2: {} @@ -7441,6 +7846,52 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightningcss-darwin-arm64@1.29.2: + optional: true + + lightningcss-darwin-x64@1.29.2: + optional: true + + lightningcss-freebsd-x64@1.29.2: + optional: true + + lightningcss-linux-arm-gnueabihf@1.29.2: + optional: true + + lightningcss-linux-arm64-gnu@1.29.2: + optional: true + + lightningcss-linux-arm64-musl@1.29.2: + optional: true + + lightningcss-linux-x64-gnu@1.29.2: + optional: true + + lightningcss-linux-x64-musl@1.29.2: + optional: true + + lightningcss-win32-arm64-msvc@1.29.2: + optional: true + + lightningcss-win32-x64-msvc@1.29.2: + optional: true + + lightningcss@1.29.2: + dependencies: + detect-libc: 2.0.4 + optionalDependencies: + lightningcss-darwin-arm64: 1.29.2 + lightningcss-darwin-x64: 1.29.2 + lightningcss-freebsd-x64: 1.29.2 + lightningcss-linux-arm-gnueabihf: 1.29.2 + lightningcss-linux-arm64-gnu: 1.29.2 + lightningcss-linux-arm64-musl: 1.29.2 + lightningcss-linux-x64-gnu: 1.29.2 + lightningcss-linux-x64-musl: 1.29.2 + lightningcss-win32-arm64-msvc: 1.29.2 + lightningcss-win32-x64-msvc: 1.29.2 + optional: true + lilconfig@3.1.3: {} listhen@1.9.0: @@ -7564,6 +8015,9 @@ snapshots: mimic-fn@4.0.0: {} + mimic-response@3.1.0: + optional: true + min-indent@1.0.1: {} minimatch@3.1.2: @@ -7599,6 +8053,9 @@ snapshots: mitt@3.0.1: {} + mkdirp-classic@0.5.3: + optional: true + mkdirp@1.0.4: {} mkdirp@3.0.1: {} @@ -7627,6 +8084,9 @@ snapshots: nanotar@0.2.0: {} + napi-build-utils@2.0.0: + optional: true + napi-postinstall@0.2.3: {} natural-compare@1.4.0: {} @@ -7742,6 +8202,14 @@ snapshots: - supports-color - uploadthing + node-abi@3.74.0: + dependencies: + semver: 7.7.1 + optional: true + + node-addon-api@6.1.0: + optional: true + node-addon-api@7.1.1: {} node-domexception@1.0.0: {} @@ -7812,15 +8280,15 @@ snapshots: dependencies: boolbase: 1.0.0 - nuxt@3.17.0(@netlify/blobs@8.2.0)(@parcel/watcher@2.5.1)(@types/node@22.15.3)(db0@0.3.2)(eslint@9.25.1(jiti@2.4.2))(ioredis@5.6.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.40.1)(terser@5.39.0)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(yaml@2.7.1): + nuxt@3.17.0(@netlify/blobs@8.2.0)(@parcel/watcher@2.5.1)(@types/node@22.15.3)(db0@0.3.2)(eslint@9.25.1(jiti@2.4.2))(ioredis@5.6.1)(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.40.1)(terser@5.39.0)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(yaml@2.7.1): dependencies: '@nuxt/cli': 3.25.0(magicast@0.3.5) '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 2.4.0(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) + '@nuxt/devtools': 2.4.0(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)) '@nuxt/kit': 3.17.0(magicast@0.3.5) '@nuxt/schema': 3.17.0 '@nuxt/telemetry': 2.6.6(magicast@0.3.5) - '@nuxt/vite-builder': 3.17.0(@types/node@22.15.3)(eslint@9.25.1(jiti@2.4.2))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.40.1)(terser@5.39.0)(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))(yaml@2.7.1) + '@nuxt/vite-builder': 3.17.0(@types/node@22.15.3)(eslint@9.25.1(jiti@2.4.2))(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.40.1)(terser@5.39.0)(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))(yaml@2.7.1) '@unhead/vue': 2.0.8(vue@3.5.13(typescript@5.8.3)) '@vue/shared': 3.5.13 c12: 3.0.3(magicast@0.3.5) @@ -8107,6 +8575,25 @@ snapshots: picomatch@4.0.2: {} + pinia-plugin-persistedstate@4.2.0(@pinia/nuxt@0.11.0(magicast@0.3.5)(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))))(magicast@0.3.5)(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))): + dependencies: + '@nuxt/kit': 3.17.0(magicast@0.3.5) + deep-pick-omit: 1.2.1 + defu: 6.1.4 + destr: 2.0.5 + optionalDependencies: + '@pinia/nuxt': 0.11.0(magicast@0.3.5)(pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3))) + pinia: 3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)) + transitivePeerDependencies: + - magicast + + pinia@3.0.2(typescript@5.8.3)(vue@3.5.13(typescript@5.8.3)): + dependencies: + '@vue/devtools-api': 7.7.6 + vue: 3.5.13(typescript@5.8.3) + optionalDependencies: + typescript: 5.8.3 + pkg-types@1.3.1: dependencies: confbox: 0.1.8 @@ -8295,6 +8782,22 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 + prebuild-install@7.1.3: + dependencies: + detect-libc: 2.0.4 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 2.0.0 + node-abi: 3.74.0 + pump: 3.0.2 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.2 + tunnel-agent: 0.6.0 + optional: true + precinct@11.0.5: dependencies: '@dependents/detective-less': 4.1.0 @@ -8363,6 +8866,14 @@ snapshots: defu: 6.1.4 destr: 2.0.5 + rc@1.2.8: + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + optional: true + read-package-up@11.0.0: dependencies: find-up-simple: 1.0.1 @@ -8556,6 +9067,20 @@ snapshots: setprototypeof@1.2.0: {} + sharp@0.32.6: + dependencies: + color: 4.2.3 + detect-libc: 2.0.4 + node-addon-api: 6.1.0 + prebuild-install: 7.1.3 + semver: 7.7.1 + simple-get: 4.0.1 + tar-fs: 3.0.8 + tunnel-agent: 0.6.0 + transitivePeerDependencies: + - bare-buffer + optional: true + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -8596,6 +9121,16 @@ snapshots: signal-exit@4.1.0: {} + simple-concat@1.0.1: + optional: true + + simple-get@4.0.1: + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + optional: true + simple-git@3.27.0: dependencies: '@kwsites/file-exists': 1.1.1 @@ -8705,6 +9240,9 @@ snapshots: dependencies: min-indent: 1.0.1 + strip-json-comments@2.0.1: + optional: true + strip-json-comments@3.1.1: {} strip-literal@3.0.0: @@ -8750,6 +9288,34 @@ snapshots: tapable@2.2.1: {} + tar-fs@2.1.2: + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.2 + tar-stream: 2.2.0 + optional: true + + tar-fs@3.0.8: + dependencies: + pump: 3.0.2 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 4.1.3 + bare-path: 3.0.0 + transitivePeerDependencies: + - bare-buffer + optional: true + + tar-stream@2.2.0: + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + optional: true + tar-stream@3.1.7: dependencies: b4a: 1.6.7 @@ -8831,6 +9397,11 @@ snapshots: tslib: 1.14.1 typescript: 5.8.3 + tunnel-agent@0.6.0: + dependencies: + safe-buffer: 5.2.1 + optional: true + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -8852,8 +9423,7 @@ snapshots: magic-string: 0.30.17 unplugin: 2.3.2 - undici-types@6.21.0: - optional: true + undici-types@6.21.0: {} unenv@2.0.0-rc.15: dependencies: @@ -9032,23 +9602,23 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vite-dev-rpc@1.0.7(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)): + vite-dev-rpc@1.0.7(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)): dependencies: birpc: 2.3.0 - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) - vite-hot-client: 2.0.4(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) + vite-hot-client: 2.0.4(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)) - vite-hot-client@2.0.4(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)): + vite-hot-client@2.0.4(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)): dependencies: - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) - vite-node@3.1.2(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1): + vite-node@3.1.2(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) transitivePeerDependencies: - '@types/node' - jiti @@ -9063,7 +9633,7 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.9.1(eslint@9.25.1(jiti@2.4.2))(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)): + vite-plugin-checker@0.9.1(eslint@9.25.1(jiti@2.4.2))(optionator@0.9.4)(typescript@5.8.3)(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)): dependencies: '@babel/code-frame': 7.26.2 chokidar: 4.0.3 @@ -9073,14 +9643,14 @@ snapshots: strip-ansi: 7.1.0 tiny-invariant: 1.3.3 tinyglobby: 0.2.13 - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) vscode-uri: 3.1.0 optionalDependencies: eslint: 9.25.1(jiti@2.4.2) optionator: 0.9.4 typescript: 5.8.3 - vite-plugin-inspect@11.0.1(@nuxt/kit@3.17.0(magicast@0.3.5))(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)): + vite-plugin-inspect@11.0.1(@nuxt/kit@3.17.0(magicast@0.3.5))(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)): dependencies: ansis: 3.17.0 debug: 4.4.0 @@ -9090,24 +9660,24 @@ snapshots: perfect-debounce: 1.0.0 sirv: 3.0.1 unplugin-utils: 0.2.4 - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) - vite-dev-rpc: 1.0.7(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1)) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) + vite-dev-rpc: 1.0.7(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1)) optionalDependencies: '@nuxt/kit': 3.17.0(magicast@0.3.5) transitivePeerDependencies: - supports-color - vite-plugin-vue-tracer@0.1.3(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)): + vite-plugin-vue-tracer@0.1.3(vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1))(vue@3.5.13(typescript@5.8.3)): dependencies: estree-walker: 3.0.3 exsolve: 1.0.5 magic-string: 0.30.17 pathe: 2.0.3 source-map-js: 1.2.1 - vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1) + vite: 6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1) vue: 3.5.13(typescript@5.8.3) - vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(terser@5.39.0)(yaml@2.7.1): + vite@6.3.3(@types/node@22.15.3)(jiti@2.4.2)(lightningcss@1.29.2)(terser@5.39.0)(yaml@2.7.1): dependencies: esbuild: 0.25.3 fdir: 6.4.4(picomatch@4.0.2) @@ -9119,6 +9689,7 @@ snapshots: '@types/node': 22.15.3 fsevents: 2.3.3 jiti: 2.4.2 + lightningcss: 1.29.2 terser: 5.39.0 yaml: 2.7.1 @@ -9226,6 +9797,12 @@ snapshots: xml-name-validator@4.0.0: {} + xss@1.0.15: + dependencies: + commander: 2.20.3 + cssfilter: 0.0.10 + optional: true + y18n@5.0.8: {} yallist@3.1.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index faae28f..4122aef 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,5 @@ onlyBuiltDependencies: - '@parcel/watcher' - esbuild + - sharp - unrs-resolver From 67f98735ee7e11355486a4822a3223196e4fa968 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 22:34:22 +0200 Subject: [PATCH 4/9] refactor: remove default.vue layout and move contents back to app.vue --- app.vue | 18 +++++++++++++++++- layouts/default.vue | 19 ------------------- 2 files changed, 17 insertions(+), 20 deletions(-) delete mode 100644 layouts/default.vue diff --git a/app.vue b/app.vue index 8d62023..8b6727d 100644 --- a/app.vue +++ b/app.vue @@ -1,3 +1,19 @@ + + diff --git a/layouts/default.vue b/layouts/default.vue deleted file mode 100644 index a4fdba3..0000000 --- a/layouts/default.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - - - \ No newline at end of file From 893b3726bb192656faae36dfd9a9d31b15bf26b3 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 22:35:18 +0200 Subject: [PATCH 5/9] feat: add basis of auth --- layouts/auth.vue | 56 ++++++++++++++++ pages/login.vue | 84 ++++++++++++++++++++++++ pages/register.vue | 156 +++++++++++++++++++++++++++++++++++++++++++++ stores/auth.ts | 17 +++++ 4 files changed, 313 insertions(+) create mode 100644 layouts/auth.vue create mode 100644 pages/login.vue create mode 100644 pages/register.vue create mode 100644 stores/auth.ts diff --git a/layouts/auth.vue b/layouts/auth.vue new file mode 100644 index 0000000..73d4603 --- /dev/null +++ b/layouts/auth.vue @@ -0,0 +1,56 @@ + + + + + \ No newline at end of file diff --git a/pages/login.vue b/pages/login.vue new file mode 100644 index 0000000..9899a87 --- /dev/null +++ b/pages/login.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/pages/register.vue b/pages/register.vue new file mode 100644 index 0000000..48fae6b --- /dev/null +++ b/pages/register.vue @@ -0,0 +1,156 @@ + + + + + \ No newline at end of file diff --git a/stores/auth.ts b/stores/auth.ts new file mode 100644 index 0000000..c6f0173 --- /dev/null +++ b/stores/auth.ts @@ -0,0 +1,17 @@ +import { defineStore } from 'pinia' + +export const useAuthStore = defineStore("auth", { + state: () => ({ + accessToken: null as string | null + }), + getters: { + getAccessToken: (state) => { + return state.accessToken; + } + }, + actions: { + setAccessToken(value: string) { + this.accessToken = value; + } + } +}) From d62e5ece30af8460b1afaf79344ed704292c3c35 Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 22:37:06 +0200 Subject: [PATCH 6/9] refactor: remove /web routes as site should run on root by default --- pages/web/index.vue | 249 ----------------------- pages/web/servers/[id]/channels/[id].vue | 13 -- pages/web/servers/[id]/index.vue | 13 -- pages/web/test.vue | 15 -- 4 files changed, 290 deletions(-) delete mode 100644 pages/web/index.vue delete mode 100644 pages/web/servers/[id]/channels/[id].vue delete mode 100644 pages/web/servers/[id]/index.vue delete mode 100644 pages/web/test.vue diff --git a/pages/web/index.vue b/pages/web/index.vue deleted file mode 100644 index 45b7019..0000000 --- a/pages/web/index.vue +++ /dev/null @@ -1,249 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pages/web/servers/[id]/channels/[id].vue b/pages/web/servers/[id]/channels/[id].vue deleted file mode 100644 index b9b4da4..0000000 --- a/pages/web/servers/[id]/channels/[id].vue +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pages/web/servers/[id]/index.vue b/pages/web/servers/[id]/index.vue deleted file mode 100644 index b9b4da4..0000000 --- a/pages/web/servers/[id]/index.vue +++ /dev/null @@ -1,13 +0,0 @@ - - - - - \ No newline at end of file diff --git a/pages/web/test.vue b/pages/web/test.vue deleted file mode 100644 index 91879f8..0000000 --- a/pages/web/test.vue +++ /dev/null @@ -1,15 +0,0 @@ - - - - - \ No newline at end of file From ef494ee23ebb322df0b83fab6a49c208128574ba Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 22:38:08 +0200 Subject: [PATCH 7/9] feat: add routes for servers and channels --- pages/servers/[serverId]/channels/[channelId].vue | 13 +++++++++++++ pages/servers/[serverId]/index.vue | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 pages/servers/[serverId]/channels/[channelId].vue create mode 100644 pages/servers/[serverId]/index.vue diff --git a/pages/servers/[serverId]/channels/[channelId].vue b/pages/servers/[serverId]/channels/[channelId].vue new file mode 100644 index 0000000..b9b4da4 --- /dev/null +++ b/pages/servers/[serverId]/channels/[channelId].vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/pages/servers/[serverId]/index.vue b/pages/servers/[serverId]/index.vue new file mode 100644 index 0000000..b9b4da4 --- /dev/null +++ b/pages/servers/[serverId]/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file From c3e17cb56e2c6f2b4c2112a443ddd47962ecb54d Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 22:38:59 +0200 Subject: [PATCH 8/9] wip: more work on client look --- layouts/client.vue | 28 +++-- pages/index.vue | 276 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 289 insertions(+), 15 deletions(-) diff --git a/layouts/client.vue b/layouts/client.vue index 95d6c0b..240e59b 100644 --- a/layouts/client.vue +++ b/layouts/client.vue @@ -1,17 +1,18 @@ \ No newline at end of file From f37280c3f6e28d0973a6c418e8e494c896d26bcd Mon Sep 17 00:00:00 2001 From: SauceyRed Date: Thu, 1 May 2025 22:39:40 +0200 Subject: [PATCH 9/9] chore: remove unused styles --- pages/index.vue | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/pages/index.vue b/pages/index.vue index b964dc5..3e38b8a 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -178,12 +178,6 @@ function sendMessage(e: Event) { border-bottom: 1px solid rgb(70, 70, 70); } -#client-root div { - /* border: 1px solid cyan; */ -} - -#main-bar {} - #__nuxt { display: flex; flex-flow: column; @@ -259,12 +253,6 @@ function sendMessage(e: Event) { height: 100%; } -.main-grid-row { - /* border: 1px solid cyan; */ -} - -#main-bar {} - #servers-list, #channels-list, #message-history,