Fix cookie secure flag for HTTP testing and add Pinia store
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
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, ref, Suspense, Fragment, createApp, provide, shallowReactive, mergeProps, unref, withCtx, createTextVNode, toRef, onErrorCaptured, onServerPrefetch, createVNode, resolveDynamicComponent, reactive, effectScope, isReadonly, isRef, isShallow, isReactive, toRaw, defineAsyncComponent, getCurrentScope, toDisplayString, 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, z as createHooks, A as executeAsync, B as toRouteMatcher, C as createRouter$1, D as defu } from '../nitro/nitro.mjs';
|
||||
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 { 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';
|
||||
@@ -18,7 +19,7 @@ import 'devalue';
|
||||
import 'unhead/utils';
|
||||
|
||||
if (!globalThis.$fetch) {
|
||||
globalThis.$fetch = $fetch.create({
|
||||
globalThis.$fetch = $fetch$1.create({
|
||||
baseURL: baseURL()
|
||||
});
|
||||
}
|
||||
@@ -208,6 +209,7 @@ function defineNuxtPlugin(plugin2) {
|
||||
return Object.assign(plugin2.setup || (() => {
|
||||
}), plugin2, { [NuxtPluginIndicator]: true, _name });
|
||||
}
|
||||
const definePayloadPlugin = defineNuxtPlugin;
|
||||
function callWithNuxt(nuxt, setup, args) {
|
||||
const fn = () => setup();
|
||||
const nuxtAppCtx = getNuxtAppCtx(nuxt._id);
|
||||
@@ -362,6 +364,28 @@ const createError = (error) => {
|
||||
});
|
||||
return nuxtError;
|
||||
};
|
||||
async function getRouteRules(arg) {
|
||||
const path = typeof arg === "string" ? arg : arg.path;
|
||||
{
|
||||
useNuxtApp().ssrContext._preloadManifest = true;
|
||||
const _routeRulesMatcher = toRouteMatcher(
|
||||
createRouter$1({ routes: (/* @__PURE__ */ useRuntimeConfig()).nitro.routeRules })
|
||||
);
|
||||
return defu({}, ..._routeRulesMatcher.matchAll(path).reverse());
|
||||
}
|
||||
}
|
||||
function definePayloadReducer(name, reduce) {
|
||||
{
|
||||
useNuxtApp().ssrContext._payloadReducers[name] = reduce;
|
||||
}
|
||||
}
|
||||
const payloadPlugin = definePayloadPlugin(() => {
|
||||
definePayloadReducer(
|
||||
"skipHydrate",
|
||||
// We need to return something truthy to be treated as a match
|
||||
(data) => !shouldHydrate(data) && 1
|
||||
);
|
||||
});
|
||||
const unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU = /* @__PURE__ */ defineNuxtPlugin({
|
||||
name: "nuxt:head",
|
||||
enforce: "pre",
|
||||
@@ -373,16 +397,6 @@ const unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU = /* @__PURE__ */ defin
|
||||
function toArray(value) {
|
||||
return Array.isArray(value) ? value : [value];
|
||||
}
|
||||
async function getRouteRules(arg) {
|
||||
const path = typeof arg === "string" ? arg : arg.path;
|
||||
{
|
||||
useNuxtApp().ssrContext._preloadManifest = true;
|
||||
const _routeRulesMatcher = toRouteMatcher(
|
||||
createRouter$1({ routes: (/* @__PURE__ */ useRuntimeConfig()).nitro.routeRules })
|
||||
);
|
||||
return defu({}, ..._routeRulesMatcher.matchAll(path).reverse());
|
||||
}
|
||||
}
|
||||
const __nuxt_page_meta = {
|
||||
layout: "default"
|
||||
};
|
||||
@@ -390,151 +404,151 @@ const _routes = [
|
||||
{
|
||||
name: "index",
|
||||
path: "/",
|
||||
component: () => import('./index-DNNo-ri8.mjs')
|
||||
component: () => import('./index-mblkcwgM.mjs')
|
||||
},
|
||||
{
|
||||
name: "login",
|
||||
path: "/login",
|
||||
meta: __nuxt_page_meta || {},
|
||||
component: () => import('./login-UYxkHMSA.mjs')
|
||||
component: () => import('./login-BdWGyHdA.mjs')
|
||||
},
|
||||
{
|
||||
name: "anlagen",
|
||||
path: "/anlagen",
|
||||
component: () => import('./anlagen-DZVZwc54.mjs')
|
||||
component: () => import('./anlagen-tpcA4Hv2.mjs')
|
||||
},
|
||||
{
|
||||
name: "galerie",
|
||||
path: "/galerie",
|
||||
component: () => import('./galerie-CKkERrvu.mjs')
|
||||
component: () => import('./galerie-CoMmWwEg.mjs')
|
||||
},
|
||||
{
|
||||
name: "kontakt",
|
||||
path: "/kontakt",
|
||||
component: () => import('./kontakt-CvPL2iTP.mjs')
|
||||
component: () => import('./kontakt-DXDMYVtx.mjs')
|
||||
},
|
||||
{
|
||||
name: "satzung",
|
||||
path: "/satzung",
|
||||
component: () => import('./satzung-B1EyxnEP.mjs')
|
||||
component: () => import('./satzung-FqIDL6FT.mjs')
|
||||
},
|
||||
{
|
||||
name: "termine",
|
||||
path: "/termine",
|
||||
component: () => import('./termine-CjI7RQkI.mjs')
|
||||
component: () => import('./termine-ZiVCG4zJ.mjs')
|
||||
},
|
||||
{
|
||||
name: "vorstand",
|
||||
path: "/vorstand",
|
||||
component: () => import('./vorstand-CTvU3sk9.mjs')
|
||||
component: () => import('./vorstand-CFLwDNhn.mjs')
|
||||
},
|
||||
{
|
||||
name: "cms",
|
||||
path: "/cms",
|
||||
meta: { "middleware": "auth" },
|
||||
component: () => import('./index-Di6P3gtk.mjs')
|
||||
component: () => import('./index-CDfPDFNK.mjs')
|
||||
},
|
||||
{
|
||||
name: "impressum",
|
||||
path: "/impressum",
|
||||
component: () => import('./impressum-C5x7htZh.mjs')
|
||||
component: () => import('./impressum-BJL_VXpe.mjs')
|
||||
},
|
||||
{
|
||||
name: "tt-regeln",
|
||||
path: "/tt-regeln",
|
||||
component: () => import('./tt-regeln-BZWHc7KZ.mjs')
|
||||
component: () => import('./tt-regeln-DyKJvBml.mjs')
|
||||
},
|
||||
{
|
||||
name: "ueber-uns",
|
||||
path: "/ueber-uns",
|
||||
component: () => import('./ueber-uns-BgGrxPpm.mjs')
|
||||
component: () => import('./ueber-uns-pGQi6hRz.mjs')
|
||||
},
|
||||
{
|
||||
name: "geschichte",
|
||||
path: "/geschichte",
|
||||
component: () => import('./geschichte-_GJnsN3v.mjs')
|
||||
component: () => import('./geschichte-DSCikZtf.mjs')
|
||||
},
|
||||
{
|
||||
name: "cms-benutzer",
|
||||
path: "/cms/benutzer",
|
||||
meta: { "middleware": "auth" },
|
||||
component: () => import('./benutzer-D4aaeGzm.mjs')
|
||||
component: () => import('./benutzer-CEqkQsLi.mjs')
|
||||
},
|
||||
{
|
||||
name: "registrieren",
|
||||
path: "/registrieren",
|
||||
component: () => import('./registrieren-x584k-EW.mjs')
|
||||
component: () => import('./registrieren-DS8LMhBE.mjs')
|
||||
},
|
||||
{
|
||||
name: "spielsysteme",
|
||||
path: "/spielsysteme",
|
||||
component: () => import('./spielsysteme-Bnq6t-L4.mjs')
|
||||
component: () => import('./spielsysteme-CdvH6qFp.mjs')
|
||||
},
|
||||
{
|
||||
name: "mitgliedschaft",
|
||||
path: "/mitgliedschaft",
|
||||
component: () => import('./mitgliedschaft-CtYFHuYj.mjs')
|
||||
component: () => import('./mitgliedschaft-ItL-1heT.mjs')
|
||||
},
|
||||
{
|
||||
name: "training",
|
||||
path: "/training",
|
||||
component: () => import('./index-BTKjtPbN.mjs')
|
||||
component: () => import('./index-Dnh6tx7H.mjs')
|
||||
},
|
||||
{
|
||||
name: "training-trainer",
|
||||
path: "/training/trainer",
|
||||
component: () => import('./trainer-CjEe4OtY.mjs')
|
||||
component: () => import('./trainer-CcVTsygv.mjs')
|
||||
},
|
||||
{
|
||||
name: "mannschaften-damen",
|
||||
path: "/mannschaften/damen",
|
||||
component: () => import('./damen-Cc1AuKQL.mjs')
|
||||
component: () => import('./damen-DuM0biIS.mjs')
|
||||
},
|
||||
{
|
||||
name: "mannschaften",
|
||||
path: "/mannschaften",
|
||||
component: () => import('./index-vLmOCJh4.mjs')
|
||||
component: () => import('./index-DUWe6TYg.mjs')
|
||||
},
|
||||
{
|
||||
name: "passwort-vergessen",
|
||||
path: "/passwort-vergessen",
|
||||
component: () => import('./passwort-vergessen-bF4OFsu5.mjs')
|
||||
component: () => import('./passwort-vergessen-D8jfiCTL.mjs')
|
||||
},
|
||||
{
|
||||
name: "training-anfaenger",
|
||||
path: "/training/anfaenger",
|
||||
component: () => import('./anfaenger-BL6O-iHL.mjs')
|
||||
component: () => import('./anfaenger-Cj28UOue.mjs')
|
||||
},
|
||||
{
|
||||
name: "mannschaften-slug",
|
||||
path: "/mannschaften/:slug()",
|
||||
component: () => import('./_slug_-BEHYKHP5.mjs')
|
||||
component: () => import('./_slug_-CcxmD4wa.mjs')
|
||||
},
|
||||
{
|
||||
name: "mannschaften-herren",
|
||||
path: "/mannschaften/herren",
|
||||
component: () => import('./herren-CMQFxGvZ.mjs')
|
||||
component: () => import('./herren-Cfh4Z8oD.mjs')
|
||||
},
|
||||
{
|
||||
name: "mannschaften-jugend",
|
||||
path: "/mannschaften/jugend",
|
||||
component: () => import('./jugend-BKTgWzcA.mjs')
|
||||
component: () => import('./jugend-CDQZwKSx.mjs')
|
||||
},
|
||||
{
|
||||
name: "vereinsmeisterschaften",
|
||||
path: "/vereinsmeisterschaften",
|
||||
component: () => import('./vereinsmeisterschaften-BWzarjkV.mjs')
|
||||
component: () => import('./vereinsmeisterschaften-B9yng3Zq.mjs')
|
||||
},
|
||||
{
|
||||
name: "mitgliederbereich",
|
||||
path: "/mitgliederbereich",
|
||||
meta: { "middleware": "auth" },
|
||||
component: () => import('./index-Djv2EYWD.mjs')
|
||||
component: () => import('./index-YkMqKAlL.mjs')
|
||||
},
|
||||
{
|
||||
name: "mannschaften-spielplaene",
|
||||
path: "/mannschaften/spielplaene",
|
||||
component: () => import('./spielplaene-x8nFGpj2.mjs')
|
||||
component: () => import('./spielplaene-DVdlC_Hk.mjs')
|
||||
}
|
||||
];
|
||||
const ROUTE_KEY_PARENTHESES_RE = /(:\w+)\([^)]+\)/g;
|
||||
@@ -652,9 +666,9 @@ const globalMiddleware = [
|
||||
manifest_45route_45rule
|
||||
];
|
||||
const namedMiddleware = {
|
||||
auth: () => import('./auth-DLmcIH86.mjs')
|
||||
auth: () => import('./auth-DIPdM0XJ.mjs')
|
||||
};
|
||||
const plugin = /* @__PURE__ */ defineNuxtPlugin({
|
||||
const plugin$1 = /* @__PURE__ */ defineNuxtPlugin({
|
||||
name: "nuxt:router",
|
||||
enforce: "pre",
|
||||
async setup(nuxtApp) {
|
||||
@@ -850,11 +864,6 @@ const plugin = /* @__PURE__ */ defineNuxtPlugin({
|
||||
return { provide: { router } };
|
||||
}
|
||||
});
|
||||
function definePayloadReducer(name, reduce) {
|
||||
{
|
||||
useNuxtApp().ssrContext._payloadReducers[name] = reduce;
|
||||
}
|
||||
}
|
||||
const reducers = [
|
||||
["NuxtError", (data) => isNuxtError(data) && data.toJSON()],
|
||||
["EmptyShallowRef", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_")],
|
||||
@@ -872,98 +881,43 @@ const revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms = /* @__
|
||||
}
|
||||
}
|
||||
});
|
||||
const components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4 = /* @__PURE__ */ defineNuxtPlugin({
|
||||
name: "nuxt:global-components"
|
||||
});
|
||||
const plugins = [
|
||||
unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU,
|
||||
plugin,
|
||||
revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms,
|
||||
components_plugin_z4hgvsiddfKkfXTP6M8M4zG5Cb7sGnDhcryKVM45Di4
|
||||
];
|
||||
const defineRouteProvider = (name = "RouteProvider") => defineComponent({
|
||||
name,
|
||||
props: {
|
||||
route: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
vnode: Object,
|
||||
vnodeRef: Object,
|
||||
renderKey: String,
|
||||
trackRootNodes: Boolean
|
||||
},
|
||||
setup(props) {
|
||||
const previousKey = props.renderKey;
|
||||
const previousRoute = props.route;
|
||||
const route = {};
|
||||
for (const key in props.route) {
|
||||
Object.defineProperty(route, key, {
|
||||
get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],
|
||||
enumerable: true
|
||||
});
|
||||
}
|
||||
provide(PageRouteSymbol, shallowReactive(route));
|
||||
return () => {
|
||||
if (!props.vnode) {
|
||||
return props.vnode;
|
||||
}
|
||||
return h(props.vnode, { ref: props.vnodeRef });
|
||||
};
|
||||
defineComponent({
|
||||
name: "ServerPlaceholder",
|
||||
render() {
|
||||
return createElementBlock("div");
|
||||
}
|
||||
});
|
||||
const RouteProvider = defineRouteProvider();
|
||||
const __nuxt_component_0$1 = defineComponent({
|
||||
name: "NuxtPage",
|
||||
const clientOnlySymbol = Symbol.for("nuxt:client-only");
|
||||
defineComponent({
|
||||
name: "ClientOnly",
|
||||
inheritAttrs: false,
|
||||
props: {
|
||||
name: {
|
||||
type: String
|
||||
},
|
||||
transition: {
|
||||
type: [Boolean, Object],
|
||||
default: void 0
|
||||
},
|
||||
keepalive: {
|
||||
type: [Boolean, Object],
|
||||
default: void 0
|
||||
},
|
||||
route: {
|
||||
type: Object
|
||||
},
|
||||
pageKey: {
|
||||
type: [Function, String],
|
||||
default: null
|
||||
props: ["fallback", "placeholder", "placeholderTag", "fallbackTag"],
|
||||
...false,
|
||||
setup(props, { slots, attrs }) {
|
||||
const mounted = shallowRef(false);
|
||||
const vm = getCurrentInstance();
|
||||
if (vm) {
|
||||
vm._nuxtClientOnly = true;
|
||||
}
|
||||
},
|
||||
setup(props, { attrs, slots, expose }) {
|
||||
const nuxtApp = useNuxtApp();
|
||||
const pageRef = ref();
|
||||
inject(PageRouteSymbol, null);
|
||||
expose({ pageRef });
|
||||
inject(LayoutMetaSymbol, null);
|
||||
nuxtApp.deferHydration();
|
||||
provide(clientOnlySymbol, true);
|
||||
return () => {
|
||||
return h(RouterView, { name: props.name, route: props.route, ...attrs }, {
|
||||
default: (routeProps) => {
|
||||
return h(Suspense, { suspensible: true }, {
|
||||
default() {
|
||||
return h(RouteProvider, {
|
||||
vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,
|
||||
route: routeProps.route,
|
||||
vnodeRef: pageRef
|
||||
});
|
||||
}
|
||||
});
|
||||
if (mounted.value) {
|
||||
const vnodes = slots.default?.();
|
||||
if (vnodes && vnodes.length === 1) {
|
||||
return [cloneVNode(vnodes[0], attrs)];
|
||||
}
|
||||
});
|
||||
return vnodes;
|
||||
}
|
||||
const slot = slots.fallback || slots.placeholder;
|
||||
if (slot) {
|
||||
return h(slot);
|
||||
}
|
||||
const fallbackStr = props.fallback || props.placeholder || "";
|
||||
const fallbackTag = props.fallbackTag || props.placeholderTag || "span";
|
||||
return createElementBlock(fallbackTag, attrs, fallbackStr);
|
||||
};
|
||||
}
|
||||
});
|
||||
function normalizeSlot(slot, data) {
|
||||
const slotContent = slot(data);
|
||||
return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);
|
||||
}
|
||||
const firstNonUndefined = (...args) => args.find((arg) => arg !== void 0);
|
||||
// @__NO_SIDE_EFFECTS__
|
||||
function defineNuxtLink(options) {
|
||||
@@ -1235,7 +1189,7 @@ function defineNuxtLink(options) {
|
||||
// }) as unknown as DefineComponent<NuxtLinkProps, object, object, ComputedOptions, MethodOptions, object, object, EmitsOptions, string, object, NuxtLinkProps, object, SlotsType<NuxtLinkSlots>>
|
||||
});
|
||||
}
|
||||
const __nuxt_component_0 = /* @__PURE__ */ defineNuxtLink(nuxtLinkDefaults);
|
||||
const __nuxt_component_0$1 = /* @__PURE__ */ defineNuxtLink(nuxtLinkDefaults);
|
||||
function applyTrailingSlashBehavior(to, trailingSlash) {
|
||||
const normalizeFn = trailingSlash === "append" ? withTrailingSlash : withoutTrailingSlash;
|
||||
const hasProtocolDifferentFromHttp = hasProtocol(to) && !to.startsWith("http");
|
||||
@@ -1244,21 +1198,178 @@ function applyTrailingSlashBehavior(to, trailingSlash) {
|
||||
}
|
||||
return normalizeFn(to, true);
|
||||
}
|
||||
const plugin = /* @__PURE__ */ defineNuxtPlugin({
|
||||
name: "pinia",
|
||||
setup(nuxtApp) {
|
||||
const pinia = createPinia();
|
||||
nuxtApp.vueApp.use(pinia);
|
||||
setActivePinia(pinia);
|
||||
{
|
||||
nuxtApp.payload.pinia = toRaw(pinia.state.value);
|
||||
}
|
||||
return {
|
||||
provide: {
|
||||
pinia
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
||||
const components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8 = /* @__PURE__ */ defineNuxtPlugin({
|
||||
name: "nuxt:global-components"
|
||||
});
|
||||
const plugins = [
|
||||
payloadPlugin,
|
||||
unhead_k2P3m_ZDyjlr2mMYnoDPwavjsDN8hBlk9cFai0bbopU,
|
||||
plugin$1,
|
||||
revive_payload_server_MVtmlZaQpj6ApFmshWfUWl5PehCebzaBf2NuRMiIbms,
|
||||
plugin,
|
||||
components_plugin_4kY4pyzJIYX99vmMAAIorFf3CnAaptHitJgf7JxiED8
|
||||
];
|
||||
const defineRouteProvider = (name = "RouteProvider") => defineComponent({
|
||||
name,
|
||||
props: {
|
||||
route: {
|
||||
type: Object,
|
||||
required: true
|
||||
},
|
||||
vnode: Object,
|
||||
vnodeRef: Object,
|
||||
renderKey: String,
|
||||
trackRootNodes: Boolean
|
||||
},
|
||||
setup(props) {
|
||||
const previousKey = props.renderKey;
|
||||
const previousRoute = props.route;
|
||||
const route = {};
|
||||
for (const key in props.route) {
|
||||
Object.defineProperty(route, key, {
|
||||
get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],
|
||||
enumerable: true
|
||||
});
|
||||
}
|
||||
provide(PageRouteSymbol, shallowReactive(route));
|
||||
return () => {
|
||||
if (!props.vnode) {
|
||||
return props.vnode;
|
||||
}
|
||||
return h(props.vnode, { ref: props.vnodeRef });
|
||||
};
|
||||
}
|
||||
});
|
||||
const RouteProvider = defineRouteProvider();
|
||||
const __nuxt_component_0 = defineComponent({
|
||||
name: "NuxtPage",
|
||||
inheritAttrs: false,
|
||||
props: {
|
||||
name: {
|
||||
type: String
|
||||
},
|
||||
transition: {
|
||||
type: [Boolean, Object],
|
||||
default: void 0
|
||||
},
|
||||
keepalive: {
|
||||
type: [Boolean, Object],
|
||||
default: void 0
|
||||
},
|
||||
route: {
|
||||
type: Object
|
||||
},
|
||||
pageKey: {
|
||||
type: [Function, String],
|
||||
default: null
|
||||
}
|
||||
},
|
||||
setup(props, { attrs, slots, expose }) {
|
||||
const nuxtApp = useNuxtApp();
|
||||
const pageRef = ref();
|
||||
inject(PageRouteSymbol, null);
|
||||
expose({ pageRef });
|
||||
inject(LayoutMetaSymbol, null);
|
||||
nuxtApp.deferHydration();
|
||||
return () => {
|
||||
return h(RouterView, { name: props.name, route: props.route, ...attrs }, {
|
||||
default: (routeProps) => {
|
||||
return h(Suspense, { suspensible: true }, {
|
||||
default() {
|
||||
return h(RouteProvider, {
|
||||
vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,
|
||||
route: routeProps.route,
|
||||
vnodeRef: pageRef
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
function normalizeSlot(slot, data) {
|
||||
const slotContent = slot(data);
|
||||
return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);
|
||||
}
|
||||
const _imports_1 = "" + __buildAssetsURL("Harheimer TC.CKfYAfp1.svg");
|
||||
const useAuthStore = defineStore("auth", {
|
||||
state: () => ({
|
||||
isLoggedIn: false,
|
||||
user: null,
|
||||
role: null
|
||||
}),
|
||||
getters: {
|
||||
isAdmin: (state) => {
|
||||
return state.role === "admin" || state.role === "vorstand";
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
async checkAuth() {
|
||||
try {
|
||||
const response = await $fetch("/api/auth/status");
|
||||
this.isLoggedIn = response.isLoggedIn;
|
||||
this.user = response.user;
|
||||
this.role = response.role;
|
||||
return response;
|
||||
} catch (error) {
|
||||
this.isLoggedIn = false;
|
||||
this.user = null;
|
||||
this.role = null;
|
||||
return { isLoggedIn: false };
|
||||
}
|
||||
},
|
||||
async login(email, password) {
|
||||
const response = await $fetch("/api/auth/login", {
|
||||
method: "POST",
|
||||
body: { email, password }
|
||||
});
|
||||
if (response.success) {
|
||||
await this.checkAuth();
|
||||
}
|
||||
return response;
|
||||
},
|
||||
async logout() {
|
||||
try {
|
||||
await $fetch("/api/auth/logout", { method: "POST" });
|
||||
this.isLoggedIn = false;
|
||||
this.user = null;
|
||||
this.role = null;
|
||||
} catch (error) {
|
||||
console.error("Logout fehlgeschlagen:", error);
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
const _sfc_main$4 = {
|
||||
__name: "Navigation",
|
||||
__ssrInlineRender: true,
|
||||
setup(__props) {
|
||||
const route = useRoute$1();
|
||||
const authStore = useAuthStore();
|
||||
const isMobileMenuOpen = ref(false);
|
||||
const mobileSubmenu = ref(null);
|
||||
const mannschaften = ref([]);
|
||||
const hasGalleryImages = ref(false);
|
||||
const isLoggedIn = ref(false);
|
||||
const userRole = ref(null);
|
||||
const isAdmin = computed(() => {
|
||||
return userRole.value === "admin" || userRole.value === "vorstand";
|
||||
});
|
||||
const isLoggedIn = computed(() => authStore.isLoggedIn);
|
||||
const isAdmin = computed(() => authStore.isAdmin);
|
||||
const currentSubmenu = computed(() => {
|
||||
const path = route.path;
|
||||
if (path.startsWith("/ueber-uns") || path.startsWith("/vorstand") || path.startsWith("/geschichte") || path.startsWith("/satzung") || path.startsWith("/vereinsmeisterschaften")) {
|
||||
@@ -1277,7 +1388,7 @@ const _sfc_main$4 = {
|
||||
});
|
||||
ref(null);
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
const _component_NuxtLink = __nuxt_component_0;
|
||||
const _component_NuxtLink = __nuxt_component_0$1;
|
||||
_push(`<nav${ssrRenderAttrs(mergeProps({ class: "fixed top-0 left-0 right-0 z-50 bg-gradient-to-r from-gray-900 via-primary-900 to-gray-900 shadow-xl h-20" }, _attrs))}><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 h-full"><div class="flex flex-col justify-between h-full py-2"><div class="flex justify-between items-center">`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/",
|
||||
@@ -2229,15 +2340,13 @@ const _sfc_main$3 = {
|
||||
__ssrInlineRender: true,
|
||||
setup(__props) {
|
||||
useRouter$1();
|
||||
const authStore = useAuthStore();
|
||||
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
||||
const isMemberMenuOpen = ref(false);
|
||||
const isLoggedIn = ref(false);
|
||||
const userRole = ref(null);
|
||||
const isAdmin = computed(() => {
|
||||
return userRole.value === "admin" || userRole.value === "vorstand";
|
||||
});
|
||||
const isLoggedIn = computed(() => authStore.isLoggedIn);
|
||||
const isAdmin = computed(() => authStore.isAdmin);
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
const _component_NuxtLink = __nuxt_component_0;
|
||||
const _component_NuxtLink = __nuxt_component_0$1;
|
||||
_push(`<footer${ssrRenderAttrs(mergeProps({ class: "fixed bottom-0 left-0 right-0 z-40 bg-gray-900 border-t border-gray-800 shadow-2xl" }, _attrs))}><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"><div class="flex flex-col sm:flex-row justify-between items-center space-y-2 sm:space-y-0"><p class="text-sm text-gray-400"> © ${ssrInterpolate(unref(currentYear))} Harheimer TC </p><div class="flex items-center space-x-6 text-sm relative">`);
|
||||
_push(ssrRenderComponent(_component_NuxtLink, {
|
||||
to: "/impressum",
|
||||
@@ -2390,7 +2499,7 @@ const _sfc_main$2 = {
|
||||
__ssrInlineRender: true,
|
||||
setup(__props) {
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
const _component_NuxtPage = __nuxt_component_0$1;
|
||||
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(`<main class="flex-1 overflow-y-auto pt-20">`);
|
||||
@@ -2428,8 +2537,8 @@ const _sfc_main$1 = {
|
||||
const statusMessage = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error");
|
||||
const description = _error.message || _error.toString();
|
||||
const stack = void 0;
|
||||
const _Error404 = defineAsyncComponent(() => import('./error-404-d_FMCCWa.mjs'));
|
||||
const _Error = defineAsyncComponent(() => import('./error-500-RVXNRl1D.mjs'));
|
||||
const _Error404 = defineAsyncComponent(() => import('./error-404-DndCdOwS.mjs'));
|
||||
const _Error = defineAsyncComponent(() => import('./error-500-BP06ycvf.mjs'));
|
||||
const ErrorTemplate = is404 ? _Error404 : _Error;
|
||||
return (_ctx, _push, _parent, _attrs) => {
|
||||
_push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({ statusCode: unref(statusCode), statusMessage: unref(statusMessage), description: unref(description), stack: unref(stack) }, _attrs), null, _parent));
|
||||
@@ -2510,5 +2619,5 @@ let entry;
|
||||
}
|
||||
const entry$1 = (ssrContext) => entry(ssrContext);
|
||||
|
||||
export { __nuxt_component_0 as _, useNuxtApp as a, asyncDataDefaults as b, createError as c, defineNuxtRouteMiddleware as d, entry$1 as default, fetchDefaults as f, navigateTo as n, useRoute as u };
|
||||
export { __nuxt_component_0$1 as _, useRoute as a, useNuxtApp as b, asyncDataDefaults as c, createError as d, entry$1 as default, defineNuxtRouteMiddleware as e, fetchDefaults as f, navigateTo as n, useAuthStore as u };
|
||||
//# sourceMappingURL=server.mjs.map
|
||||
|
||||
Reference in New Issue
Block a user