From 9ee0b2f14ee076e6565c77785efd2f8397669635 Mon Sep 17 00:00:00 2001 From: Matt Date: Wed, 13 Aug 2025 22:10:00 +0200 Subject: [PATCH] Clean up codebase and reorganize plugin architecture - Archive documentation files to docs-archive/ - Remove numbered prefixes from plugin files for cleaner organization - Remove unused dependencies (@nuxt/ui, @vuepic/vue-datepicker) - Update event components and API endpoints - Simplify plugin structure with descriptive names --- components/CreateEventDialog.vue | 58 +- components/EventDetailsDialog.vue | 48 +- .../DEPLOYMENT_FORCE_UPDATE.md | 0 ...MAIL_VERIFICATION_RELOAD_LOOP_FIX_FINAL.md | 0 ...ENTS_SYSTEM_BUGS_COMPREHENSIVE_ANALYSIS.md | 0 .../INTEGRATION_REVIEW.md | 0 ...MOBILE_BROWSER_RELOAD_LOOP_FIX_COMPLETE.md | 0 ...LE_RELOAD_LOOP_PREVENTION_COMPREHENSIVE.md | 0 .../MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md | 0 .../MOBILE_SAFARI_RELOAD_LOOP_FINAL_FIX.md | 0 ...E_SAFARI_RELOAD_LOOP_FIX_IMPLEMENTATION.md | 0 .../PORTAL_FIXES_SUMMARY.md | 0 .../PWA_DISABLE_TEST_SUMMARY.md | 0 .../SAFARI_RELOAD_LOOP_FIX_COMPLETE.md | 0 package-lock.json | 1524 +---------------- package.json | 2 - ...h-check.client.ts => auth-check.client.ts} | 0 ....client.ts => config-cache-init.client.ts} | 0 ...lient.ts => mobile-safari-fixes.client.ts} | 0 ...nt.ts => service-worker-cleanup.client.ts} | 0 plugins/vue-datepicker.client.ts | 6 - plugins/vuetify-date-input.client.ts | 7 + server/api/events/[id]/rsvp.post.ts | 16 +- server/api/events/index.post.ts | 14 + 24 files changed, 106 insertions(+), 1569 deletions(-) rename DEPLOYMENT_FORCE_UPDATE.md => docs-archive/DEPLOYMENT_FORCE_UPDATE.md (100%) rename EMAIL_VERIFICATION_RELOAD_LOOP_FIX_FINAL.md => docs-archive/EMAIL_VERIFICATION_RELOAD_LOOP_FIX_FINAL.md (100%) rename EVENTS_SYSTEM_BUGS_COMPREHENSIVE_ANALYSIS.md => docs-archive/EVENTS_SYSTEM_BUGS_COMPREHENSIVE_ANALYSIS.md (100%) rename INTEGRATION_REVIEW.md => docs-archive/INTEGRATION_REVIEW.md (100%) rename MOBILE_BROWSER_RELOAD_LOOP_FIX_COMPLETE.md => docs-archive/MOBILE_BROWSER_RELOAD_LOOP_FIX_COMPLETE.md (100%) rename MOBILE_RELOAD_LOOP_PREVENTION_COMPREHENSIVE.md => docs-archive/MOBILE_RELOAD_LOOP_PREVENTION_COMPREHENSIVE.md (100%) rename MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md => docs-archive/MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md (100%) rename MOBILE_SAFARI_RELOAD_LOOP_FINAL_FIX.md => docs-archive/MOBILE_SAFARI_RELOAD_LOOP_FINAL_FIX.md (100%) rename MOBILE_SAFARI_RELOAD_LOOP_FIX_IMPLEMENTATION.md => docs-archive/MOBILE_SAFARI_RELOAD_LOOP_FIX_IMPLEMENTATION.md (100%) rename PORTAL_FIXES_SUMMARY.md => docs-archive/PORTAL_FIXES_SUMMARY.md (100%) rename PWA_DISABLE_TEST_SUMMARY.md => docs-archive/PWA_DISABLE_TEST_SUMMARY.md (100%) rename SAFARI_RELOAD_LOOP_FIX_COMPLETE.md => docs-archive/SAFARI_RELOAD_LOOP_FIX_COMPLETE.md (100%) rename plugins/{01.auth-check.client.ts => auth-check.client.ts} (100%) rename plugins/{04.config-cache-init.client.ts => config-cache-init.client.ts} (100%) rename plugins/{03.mobile-safari-fixes.client.ts => mobile-safari-fixes.client.ts} (100%) rename plugins/{02.unregister-sw.client.ts => service-worker-cleanup.client.ts} (100%) delete mode 100644 plugins/vue-datepicker.client.ts create mode 100644 plugins/vuetify-date-input.client.ts diff --git a/components/CreateEventDialog.vue b/components/CreateEventDialog.vue index 93daebf..5b04ba9 100644 --- a/components/CreateEventDialog.vue +++ b/components/CreateEventDialog.vue @@ -80,50 +80,26 @@ -
- - -
+
-
- - -
+
diff --git a/components/EventDetailsDialog.vue b/components/EventDetailsDialog.vue index 8bacf56..90daf95 100644 --- a/components/EventDetailsDialog.vue +++ b/components/EventDetailsDialog.vue @@ -479,39 +479,73 @@ const close = () => { }; const submitRSVP = async (status: 'confirmed' | 'declined') => { - if (!props.event) return; + console.log('[EventDetailsDialog] submitRSVP called with status:', status); + + if (!props.event) { + console.error('[EventDetailsDialog] No event provided'); + return; + } rsvpLoading.value = true; try { // Use event_id field for consistent RSVP relationships // This ensures RSVPs are linked properly to events using the business identifier - const eventId = props.event.event_id || - (props.event as any).extendedProps?.event_id || - (props.event as any).Id || // Fallback to database ID if event_id not available - props.event.id; + let eventId = props.event.event_id || + (props.event as any).extendedProps?.event_id || + (props.event as any).Id || // Fallback to database ID if event_id not available + props.event.id || + (props.event as any).id; // Additional fallback + + // Direct access to Id field as backup + if (!eventId && 'Id' in props.event) { + eventId = (props.event as any)['Id']; + console.log('[EventDetailsDialog] Found Id via direct property access:', eventId); + } + + // Try to access the Id property using Object.keys approach + if (!eventId) { + const keys = Object.keys(props.event); + console.log('[EventDetailsDialog] Available keys:', keys); + if (keys.includes('Id')) { + eventId = props.event['Id' as keyof Event]; + console.log('[EventDetailsDialog] Found Id via keys lookup:', eventId); + } + } console.log('[EventDetailsDialog] Using event identifier for RSVP:', eventId); console.log('[EventDetailsDialog] Event object keys:', Object.keys(props.event)); console.log('[EventDetailsDialog] Event event_id field:', props.event.event_id); console.log('[EventDetailsDialog] Event database Id field:', (props.event as any).Id); + console.log('[EventDetailsDialog] Event id field:', props.event.id); + console.log('[EventDetailsDialog] Full event object:', JSON.stringify(props.event, null, 2)); if (!eventId) { + console.error('[EventDetailsDialog] Unable to determine event identifier'); throw new Error('Unable to determine event identifier'); } - await rsvpToEvent(eventId, { + console.log('[EventDetailsDialog] Calling rsvpToEvent with:', { + eventId, + status, + notes: rsvpNotes.value, + guests: selectedGuests.value + }); + + const result = await rsvpToEvent(eventId, { member_id: '', // This will be filled by the composable rsvp_status: status, rsvp_notes: rsvpNotes.value, extra_guests: selectedGuests.value.toString() }); + console.log('[EventDetailsDialog] RSVP submitted successfully:', result); + emit('rsvp-updated', props.event); // TODO: Show success message } catch (error) { - console.error('Error submitting RSVP:', error); + console.error('[EventDetailsDialog] Error submitting RSVP:', error); // TODO: Show error message } finally { rsvpLoading.value = false; diff --git a/DEPLOYMENT_FORCE_UPDATE.md b/docs-archive/DEPLOYMENT_FORCE_UPDATE.md similarity index 100% rename from DEPLOYMENT_FORCE_UPDATE.md rename to docs-archive/DEPLOYMENT_FORCE_UPDATE.md diff --git a/EMAIL_VERIFICATION_RELOAD_LOOP_FIX_FINAL.md b/docs-archive/EMAIL_VERIFICATION_RELOAD_LOOP_FIX_FINAL.md similarity index 100% rename from EMAIL_VERIFICATION_RELOAD_LOOP_FIX_FINAL.md rename to docs-archive/EMAIL_VERIFICATION_RELOAD_LOOP_FIX_FINAL.md diff --git a/EVENTS_SYSTEM_BUGS_COMPREHENSIVE_ANALYSIS.md b/docs-archive/EVENTS_SYSTEM_BUGS_COMPREHENSIVE_ANALYSIS.md similarity index 100% rename from EVENTS_SYSTEM_BUGS_COMPREHENSIVE_ANALYSIS.md rename to docs-archive/EVENTS_SYSTEM_BUGS_COMPREHENSIVE_ANALYSIS.md diff --git a/INTEGRATION_REVIEW.md b/docs-archive/INTEGRATION_REVIEW.md similarity index 100% rename from INTEGRATION_REVIEW.md rename to docs-archive/INTEGRATION_REVIEW.md diff --git a/MOBILE_BROWSER_RELOAD_LOOP_FIX_COMPLETE.md b/docs-archive/MOBILE_BROWSER_RELOAD_LOOP_FIX_COMPLETE.md similarity index 100% rename from MOBILE_BROWSER_RELOAD_LOOP_FIX_COMPLETE.md rename to docs-archive/MOBILE_BROWSER_RELOAD_LOOP_FIX_COMPLETE.md diff --git a/MOBILE_RELOAD_LOOP_PREVENTION_COMPREHENSIVE.md b/docs-archive/MOBILE_RELOAD_LOOP_PREVENTION_COMPREHENSIVE.md similarity index 100% rename from MOBILE_RELOAD_LOOP_PREVENTION_COMPREHENSIVE.md rename to docs-archive/MOBILE_RELOAD_LOOP_PREVENTION_COMPREHENSIVE.md diff --git a/MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md b/docs-archive/MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md similarity index 100% rename from MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md rename to docs-archive/MOBILE_SAFARI_KEYCLOAK_FIXES_SUMMARY.md diff --git a/MOBILE_SAFARI_RELOAD_LOOP_FINAL_FIX.md b/docs-archive/MOBILE_SAFARI_RELOAD_LOOP_FINAL_FIX.md similarity index 100% rename from MOBILE_SAFARI_RELOAD_LOOP_FINAL_FIX.md rename to docs-archive/MOBILE_SAFARI_RELOAD_LOOP_FINAL_FIX.md diff --git a/MOBILE_SAFARI_RELOAD_LOOP_FIX_IMPLEMENTATION.md b/docs-archive/MOBILE_SAFARI_RELOAD_LOOP_FIX_IMPLEMENTATION.md similarity index 100% rename from MOBILE_SAFARI_RELOAD_LOOP_FIX_IMPLEMENTATION.md rename to docs-archive/MOBILE_SAFARI_RELOAD_LOOP_FIX_IMPLEMENTATION.md diff --git a/PORTAL_FIXES_SUMMARY.md b/docs-archive/PORTAL_FIXES_SUMMARY.md similarity index 100% rename from PORTAL_FIXES_SUMMARY.md rename to docs-archive/PORTAL_FIXES_SUMMARY.md diff --git a/PWA_DISABLE_TEST_SUMMARY.md b/docs-archive/PWA_DISABLE_TEST_SUMMARY.md similarity index 100% rename from PWA_DISABLE_TEST_SUMMARY.md rename to docs-archive/PWA_DISABLE_TEST_SUMMARY.md diff --git a/SAFARI_RELOAD_LOOP_FIX_COMPLETE.md b/docs-archive/SAFARI_RELOAD_LOOP_FIX_COMPLETE.md similarity index 100% rename from SAFARI_RELOAD_LOOP_FIX_COMPLETE.md rename to docs-archive/SAFARI_RELOAD_LOOP_FIX_COMPLETE.md diff --git a/package-lock.json b/package-lock.json index f7c3501..fdab777 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,13 +12,11 @@ "@fullcalendar/interaction": "^6.1.19", "@fullcalendar/list": "^6.1.19", "@fullcalendar/vue3": "^6.1.19", - "@nuxt/ui": "^3.2.0", "@nuxtjs/device": "^3.2.4", "@types/handlebars": "^4.0.40", "@types/jsonwebtoken": "^9.0.10", "@types/nodemailer": "^6.4.17", "@vite-pwa/nuxt": "^0.10.8", - "@vuepic/vue-datepicker": "^11.0.2", "cookie": "^0.6.0", "date-fns": "^4.1.0", "flag-icons": "^7.5.0", @@ -45,18 +43,6 @@ "@types/node": "^20.0.0" } }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -70,28 +56,6 @@ "node": ">=6.0.0" } }, - "node_modules/@antfu/install-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", - "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", - "license": "MIT", - "dependencies": { - "package-manager-detector": "^1.3.0", - "tinyexec": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@antfu/utils": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-8.1.1.tgz", - "integrity": "sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/@apideck/better-ajv-errors": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", @@ -1657,23 +1621,6 @@ "node": ">=6.9.0" } }, - "node_modules/@capsizecss/metrics": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@capsizecss/metrics/-/metrics-3.5.0.tgz", - "integrity": "sha512-Ju2I/Qn3c1OaU8FgeW4Tc22D4C9NwyVfKzNmzst59bvxBjPoLYNZMqFYn+HvCtn4MpXwiaDtCE8fNuQLpdi9yA==", - "license": "MIT" - }, - "node_modules/@capsizecss/unpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-2.4.0.tgz", - "integrity": "sha512-GrSU71meACqcmIUxPYOJvGKF0yryjN/L1aCuE9DViCTJI7bfkjgYDPD1zbNDcINJwSSP6UaBZY9GAbYDO7re0Q==", - "license": "MIT", - "dependencies": { - "blob-to-buffer": "^1.2.8", - "cross-fetch": "^3.0.4", - "fontkit": "^2.0.2" - } - }, "node_modules/@cloudflare/kv-asset-handler": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.0.tgz", @@ -2184,68 +2131,6 @@ "integrity": "sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==", "license": "MIT" }, - "node_modules/@floating-ui/core": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.7.3.tgz", - "integrity": "sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.7.3.tgz", - "integrity": "sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.7.3", - "@floating-ui/utils": "^0.2.10" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.10.tgz", - "integrity": "sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==", - "license": "MIT" - }, - "node_modules/@floating-ui/vue": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@floating-ui/vue/-/vue-1.1.8.tgz", - "integrity": "sha512-SNJAa1jbT8Gh1LvWw2uIIViLL0saV2bCY59ISCvJzhbut5DSb2H3LKUK49Xkd7SixTNHKX4LFu59nbwIXt9jjQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.7.3", - "@floating-ui/utils": "^0.2.10", - "vue-demi": ">=0.13.0" - } - }, - "node_modules/@floating-ui/vue/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/@fullcalendar/core": { "version": "6.1.19", "resolved": "https://registry.npmjs.org/@fullcalendar/core/-/core-6.1.19.tgz", @@ -2292,52 +2177,6 @@ "vue": "^3.0.11" } }, - "node_modules/@iconify/collections": { - "version": "1.0.576", - "resolved": "https://registry.npmjs.org/@iconify/collections/-/collections-1.0.576.tgz", - "integrity": "sha512-qUDT6dLCPy4d5Hel4ZH5BoK3tnkxIqxFVJOao8m5/gq/+544zesdnbEfwOTGxHhCn7Gu8YspY/QnQx0vI9FkPQ==", - "license": "MIT", - "dependencies": { - "@iconify/types": "*" - } - }, - "node_modules/@iconify/types": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", - "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", - "license": "MIT" - }, - "node_modules/@iconify/utils": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.3.0.tgz", - "integrity": "sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==", - "license": "MIT", - "dependencies": { - "@antfu/install-pkg": "^1.0.0", - "@antfu/utils": "^8.1.0", - "@iconify/types": "^2.0.0", - "debug": "^4.4.0", - "globals": "^15.14.0", - "kolorist": "^1.8.0", - "local-pkg": "^1.0.0", - "mlly": "^1.7.4" - } - }, - "node_modules/@iconify/vue": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@iconify/vue/-/vue-5.0.0.tgz", - "integrity": "sha512-C+KuEWIF5nSBrobFJhT//JS87OZ++QDORB6f2q2Wm6fl2mueSTpFBeBsveK0KW9hWiZ4mNiPjsh6Zs4jjdROSg==", - "license": "MIT", - "dependencies": { - "@iconify/types": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/cyberalien" - }, - "peerDependencies": { - "vue": ">=3" - } - }, "node_modules/@img/sharp-darwin-arm64": { "version": "0.34.3", "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.3.tgz", @@ -2756,24 +2595,6 @@ "url": "https://opencollective.com/libvips" } }, - "node_modules/@internationalized/date": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/@internationalized/date/-/date-3.8.2.tgz", - "integrity": "sha512-/wENk7CbvLbkUvX1tu0mwq49CVkkWpkXubGel6birjRPyo6uQ4nQpnq5xZu823zRCwwn82zgHrvgF1vZyvmVgA==", - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, - "node_modules/@internationalized/number": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/@internationalized/number/-/number-3.6.4.tgz", - "integrity": "sha512-P+/h+RDaiX8EGt3shB9AYM1+QgkvHmJ5rKi4/59k4sg9g58k9rqsRW0WxRO7jCoHyvVbFRRFKmVTdFYdehrxHg==", - "license": "Apache-2.0", - "dependencies": { - "@swc/helpers": "^0.5.0" - } - }, "node_modules/@ioredis/commands": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.3.0.tgz", @@ -3712,56 +3533,6 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@nuxt/fonts": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/@nuxt/fonts/-/fonts-0.11.4.tgz", - "integrity": "sha512-GbLavsC+9FejVwY+KU4/wonJsKhcwOZx/eo4EuV57C4osnF/AtEmev8xqI0DNlebMEhEGZbu1MGwDDDYbeR7Bw==", - "license": "MIT", - "dependencies": { - "@nuxt/devtools-kit": "^2.4.0", - "@nuxt/kit": "^3.17.3", - "consola": "^3.4.2", - "css-tree": "^3.1.0", - "defu": "^6.1.4", - "esbuild": "^0.25.4", - "fontaine": "^0.6.0", - "h3": "^1.15.3", - "jiti": "^2.4.2", - "magic-regexp": "^0.10.0", - "magic-string": "^0.30.17", - "node-fetch-native": "^1.6.6", - "ohash": "^2.0.11", - "pathe": "^2.0.3", - "sirv": "^3.0.1", - "tinyglobby": "^0.2.13", - "ufo": "^1.6.1", - "unifont": "^0.4.1", - "unplugin": "^2.3.3", - "unstorage": "^1.16.0" - } - }, - "node_modules/@nuxt/icon": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@nuxt/icon/-/icon-1.15.0.tgz", - "integrity": "sha512-kA0rxqr1B601zNJNcOXera8CyYcxUCEcT7dXEC7rwAz71PRCN5emf7G656eKEQgtqrD4JSj6NQqWDgrmFcf/GQ==", - "license": "MIT", - "dependencies": { - "@iconify/collections": "^1.0.563", - "@iconify/types": "^2.0.0", - "@iconify/utils": "^2.3.0", - "@iconify/vue": "^5.0.0", - "@nuxt/devtools-kit": "^2.5.0", - "@nuxt/kit": "^3.17.5", - "consola": "^3.4.2", - "local-pkg": "^1.1.1", - "mlly": "^1.7.4", - "ohash": "^2.0.11", - "pathe": "^2.0.3", - "picomatch": "^4.0.2", - "std-env": "^3.9.0", - "tinyglobby": "^0.2.14" - } - }, "node_modules/@nuxt/kit": { "version": "3.18.1", "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.18.1.tgz", @@ -3795,23 +3566,6 @@ "node": ">=18.12.0" } }, - "node_modules/@nuxt/schema": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-4.0.3.tgz", - "integrity": "sha512-acDigyy8tF8xDCMFee00mt5u2kE5Qx5Y34ButBlibLzhguQjc+6f6FpMGdieN07oahjpegWIQG66yQywjw+sKw==", - "license": "MIT", - "dependencies": { - "@vue/shared": "^3.5.18", - "consola": "^3.4.2", - "defu": "^6.1.4", - "pathe": "^2.0.3", - "std-env": "^3.9.0", - "ufo": "1.6.1" - }, - "engines": { - "node": "^14.18.0 || >=16.10.0" - } - }, "node_modules/@nuxt/telemetry": { "version": "2.6.6", "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.6.6.tgz", @@ -3850,124 +3604,6 @@ "url": "https://dotenvx.com" } }, - "node_modules/@nuxt/ui": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@nuxt/ui/-/ui-3.3.0.tgz", - "integrity": "sha512-ShIj5AOsZXLID9gQBEJzThkCnrS3nyb7AqUAITzUyH0YhPcjMg12yPq+k5zNEjA2AuiBf8NVabtOZa/WeYgmNQ==", - "license": "MIT", - "dependencies": { - "@iconify/vue": "^5.0.0", - "@internationalized/date": "^3.8.2", - "@internationalized/number": "^3.6.3", - "@nuxt/fonts": "^0.11.4", - "@nuxt/icon": "^1.15.0", - "@nuxt/kit": "^4.0.1", - "@nuxt/schema": "^4.0.1", - "@nuxtjs/color-mode": "^3.5.2", - "@standard-schema/spec": "^1.0.0", - "@tailwindcss/postcss": "^4.1.11", - "@tailwindcss/vite": "^4.1.11", - "@tanstack/vue-table": "^8.21.3", - "@unhead/vue": "^2.0.12", - "@vueuse/core": "^13.5.0", - "@vueuse/integrations": "^13.5.0", - "colortranslator": "^5.0.0", - "consola": "^3.4.2", - "defu": "^6.1.4", - "embla-carousel-auto-height": "^8.6.0", - "embla-carousel-auto-scroll": "^8.6.0", - "embla-carousel-autoplay": "^8.6.0", - "embla-carousel-class-names": "^8.6.0", - "embla-carousel-fade": "^8.6.0", - "embla-carousel-vue": "^8.6.0", - "embla-carousel-wheel-gestures": "^8.0.2", - "fuse.js": "^7.1.0", - "hookable": "^5.5.3", - "knitwork": "^1.2.0", - "magic-string": "^0.30.17", - "mlly": "^1.7.4", - "ohash": "^2.0.11", - "pathe": "^2.0.3", - "reka-ui": "2.3.2", - "scule": "^1.3.0", - "tailwind-variants": "^1.0.0", - "tailwindcss": "^4.1.11", - "tinyglobby": "^0.2.14", - "unplugin": "^2.3.5", - "unplugin-auto-import": "^19.3.0", - "unplugin-vue-components": "^28.8.0", - "vaul-vue": "0.4.1", - "vue-component-type-helpers": "^3.0.3" - }, - "bin": { - "nuxt-ui": "cli/index.mjs" - }, - "peerDependencies": { - "@inertiajs/vue3": "^2.0.7", - "joi": "^17.13.0", - "superstruct": "^2.0.0", - "typescript": "^5.6.3", - "valibot": "^1.0.0", - "vue-router": "^4.5.0", - "yup": "^1.6.0", - "zod": "^3.24.0 || ^4.0.0" - }, - "peerDependenciesMeta": { - "@inertiajs/vue3": { - "optional": true - }, - "joi": { - "optional": true - }, - "superstruct": { - "optional": true - }, - "valibot": { - "optional": true - }, - "vue-router": { - "optional": true - }, - "yup": { - "optional": true - }, - "zod": { - "optional": true - } - } - }, - "node_modules/@nuxt/ui/node_modules/@nuxt/kit": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-4.0.3.tgz", - "integrity": "sha512-9+lwvP4n8KhO91azoebO0o39smESGzEV4HU6nef9HIFyt04YwlVMY37Pk63GgZn0WhWVjyPWcQWs0rUdZUYcPw==", - "license": "MIT", - "dependencies": { - "c12": "^3.2.0", - "consola": "^3.4.2", - "defu": "^6.1.4", - "destr": "^2.0.5", - "errx": "^0.1.0", - "exsolve": "^1.0.7", - "ignore": "^7.0.5", - "jiti": "^2.5.1", - "klona": "^2.0.6", - "mlly": "^1.7.4", - "ohash": "^2.0.11", - "pathe": "^2.0.3", - "pkg-types": "^2.2.0", - "scule": "^1.3.0", - "semver": "^7.7.2", - "std-env": "^3.9.0", - "tinyglobby": "^0.2.14", - "ufo": "^1.6.1", - "unctx": "^2.4.1", - "unimport": "^5.2.0", - "untyped": "^2.0.0" - }, - "engines": { - "node": ">=18.12.0" - } - }, "node_modules/@nuxt/vite-builder": { "version": "3.18.1", "resolved": "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-3.18.1.tgz", @@ -4088,47 +3724,6 @@ } } }, - "node_modules/@nuxtjs/color-mode": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/color-mode/-/color-mode-3.5.2.tgz", - "integrity": "sha512-cC6RfgZh3guHBMLLjrBB2Uti5eUoGM9KyauOaYS9ETmxNWBMTvpgjvSiSJp1OFljIXPIqVTJ3xtJpSNZiO3ZaA==", - "license": "MIT", - "dependencies": { - "@nuxt/kit": "^3.13.2", - "pathe": "^1.1.2", - "pkg-types": "^1.2.1", - "semver": "^7.6.3" - } - }, - "node_modules/@nuxtjs/color-mode/node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", - "license": "MIT" - }, - "node_modules/@nuxtjs/color-mode/node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "license": "MIT" - }, - "node_modules/@nuxtjs/color-mode/node_modules/pkg-types": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", - "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", - "license": "MIT", - "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.4", - "pathe": "^2.0.1" - } - }, - "node_modules/@nuxtjs/color-mode/node_modules/pkg-types/node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "license": "MIT" - }, "node_modules/@nuxtjs/device": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/@nuxtjs/device/-/device-3.2.4.tgz", @@ -5784,12 +5379,6 @@ "integrity": "sha512-0dxmVj4gxg3Jg879kvFS/msl4s9F3T9UXC1InxgOf7t5NvcPD97u/WTA5vL/IxWHMn7qSxBozqrnnE2wvl1m8g==", "license": "CC0-1.0" }, - "node_modules/@standard-schema/spec": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz", - "integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==", - "license": "MIT" - }, "node_modules/@surma/rollup-plugin-off-main-thread": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", @@ -5811,348 +5400,6 @@ "sourcemap-codec": "^1.4.8" } }, - "node_modules/@swc/helpers": { - "version": "0.5.17", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.17.tgz", - "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@tailwindcss/node": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.11.tgz", - "integrity": "sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==", - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.3.0", - "enhanced-resolve": "^5.18.1", - "jiti": "^2.4.2", - "lightningcss": "1.30.1", - "magic-string": "^0.30.17", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.11" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.11.tgz", - "integrity": "sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "detect-libc": "^2.0.4", - "tar": "^7.4.3" - }, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.11", - "@tailwindcss/oxide-darwin-arm64": "4.1.11", - "@tailwindcss/oxide-darwin-x64": "4.1.11", - "@tailwindcss/oxide-freebsd-x64": "4.1.11", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.11", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.11", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.11", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.11", - "@tailwindcss/oxide-linux-x64-musl": "4.1.11", - "@tailwindcss/oxide-wasm32-wasi": "4.1.11", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.11", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.11" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.11.tgz", - "integrity": "sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.11.tgz", - "integrity": "sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.11.tgz", - "integrity": "sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.11.tgz", - "integrity": "sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.11.tgz", - "integrity": "sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.11.tgz", - "integrity": "sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.11.tgz", - "integrity": "sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.11.tgz", - "integrity": "sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.11.tgz", - "integrity": "sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.11.tgz", - "integrity": "sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@emnapi/wasi-threads": "^1.0.2", - "@napi-rs/wasm-runtime": "^0.2.11", - "@tybys/wasm-util": "^0.9.0", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.11.tgz", - "integrity": "sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.11.tgz", - "integrity": "sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/postcss": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.11.tgz", - "integrity": "sha512-q/EAIIpF6WpLhKEuQSEVMZNMIY8KhWoAemZ9eylNAih9jxMGAYPPWBn3I9QL/2jZ+e7OEz/tZkX5HwbBR4HohA==", - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.11", - "@tailwindcss/oxide": "4.1.11", - "postcss": "^8.4.41", - "tailwindcss": "4.1.11" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.11.tgz", - "integrity": "sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw==", - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.1.11", - "@tailwindcss/oxide": "4.1.11", - "tailwindcss": "4.1.11" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7" - } - }, - "node_modules/@tanstack/table-core": { - "version": "8.21.3", - "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.21.3.tgz", - "integrity": "sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/virtual-core": { - "version": "3.13.12", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.13.12.tgz", - "integrity": "sha512-1YBOJfRHV4sXUmWsFSf5rQor4Ss82G8dQWLRbnk3GA4jeP8hQt1hxXh0tmflpC0dz3VgEv/1+qwPyLeWkQuPFA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/vue-table": { - "version": "8.21.3", - "resolved": "https://registry.npmjs.org/@tanstack/vue-table/-/vue-table-8.21.3.tgz", - "integrity": "sha512-rusRyd77c5tDPloPskctMyPLFEQUeBzxdQ+2Eow4F7gDPlPOB1UnnhzfpdvqZ8ZyX2rRNGmqNnQWm87OI2OQPw==", - "license": "MIT", - "dependencies": { - "@tanstack/table-core": "8.21.3" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "vue": ">=3.2" - } - }, - "node_modules/@tanstack/vue-virtual": { - "version": "3.13.12", - "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.13.12.tgz", - "integrity": "sha512-vhF7kEU9EXWXh+HdAwKJ2m3xaOnTTmgcdXcF2pim8g4GvI7eRrk2YRuV5nUlZnd/NbCIX4/Ja2OZu5EjJL06Ww==", - "license": "MIT", - "dependencies": { - "@tanstack/virtual-core": "3.13.12" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "vue": "^2.7.0 || ^3.0.0" - } - }, "node_modules/@tiptap/core": { "version": "2.26.1", "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.26.1.tgz", @@ -6925,12 +6172,6 @@ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "license": "MIT" }, - "node_modules/@types/web-bluetooth": { - "version": "0.0.21", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", - "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", - "license": "MIT" - }, "node_modules/@types/yauzl": { "version": "2.10.3", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", @@ -7433,21 +6674,6 @@ "integrity": "sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==", "license": "MIT" }, - "node_modules/@vuepic/vue-datepicker": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-11.0.2.tgz", - "integrity": "sha512-uHh78mVBXCEjam1uVfTzZ/HkyDwut/H6b2djSN9YTF+l/EA+XONfdCnOVSi1g+qVGSy65DcQAwyBNidAssnudQ==", - "license": "MIT", - "dependencies": { - "date-fns": "^4.1.0" - }, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "vue": ">=3.3.0" - } - }, "node_modules/@vuetify/loader-shared": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/@vuetify/loader-shared/-/loader-shared-2.1.1.tgz", @@ -7461,110 +6687,6 @@ "vuetify": "^3.0.0" } }, - "node_modules/@vueuse/core": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-13.6.0.tgz", - "integrity": "sha512-DJbD5fV86muVmBgS9QQPddVX7d9hWYswzlf4bIyUD2dj8GC46R1uNClZhVAmsdVts4xb2jwp1PbpuiA50Qee1A==", - "license": "MIT", - "dependencies": { - "@types/web-bluetooth": "^0.0.21", - "@vueuse/metadata": "13.6.0", - "@vueuse/shared": "13.6.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vue": "^3.5.0" - } - }, - "node_modules/@vueuse/integrations": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-13.6.0.tgz", - "integrity": "sha512-dVFdgwYvkYjdizRL3ESdUW+Hg84i9Yhuzs+Ec3kEcuzJmT5xhiL/IGdw4z394qSBngUQvFi+wbHwhHX3EGbAxQ==", - "license": "MIT", - "dependencies": { - "@vueuse/core": "13.6.0", - "@vueuse/shared": "13.6.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "async-validator": "^4", - "axios": "^1", - "change-case": "^5", - "drauu": "^0.4", - "focus-trap": "^7", - "fuse.js": "^7", - "idb-keyval": "^6", - "jwt-decode": "^4", - "nprogress": "^0.2", - "qrcode": "^1.5", - "sortablejs": "^1", - "universal-cookie": "^7 || ^8", - "vue": "^3.5.0" - }, - "peerDependenciesMeta": { - "async-validator": { - "optional": true - }, - "axios": { - "optional": true - }, - "change-case": { - "optional": true - }, - "drauu": { - "optional": true - }, - "focus-trap": { - "optional": true - }, - "fuse.js": { - "optional": true - }, - "idb-keyval": { - "optional": true - }, - "jwt-decode": { - "optional": true - }, - "nprogress": { - "optional": true - }, - "qrcode": { - "optional": true - }, - "sortablejs": { - "optional": true - }, - "universal-cookie": { - "optional": true - } - } - }, - "node_modules/@vueuse/metadata": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-13.6.0.tgz", - "integrity": "sha512-rnIH7JvU7NjrpexTsl2Iwv0V0yAx9cw7+clymjKuLSXG0QMcLD0LDgdNmXic+qL0SGvgSVPEpM9IDO/wqo1vkQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@vueuse/shared": { - "version": "13.6.0", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-13.6.0.tgz", - "integrity": "sha512-pDykCSoS2T3fsQrYqf9SyF0QXWHmcGPQ+qiOVjlYSzlWd9dgppB2bFSM1GgKKkt7uzn0BBMV3IbJsUfHG2+BCg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vue": "^3.5.0" - } - }, "node_modules/@whatwg-node/disposablestack": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/@whatwg-node/disposablestack/-/disposablestack-0.0.6.tgz", @@ -7863,18 +6985,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "license": "Python-2.0" }, - "node_modules/aria-hidden": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.6.tgz", - "integrity": "sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -8128,18 +7238,6 @@ ], "license": "MIT" }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -8158,26 +7256,6 @@ "url": "https://github.com/sponsors/antfu" } }, - "node_modules/blob-to-buffer": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/blob-to-buffer/-/blob-to-buffer-1.2.9.tgz", - "integrity": "sha512-BF033y5fN6OCofD3vgHmNtwZWRcq9NLyyxyILx9hfMy1sXYy4ojFl765hJ2lP0YaN2fuxPaLO2Vzzoxy0FLFFA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, "node_modules/block-stream2": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/block-stream2/-/block-stream2-2.1.0.tgz", @@ -8214,15 +7292,6 @@ "node": ">=8" } }, - "node_modules/brotli": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", - "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", - "license": "MIT", - "dependencies": { - "base64-js": "^1.1.2" - } - }, "node_modules/browser-or-node": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/browser-or-node/-/browser-or-node-2.1.1.tgz", @@ -8609,15 +7678,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/cluster-key-slot": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", @@ -8709,12 +7769,6 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "license": "MIT" }, - "node_modules/colortranslator": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/colortranslator/-/colortranslator-5.0.0.tgz", - "integrity": "sha512-Z3UPUKasUVDFCDYAjP2fmlVRf1jFHJv1izAmPjiOa0OCIw1W7iC8PZ2GsoDa8uZv+mKyWopxxStT9q05+27h7w==", - "license": "Apache-2.0" - }, "node_modules/commander": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", @@ -8955,15 +8009,6 @@ "node": ">=18.0" } }, - "node_modules/cross-fetch": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", - "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", - "license": "MIT", - "dependencies": { - "node-fetch": "^2.7.0" - } - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -9588,12 +8633,6 @@ "wrappy": "1" } }, - "node_modules/dfa": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", - "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", - "license": "MIT" - }, "node_modules/diff": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.2.tgz", @@ -9747,94 +8786,6 @@ "integrity": "sha512-m1xWB3g7vJ6asIFz+2pBUbq3uGmfmln1M9SSvBe4QIFWYrRHylP73zL/3nMjDmwz8V+1xAXQDfBd6+HPW0WvDQ==", "license": "ISC" }, - "node_modules/embla-carousel": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel/-/embla-carousel-8.6.0.tgz", - "integrity": "sha512-SjWyZBHJPbqxHOzckOfo8lHisEaJWmwd23XppYFYVh10bU66/Pn5tkVkbkCMZVdbUE5eTCI2nD8OyIP4Z+uwkA==", - "license": "MIT" - }, - "node_modules/embla-carousel-auto-height": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-auto-height/-/embla-carousel-auto-height-8.6.0.tgz", - "integrity": "sha512-/HrJQOEM6aol/oF33gd2QlINcXy3e19fJWvHDuHWp2bpyTa+2dm9tVVJak30m2Qy6QyQ6Fc8DkImtv7pxWOJUQ==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.6.0" - } - }, - "node_modules/embla-carousel-auto-scroll": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-auto-scroll/-/embla-carousel-auto-scroll-8.6.0.tgz", - "integrity": "sha512-WT9fWhNXFpbQ6kP+aS07oF5IHYLZ1Dx4DkwgCY8Hv2ZyYd2KMCPfMV1q/cA3wFGuLO7GMgKiySLX90/pQkcOdQ==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.6.0" - } - }, - "node_modules/embla-carousel-autoplay": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-autoplay/-/embla-carousel-autoplay-8.6.0.tgz", - "integrity": "sha512-OBu5G3nwaSXkZCo1A6LTaFMZ8EpkYbwIaH+bPqdBnDGQ2fh4+NbzjXjs2SktoPNKCtflfVMc75njaDHOYXcrsA==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.6.0" - } - }, - "node_modules/embla-carousel-class-names": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-class-names/-/embla-carousel-class-names-8.6.0.tgz", - "integrity": "sha512-l1hm1+7GxQ+zwdU2sea/LhD946on7XO2qk3Xq2XWSwBaWfdgchXdK567yzLtYSHn4sWYdiX+x4nnaj+saKnJkw==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.6.0" - } - }, - "node_modules/embla-carousel-fade": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-fade/-/embla-carousel-fade-8.6.0.tgz", - "integrity": "sha512-qaYsx5mwCz72ZrjlsXgs1nKejSrW+UhkbOMwLgfRT7w2LtdEB03nPRI06GHuHv5ac2USvbEiX2/nAHctcDwvpg==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.6.0" - } - }, - "node_modules/embla-carousel-reactive-utils": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-reactive-utils/-/embla-carousel-reactive-utils-8.6.0.tgz", - "integrity": "sha512-fMVUDUEx0/uIEDM0Mz3dHznDhfX+znCCDCeIophYb1QGVM7YThSWX+wz11zlYwWFOr74b4QLGg0hrGPJeG2s4A==", - "license": "MIT", - "peerDependencies": { - "embla-carousel": "8.6.0" - } - }, - "node_modules/embla-carousel-vue": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/embla-carousel-vue/-/embla-carousel-vue-8.6.0.tgz", - "integrity": "sha512-v8UO5UsyLocZnu/LbfQA7Dn2QHuZKurJY93VUmZYP//QRWoCWOsionmvLLAlibkET3pGPs7++03VhJKbWD7vhQ==", - "license": "MIT", - "dependencies": { - "embla-carousel": "8.6.0", - "embla-carousel-reactive-utils": "8.6.0" - }, - "peerDependencies": { - "vue": "^3.2.37" - } - }, - "node_modules/embla-carousel-wheel-gestures": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/embla-carousel-wheel-gestures/-/embla-carousel-wheel-gestures-8.0.2.tgz", - "integrity": "sha512-gtE8xHRwMGsfsMAgco/QoYhvcxNoMLmFF0DaWH7FXJJWk8RlEZyiZHZRZL6TZVCgooo9/hKyYWITLaSZLIvkbQ==", - "license": "MIT", - "dependencies": { - "wheel-gestures": "^2.2.5" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "embla-carousel": "^8.0.0 || ~8.0.0-rc03" - } - }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -10549,39 +9500,6 @@ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", "license": "MIT" }, - "node_modules/fontaine": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/fontaine/-/fontaine-0.6.0.tgz", - "integrity": "sha512-cfKqzB62GmztJhwJ0YXtzNsmpqKAcFzTqsakJ//5COTzbou90LU7So18U+4D8z+lDXr4uztaAUZBonSoPDcj1w==", - "license": "MIT", - "dependencies": { - "@capsizecss/metrics": "^3.5.0", - "@capsizecss/unpack": "^2.4.0", - "css-tree": "^3.1.0", - "magic-regexp": "^0.10.0", - "magic-string": "^0.30.17", - "pathe": "^2.0.3", - "ufo": "^1.6.1", - "unplugin": "^2.3.2" - } - }, - "node_modules/fontkit": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-2.0.4.tgz", - "integrity": "sha512-syetQadaUEDNdxdugga9CpEYVaQIxOwk7GlwZWWZ19//qW4zE5bknOKeMBDYAASwnpaSHKJITRLMF9m1fp3s6g==", - "license": "MIT", - "dependencies": { - "@swc/helpers": "^0.5.12", - "brotli": "^1.3.2", - "clone": "^2.1.2", - "dfa": "^1.2.0", - "fast-deep-equal": "^3.1.3", - "restructure": "^3.0.0", - "tiny-inflate": "^1.0.3", - "unicode-properties": "^1.4.0", - "unicode-trie": "^2.0.0" - } - }, "node_modules/for-each": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", @@ -10950,18 +9868,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/globalthis": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", @@ -11965,18 +10871,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/is-boolean-object": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", @@ -12714,12 +11608,6 @@ "integrity": "sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==", "license": "MIT" }, - "node_modules/kolorist": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", - "license": "MIT" - }, "node_modules/kuler": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", @@ -12833,6 +11721,8 @@ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", "license": "MPL-2.0", + "optional": true, + "peer": true, "dependencies": { "detect-libc": "^2.0.3" }, @@ -12868,6 +11758,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -12888,6 +11779,7 @@ "os": [ "darwin" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -12908,6 +11800,7 @@ "os": [ "freebsd" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -12928,6 +11821,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -12948,6 +11842,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -12968,6 +11863,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -12988,6 +11884,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -13008,6 +11905,7 @@ "os": [ "linux" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -13028,6 +11926,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -13048,6 +11947,7 @@ "os": [ "win32" ], + "peer": true, "engines": { "node": ">= 12.0.0" }, @@ -14558,12 +13458,6 @@ "integrity": "sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==", "license": "MIT" }, - "node_modules/pako": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", - "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", - "license": "MIT" - }, "node_modules/parse-gitignore": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/parse-gitignore/-/parse-gitignore-2.0.0.tgz", @@ -15911,63 +14805,6 @@ "node": ">=6" } }, - "node_modules/reka-ui": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/reka-ui/-/reka-ui-2.3.2.tgz", - "integrity": "sha512-lCysSCILH2uqShEnt93/qzlXnB7ySvK7scR0Q5C+a2iXwFVzHhvZQsMaSnbQYueoCihx6yyUZTYECepnmKrbRA==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.6.13", - "@floating-ui/vue": "^1.1.6", - "@internationalized/date": "^3.5.0", - "@internationalized/number": "^3.5.0", - "@tanstack/vue-virtual": "^3.12.0", - "@vueuse/core": "^12.5.0", - "@vueuse/shared": "^12.5.0", - "aria-hidden": "^1.2.4", - "defu": "^6.1.4", - "ohash": "^2.0.11" - }, - "peerDependencies": { - "vue": ">= 3.2.0" - } - }, - "node_modules/reka-ui/node_modules/@vueuse/core": { - "version": "12.8.2", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz", - "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", - "license": "MIT", - "dependencies": { - "@types/web-bluetooth": "^0.0.21", - "@vueuse/metadata": "12.8.2", - "@vueuse/shared": "12.8.2", - "vue": "^3.5.13" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/reka-ui/node_modules/@vueuse/metadata": { - "version": "12.8.2", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.8.2.tgz", - "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/reka-ui/node_modules/@vueuse/shared": { - "version": "12.8.2", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.8.2.tgz", - "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", - "license": "MIT", - "dependencies": { - "vue": "^3.5.13" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -16033,12 +14870,6 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, - "node_modules/restructure": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/restructure/-/restructure-3.0.2.tgz", - "integrity": "sha512-gSfoiOEA0VPE6Tukkrr7I0RBdE0s7H1eFCDBk05l1KIQT1UIKNc5JZy6jdyW6eYH3aR3g5b3PuL77rq0hvwtAw==", - "license": "MIT" - }, "node_modules/reusify": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", @@ -17155,38 +15986,6 @@ "url": "https://www.buymeacoffee.com/systeminfo" } }, - "node_modules/tailwind-merge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.0.2.tgz", - "integrity": "sha512-l7z+OYZ7mu3DTqrL88RiKrKIqO3NcpEO8V/Od04bNpvk0kiIFndGEoqfuzvj4yuhRkHKjRkII2z+KS2HfPcSxw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwind-variants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/tailwind-variants/-/tailwind-variants-1.0.0.tgz", - "integrity": "sha512-2WSbv4ulEEyuBKomOunut65D8UZwxrHoRfYnxGcQNnHqlSCp2+B7Yz2W+yrNDrxRodOXtGD/1oCcKGNBnUqMqA==", - "license": "MIT", - "dependencies": { - "tailwind-merge": "3.0.2" - }, - "engines": { - "node": ">=16.x", - "pnpm": ">=7.x" - }, - "peerDependencies": { - "tailwindcss": "*" - } - }, - "node_modules/tailwindcss": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.11.tgz", - "integrity": "sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==", - "license": "MIT" - }, "node_modules/tapable": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", @@ -17332,12 +16131,6 @@ "readable-stream": "3" } }, - "node_modules/tiny-inflate": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", - "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", - "license": "MIT" - }, "node_modules/tiny-invariant": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", @@ -17738,16 +16531,6 @@ "node": ">=4" } }, - "node_modules/unicode-properties": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.4.1.tgz", - "integrity": "sha512-CLjCCLQ6UuMxWnbIylkisbRj31qxHPAurvena/0iwSVbQ2G1VY5/HjV0IRabOEbDHlzZlRdCrD4NhB0JtU40Pg==", - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.0", - "unicode-trie": "^2.0.0" - } - }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", @@ -17757,16 +16540,6 @@ "node": ">=4" } }, - "node_modules/unicode-trie": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", - "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", - "license": "MIT", - "dependencies": { - "pako": "^0.2.5", - "tiny-inflate": "^1.0.0" - } - }, "node_modules/unicorn-magic": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", @@ -17779,16 +16552,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unifont": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.4.1.tgz", - "integrity": "sha512-zKSY9qO8svWYns+FGKjyVdLvpGPwqmsCjeJLN1xndMiqxHWBAhoWDMYMG960MxeV48clBmG+fDP59dHY1VoZvg==", - "license": "MIT", - "dependencies": { - "css-tree": "^3.0.0", - "ohash": "^2.0.0" - } - }, "node_modules/unimport": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/unimport/-/unimport-5.2.0.tgz", @@ -17873,63 +16636,6 @@ "node": ">=18.12.0" } }, - "node_modules/unplugin-auto-import": { - "version": "19.3.0", - "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-19.3.0.tgz", - "integrity": "sha512-iIi0u4Gq2uGkAOGqlPJOAMI8vocvjh1clGTfSK4SOrJKrt+tirrixo/FjgBwXQNNdS7ofcr7OxzmOb/RjWxeEQ==", - "license": "MIT", - "dependencies": { - "local-pkg": "^1.1.1", - "magic-string": "^0.30.17", - "picomatch": "^4.0.2", - "unimport": "^4.2.0", - "unplugin": "^2.3.4", - "unplugin-utils": "^0.2.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@nuxt/kit": "^3.2.2", - "@vueuse/core": "*" - }, - "peerDependenciesMeta": { - "@nuxt/kit": { - "optional": true - }, - "@vueuse/core": { - "optional": true - } - } - }, - "node_modules/unplugin-auto-import/node_modules/unimport": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unimport/-/unimport-4.2.0.tgz", - "integrity": "sha512-mYVtA0nmzrysnYnyb3ALMbByJ+Maosee2+WyE0puXl+Xm2bUwPorPaaeZt0ETfuroPOtG8jj1g/qeFZ6buFnag==", - "license": "MIT", - "dependencies": { - "acorn": "^8.14.1", - "escape-string-regexp": "^5.0.0", - "estree-walker": "^3.0.3", - "local-pkg": "^1.1.1", - "magic-string": "^0.30.17", - "mlly": "^1.7.4", - "pathe": "^2.0.3", - "picomatch": "^4.0.2", - "pkg-types": "^2.1.0", - "scule": "^1.3.0", - "strip-literal": "^3.0.0", - "tinyglobby": "^0.2.12", - "unplugin": "^2.2.2", - "unplugin-utils": "^0.2.4" - }, - "engines": { - "node": ">=18.12.0" - } - }, "node_modules/unplugin-utils": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.5.tgz", @@ -17946,89 +16652,6 @@ "url": "https://github.com/sponsors/sxzz" } }, - "node_modules/unplugin-vue-components": { - "version": "28.8.0", - "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-28.8.0.tgz", - "integrity": "sha512-2Q6ZongpoQzuXDK0ZsVzMoshH0MWZQ1pzVL538G7oIDKRTVzHjppBDS8aB99SADGHN3lpGU7frraCG6yWNoL5Q==", - "license": "MIT", - "dependencies": { - "chokidar": "^3.6.0", - "debug": "^4.4.1", - "local-pkg": "^1.1.1", - "magic-string": "^0.30.17", - "mlly": "^1.7.4", - "tinyglobby": "^0.2.14", - "unplugin": "^2.3.5", - "unplugin-utils": "^0.2.4" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@babel/parser": "^7.15.8", - "@nuxt/kit": "^3.2.2 || ^4.0.0", - "vue": "2 || 3" - }, - "peerDependenciesMeta": { - "@babel/parser": { - "optional": true - }, - "@nuxt/kit": { - "optional": true - } - } - }, - "node_modules/unplugin-vue-components/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/unplugin-vue-components/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/unplugin-vue-components/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/unplugin-vue-router": { "version": "0.15.0", "resolved": "https://registry.npmjs.org/unplugin-vue-router/-/unplugin-vue-router-0.15.0.tgz", @@ -18346,114 +16969,6 @@ "spdx-expression-parse": "^3.0.0" } }, - "node_modules/vaul-vue": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/vaul-vue/-/vaul-vue-0.4.1.tgz", - "integrity": "sha512-A6jOWOZX5yvyo1qMn7IveoWN91mJI5L3BUKsIwkg6qrTGgHs1Sb1JF/vyLJgnbN1rH4OOOxFbtqL9A46bOyGUQ==", - "dependencies": { - "@vueuse/core": "^10.8.0", - "reka-ui": "^2.0.0", - "vue": "^3.4.5" - }, - "peerDependencies": { - "reka-ui": "^2.0.0", - "vue": "^3.3.0" - } - }, - "node_modules/vaul-vue/node_modules/@types/web-bluetooth": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", - "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", - "license": "MIT" - }, - "node_modules/vaul-vue/node_modules/@vueuse/core": { - "version": "10.11.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.11.1.tgz", - "integrity": "sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==", - "license": "MIT", - "dependencies": { - "@types/web-bluetooth": "^0.0.20", - "@vueuse/metadata": "10.11.1", - "@vueuse/shared": "10.11.1", - "vue-demi": ">=0.14.8" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/vaul-vue/node_modules/@vueuse/core/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/vaul-vue/node_modules/@vueuse/metadata": { - "version": "10.11.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.11.1.tgz", - "integrity": "sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/vaul-vue/node_modules/@vueuse/shared": { - "version": "10.11.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.11.1.tgz", - "integrity": "sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==", - "license": "MIT", - "dependencies": { - "vue-demi": ">=0.14.8" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/vaul-vue/node_modules/@vueuse/shared/node_modules/vue-demi": { - "version": "0.14.10", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.10.tgz", - "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, "node_modules/vite": { "version": "6.3.5", "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", @@ -18845,12 +17360,6 @@ "ufo": "^1.6.1" } }, - "node_modules/vue-component-type-helpers": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-3.0.5.tgz", - "integrity": "sha512-uoNZaJ+a1/zppa/Vgmi8zIOP2PHXDN2rT8NyF+zQRK6ZG94lNB9prcV0GdLJbY9i9lrD47JOVIH92SaiA7oJ1A==", - "license": "MIT" - }, "node_modules/vue-country-flag-next": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/vue-country-flag-next/-/vue-country-flag-next-2.3.2.tgz", @@ -19084,15 +17593,6 @@ "webidl-conversions": "^3.0.0" } }, - "node_modules/wheel-gestures": { - "version": "2.2.48", - "resolved": "https://registry.npmjs.org/wheel-gestures/-/wheel-gestures-2.2.48.tgz", - "integrity": "sha512-f+Gy33Oa5Z14XY9679Zze+7VFhbsQfBFXodnU2x589l4kxGM9L5Y8zETTmcMR5pWOPQyRv4Z0lNax6xCO0NSlA==", - "license": "MIT", - "engines": { - "node": ">=18" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index 1930866..d07dde4 100644 --- a/package.json +++ b/package.json @@ -15,13 +15,11 @@ "@fullcalendar/interaction": "^6.1.19", "@fullcalendar/list": "^6.1.19", "@fullcalendar/vue3": "^6.1.19", - "@nuxt/ui": "^3.2.0", "@nuxtjs/device": "^3.2.4", "@types/handlebars": "^4.0.40", "@types/jsonwebtoken": "^9.0.10", "@types/nodemailer": "^6.4.17", "@vite-pwa/nuxt": "^0.10.8", - "@vuepic/vue-datepicker": "^11.0.2", "cookie": "^0.6.0", "date-fns": "^4.1.0", "flag-icons": "^7.5.0", diff --git a/plugins/01.auth-check.client.ts b/plugins/auth-check.client.ts similarity index 100% rename from plugins/01.auth-check.client.ts rename to plugins/auth-check.client.ts diff --git a/plugins/04.config-cache-init.client.ts b/plugins/config-cache-init.client.ts similarity index 100% rename from plugins/04.config-cache-init.client.ts rename to plugins/config-cache-init.client.ts diff --git a/plugins/03.mobile-safari-fixes.client.ts b/plugins/mobile-safari-fixes.client.ts similarity index 100% rename from plugins/03.mobile-safari-fixes.client.ts rename to plugins/mobile-safari-fixes.client.ts diff --git a/plugins/02.unregister-sw.client.ts b/plugins/service-worker-cleanup.client.ts similarity index 100% rename from plugins/02.unregister-sw.client.ts rename to plugins/service-worker-cleanup.client.ts diff --git a/plugins/vue-datepicker.client.ts b/plugins/vue-datepicker.client.ts deleted file mode 100644 index 6ba5dc7..0000000 --- a/plugins/vue-datepicker.client.ts +++ /dev/null @@ -1,6 +0,0 @@ -import VueDatePicker from '@vuepic/vue-datepicker' -import '@vuepic/vue-datepicker/dist/main.css' - -export default defineNuxtPlugin((nuxtApp) => { - nuxtApp.vueApp.component('VueDatePicker', VueDatePicker) -}) diff --git a/plugins/vuetify-date-input.client.ts b/plugins/vuetify-date-input.client.ts new file mode 100644 index 0000000..f134767 --- /dev/null +++ b/plugins/vuetify-date-input.client.ts @@ -0,0 +1,7 @@ +// plugins/vuetify-date-input.client.ts +import { VDateInput } from 'vuetify/labs/VDateInput' + +export default defineNuxtPlugin((nuxtApp) => { + // Register VDateInput from Vuetify Labs + nuxtApp.vueApp.component('VDateInput', VDateInput) +}) diff --git a/server/api/events/[id]/rsvp.post.ts b/server/api/events/[id]/rsvp.post.ts index 69453e0..36edbba 100644 --- a/server/api/events/[id]/rsvp.post.ts +++ b/server/api/events/[id]/rsvp.post.ts @@ -117,10 +117,24 @@ export default defineEventHandler(async (event) => { } } + // Get the event to find the proper event_id for RSVP tracking + let rsvpEventId = eventId; // Default to the provided eventId + try { + // Try to get the event_id field if it exists in the event + if (eventDetails.event_id) { + rsvpEventId = eventDetails.event_id; + console.log('[RSVP] Using event.event_id for RSVP:', rsvpEventId); + } else { + console.log('[RSVP] Using provided eventId for RSVP:', rsvpEventId); + } + } catch (eventIdError) { + console.log('[RSVP] Could not get event_id, using provided eventId:', rsvpEventId); + } + // Create RSVP record const rsvpData = { record_type: 'rsvp', - event_id: eventId, + event_id: rsvpEventId, // Use the business event_id field member_id: member.member_id || member.Id, rsvp_status: body.rsvp_status, payment_status: paymentStatus, diff --git a/server/api/events/index.post.ts b/server/api/events/index.post.ts index 7a87c92..f7e59cd 100644 --- a/server/api/events/index.post.ts +++ b/server/api/events/index.post.ts @@ -3,6 +3,15 @@ import { createNocoDBEventsClient } from '~/server/utils/nocodb-events'; import { createSessionManager } from '~/server/utils/session'; import type { EventCreateRequest } from '~/utils/types'; +/** + * Generate a unique event ID + */ +function generateEventId(): string { + const timestamp = Date.now().toString(36); + const randomStr = Math.random().toString(36).substring(2, 8); + return `EVT-${timestamp}-${randomStr}`.toUpperCase(); +} + export default defineEventHandler(async (event) => { console.log('[api/events.post] ========================='); console.log('[api/events.post] POST /api/events - Create event'); @@ -98,8 +107,13 @@ export default defineEventHandler(async (event) => { const eventsClient = createNocoDBEventsClient(); + // Generate unique event_id + const eventId = generateEventId(); + console.log('[api/events.post] Generated event_id:', eventId); + // Prepare event data const eventData = { + event_id: eventId, // Add the business identifier title: body.title.trim(), description: body.description?.trim() || '', event_type: body.event_type as 'meeting' | 'social' | 'fundraiser' | 'workshop' | 'board-only',