Switch termine loading from static CSV to dynamic API for instant updates
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import { defineComponent, shallowRef, h, resolveComponent, hasInjectionContext, inject, computed, getCurrentInstance, createElementBlock, provide, cloneVNode, ref, Suspense, Fragment, createApp, shallowReactive, mergeProps, unref, withCtx, createTextVNode, toRef, onErrorCaptured, onServerPrefetch, createVNode, resolveDynamicComponent, reactive, effectScope, isReadonly, isRef, isShallow, isReactive, toRaw, defineAsyncComponent, getCurrentScope, toDisplayString, useSSRContext } from 'vue';
|
||||
import process from 'node:process';globalThis._importMeta_=globalThis._importMeta_||{url:"file:///_entry.js",env:process.env};import { defineComponent, shallowRef, h, resolveComponent, hasInjectionContext, inject, computed, getCurrentInstance, createElementBlock, provide, cloneVNode, ref, Suspense, Fragment, createApp, shallowReactive, mergeProps, withCtx, createVNode, createTextVNode, unref, toDisplayString, toRef, onErrorCaptured, onServerPrefetch, resolveDynamicComponent, reactive, effectScope, isReadonly, isRef, isShallow, isReactive, toRaw, defineAsyncComponent, getCurrentScope, useSSRContext } from 'vue';
|
||||
import { p as parseQuery, c as createError$1, o as hasProtocol, q as isScriptProtocol, m as joinURL, w as withQuery, t as sanitizeStatusCode, v as withTrailingSlash, x as withoutTrailingSlash, y as getContext, $ as $fetch$1, z as createHooks, A as executeAsync, B as toRouteMatcher, C as createRouter$1, D as defu } from '../nitro/nitro.mjs';
|
||||
import { b as baseURL } from '../routes/renderer.mjs';
|
||||
import { defineStore, createPinia, setActivePinia, shouldHydrate } from 'pinia';
|
||||
import { RouterView, useRouter as useRouter$1, createMemoryHistory, createRouter, START_LOCATION, useRoute as useRoute$1 } from 'vue-router';
|
||||
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderSuspense, ssrRenderVNode, ssrRenderAttr, ssrRenderStyle, ssrRenderClass, ssrRenderList } from 'vue/server-renderer';
|
||||
import { User, ChevronUp, X, Menu, ChevronDown } from 'lucide-vue-next';
|
||||
import { RouterView, useRoute as useRoute$1, useRouter as useRouter$1, createMemoryHistory, createRouter, START_LOCATION } from 'vue-router';
|
||||
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderAttr, ssrRenderStyle, ssrRenderClass, ssrRenderList, ssrInterpolate, ssrRenderSuspense, ssrRenderVNode } from 'vue/server-renderer';
|
||||
import { ChevronDown, X, Menu, User, ChevronUp } from 'lucide-vue-next';
|
||||
import 'node:http';
|
||||
import 'node:https';
|
||||
import 'node:events';
|
||||
@@ -1414,6 +1414,7 @@ const _sfc_main$4 = {
|
||||
const mobileSubmenu = ref(null);
|
||||
const mannschaften = ref([]);
|
||||
const hasGalleryImages = ref(false);
|
||||
const showCmsDropdown = ref(false);
|
||||
const isLoggedIn = computed(() => authStore.isLoggedIn);
|
||||
const isAdmin = computed(() => authStore.isAdmin);
|
||||
const currentSubmenu = computed(() => {
|
||||
@@ -1855,40 +1856,99 @@ const _sfc_main$4 = {
|
||||
_: 1
|
||||
}, _parent));
|
||||
if (isAdmin.value) {
|
||||
_push(`<!--[--><div class="h-3 w-px bg-primary-700"></div>`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/cms",
|
||||
class: "px-2.5 py-1 text-xs text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded transition-all",
|
||||
"active-class": "text-white bg-primary-600"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` CMS `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" CMS ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/cms/benutzer",
|
||||
class: "px-2.5 py-1 text-xs text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded transition-all",
|
||||
"active-class": "text-white bg-primary-600"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Benutzerverwaltung `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Benutzerverwaltung ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(`<!--]-->`);
|
||||
_push(`<!--[--><div class="h-3 w-px bg-primary-700"></div><div class="relative inline-block"><button class="${ssrRenderClass([unref(route).path.startsWith("/cms") ? "text-white bg-primary-600" : "", "px-2.5 py-1 text-xs text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded transition-all flex items-center"])}"> CMS `);
|
||||
_push(ssrRenderComponent(unref(ChevronDown), {
|
||||
size: 12,
|
||||
class: ["ml-1", ["transition-transform", showCmsDropdown.value ? "rotate-180" : ""]]
|
||||
}, null, _parent));
|
||||
_push(`</button>`);
|
||||
if (showCmsDropdown.value) {
|
||||
_push(`<div class="absolute left-0 top-full mt-1 w-48 bg-gray-800 border border-gray-700 rounded-lg shadow-xl overflow-hidden z-50">`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/cms",
|
||||
onClick: ($event) => showCmsDropdown.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Übersicht `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Übersicht ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/mitgliederbereich/news",
|
||||
onClick: ($event) => showCmsDropdown.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Interne News `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Interne News ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/cms/termine",
|
||||
onClick: ($event) => showCmsDropdown.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Termine `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Termine ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/mitgliederbereich/mitglieder",
|
||||
onClick: ($event) => showCmsDropdown.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Mitglieder `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Mitglieder ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/cms/benutzer",
|
||||
onClick: ($event) => showCmsDropdown.value = false,
|
||||
class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Benutzerverwaltung `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Benutzerverwaltung ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(`</div>`);
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
_push(`</div><!--]-->`);
|
||||
} else {
|
||||
_push(`<!---->`);
|
||||
}
|
||||
@@ -2310,14 +2370,62 @@ const _sfc_main$4 = {
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/cms",
|
||||
onClick: ($event) => isMobileMenuOpen.value = false,
|
||||
class: "block px-4 py-2 text-sm font-semibold text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` CMS Übersicht `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" CMS Übersicht ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/mitgliederbereich/news",
|
||||
onClick: ($event) => isMobileMenuOpen.value = false,
|
||||
class: "block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` CMS `);
|
||||
_push2(` Interne News `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" CMS ")
|
||||
createTextVNode(" Interne News ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/cms/termine",
|
||||
onClick: ($event) => isMobileMenuOpen.value = false,
|
||||
class: "block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Termine `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Termine ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
_: 1
|
||||
}, _parent));
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/mitgliederbereich/mitglieder",
|
||||
onClick: ($event) => isMobileMenuOpen.value = false,
|
||||
class: "block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"
|
||||
}, {
|
||||
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
||||
if (_push2) {
|
||||
_push2(` Mitglieder `);
|
||||
} else {
|
||||
return [
|
||||
createTextVNode(" Mitglieder ")
|
||||
];
|
||||
}
|
||||
}),
|
||||
@@ -2381,6 +2489,7 @@ _sfc_main$4.setup = (props, ctx) => {
|
||||
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Navigation.vue");
|
||||
return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0;
|
||||
};
|
||||
const Navigation = Object.assign(_sfc_main$4, { __name: "Navigation" });
|
||||
const _sfc_main$3 = {
|
||||
__name: "Footer",
|
||||
__ssrInlineRender: true,
|
||||
@@ -2511,7 +2620,7 @@ const _sfc_main$2 = {
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
const _component_NuxtPage = __nuxt_component_0;
|
||||
_push(`<div${ssrRenderAttrs(mergeProps({ class: "h-screen flex flex-col overflow-hidden" }, _attrs))}>`);
|
||||
_push(ssrRenderComponent(_sfc_main$4, null, null, _parent));
|
||||
_push(ssrRenderComponent(Navigation, null, null, _parent));
|
||||
_push(`<main class="flex-1 overflow-y-auto pt-20">`);
|
||||
_push(ssrRenderComponent(_component_NuxtPage, null, null, _parent));
|
||||
_push(`</main>`);
|
||||
|
||||
Reference in New Issue
Block a user