Fixed calendar event issues ?

This commit is contained in:
Alexis
2025-02-27 22:25:28 +01:00
parent 8ff5d5941a
commit 8eecad6488
4 changed files with 1232 additions and 1009 deletions

View File

@@ -13,23 +13,23 @@
"lint:prettier": "prettier . --check" "lint:prettier": "prettier . --check"
}, },
"dependencies": { "dependencies": {
"@nuxt/eslint": "^1.0.1", "@nuxt/eslint": "^1.1.0",
"@nuxthub/core": "^0.8.17", "@nuxthub/core": "^0.8.17",
"@nuxtjs/i18n": "^9.2.0", "@nuxtjs/i18n": "^9.2.1",
"@phosphor-icons/vue": "^2.2.1", "@phosphor-icons/vue": "^2.2.1",
"@pinia/nuxt": "^0.10.1", "@pinia/nuxt": "^0.10.1",
"@vueuse/core": "^12.6.1", "@vueuse/core": "^12.7.0",
"@vueuse/integrations": "^12.6.1", "@vueuse/integrations": "^12.7.0",
"@vueuse/nuxt": "^12.6.1", "@vueuse/nuxt": "^12.7.0",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"lucide-vue-next": "^0.475.0", "lucide-vue-next": "^0.475.0",
"nuxt": "^3.15.4", "nuxt": "^3.15.4",
"pinia": "^3.0.1", "pinia": "^3.0.1",
"radix-vue": "^1.9.14", "radix-vue": "^1.9.16",
"shadcn-nuxt": "^0.11.3", "shadcn-nuxt": "^0.11.4",
"sortablejs": "^1.15.6", "sortablejs": "^1.15.6",
"tailwind-merge": "^3.0.1", "tailwind-merge": "^3.0.2",
"tailwindcss-animate": "^1.0.7", "tailwindcss-animate": "^1.0.7",
"vue": "^3.5.13", "vue": "^3.5.13",
"vue-router": "^4.5.0", "vue-router": "^4.5.0",
@@ -40,17 +40,17 @@
"@nuxtjs/supabase": "^1.4.6", "@nuxtjs/supabase": "^1.4.6",
"@nuxtjs/tailwindcss": "^6.13.1", "@nuxtjs/tailwindcss": "^6.13.1",
"@stylistic/eslint-plugin-js": "^3.1.0", "@stylistic/eslint-plugin-js": "^3.1.0",
"@typescript-eslint/eslint-plugin": "^8.24.0", "@typescript-eslint/eslint-plugin": "^8.25.0",
"@typescript-eslint/parser": "^8.24.0", "@typescript-eslint/parser": "^8.25.0",
"eslint": "^9.20.1", "eslint": "^9.21.0",
"eslint-config-prettier": "^10.0.1", "eslint-config-prettier": "^10.0.2",
"eslint-plugin-prettier": "^5.2.3", "eslint-plugin-prettier": "^5.2.3",
"eslint-plugin-vue": "^9.32.0", "eslint-plugin-vue": "^9.32.0",
"postcss": "^8.5.2", "postcss": "^8.5.3",
"prettier": "^3.5.1", "prettier": "^3.5.2",
"sass": "^1.85.0", "sass": "^1.85.1",
"tailwindcss": "^3.4.17", "tailwindcss": "^3.4.17",
"typescript": "^5.7.3", "typescript": "^5.7.3",
"wrangler": "^3.109.1" "wrangler": "^3.111.0"
} }
} }

View File

@@ -8,11 +8,8 @@ const shortId = route.params.id
const user = useSupabaseUser() const user = useSupabaseUser()
const { data: calendarData, pending: calPending, refresh: calRefresh } = await useLazyFetch("/api/calendars/query", { key: `calendar-${shortId}`, query: { shortId, full: true } }) const { data: calendarData, pending: calPending, refresh: calRefresh } = await useLazyFetch<{ data: Calendar }>("/api/calendars/query", { query: { shortId, full: true } })
const { data: catData, pending: catPending, refresh: catRefresh } = await useLazyFetch("/api/calendars/categories/query", { key: `categories-${shortId}` }) const { data: catData, pending: catPending, refresh: catRefresh } = await useLazyFetch<{ data: Category[] }>("/api/calendars/categories/query")
const cal = computed<Calendar>(() => calendarData?.value?.data as Calendar)
const categories = computed<Category[]>(() => catData?.value?.data as Category[])
watch(user, () => { watch(user, () => {
calRefresh() calRefresh()
@@ -34,12 +31,12 @@ watch(user, () => {
</div> </div>
</div> </div>
<div v-else-if="cal && categories" class="h-full w-full"> <div v-else-if="calendarData && catData" class="h-full w-full">
<Head> <Head>
<Title>{{ cal.name }}</Title> <Title>{{ calendarData.data.name }}</Title>
</Head> </Head>
<Calendar :calendar-data="cal" :categories /> <Calendar :calendar-data="calendarData.data" :categories="catData.data" />
</div> </div>
<div v-else class="h-full w-full grid place-items-center"> <div v-else class="h-full w-full grid place-items-center">

2194
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -12,8 +12,6 @@ export default defineEventHandler(async (event) => {
const client = await serverSupabaseClient(event) const client = await serverSupabaseClient(event)
const query = await getValidatedQuery(event, querySchema.parse) const query = await getValidatedQuery(event, querySchema.parse)
setHeader(event, "Cache-Control", "public, max-age=3600, s-maxage=7200")
const partialFields = ` const partialFields = `
id, id,
shortId:short_id, shortId:short_id,