import { mergeProps, withCtx, unref, createVNode, createTextVNode, ref, computed, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderComponent, ssrRenderStyle, ssrRenderList, ssrInterpolate, ssrRenderClass } from 'vue/server-renderer'; import { _ as __nuxt_component_0 } from './server.mjs'; import { ArrowRight, Calendar } from 'lucide-vue-next'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; import '../routes/renderer.mjs'; import 'vue-bundle-renderer/runtime'; import 'unhead/server'; import 'devalue'; import 'unhead/utils'; import 'vue-router'; const _sfc_main$2 = { __name: "TermineVorschau", __ssrInlineRender: true, setup(__props) { const termine = ref([]); const naechsteTermine = computed(() => { const heute = /* @__PURE__ */ new Date(); console.log("Heute ist:", heute.toISOString().split("T")[0]); const kommende = termine.value.filter((t) => { const terminDatum = new Date(t.datum); const istKommend = terminDatum >= heute; console.log(`Termin ${t.titel} (${t.datum}): ${istKommend ? "KOMMEND" : "VERSTRICHEN"}`); return istKommend; }).sort((a, b) => new Date(a.datum) - new Date(b.datum)); console.log("Kommende Termine:", kommende); return kommende; }); const formatDay = (dateString) => { const date = new Date(dateString); return date.getDate(); }; const formatMonth = (dateString) => { const date = new Date(dateString); const monate = ["Jan", "Feb", "M\xE4r", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]; return monate[date.getMonth()]; }; return (_ctx, _push, _parent, _attrs) => { const _component_NuxtLink = __nuxt_component_0; _push(`

Kommende Termine

`); if (naechsteTermine.value.length > 0) { _push(`
`); ssrRenderList(naechsteTermine.value, (termin, index) => { _push(`
${ssrInterpolate(formatDay(termin.datum))}${ssrInterpolate(formatMonth(termin.datum))}

${ssrInterpolate(termin.titel)}

${ssrInterpolate(termin.beschreibung)}

${ssrInterpolate(termin.kategorie)}
`); }); _push(`
`); } else { _push(`
`); _push(ssrRenderComponent(unref(Calendar), { size: 32, class: "text-gray-400 mx-auto mb-2" }, null, _parent)); _push(`

Keine kommenden Termine

`); } if (naechsteTermine.value.length > 0) { _push(`
`); _push(ssrRenderComponent(_component_NuxtLink, { to: "/termine", class: "inline-flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white text-sm font-medium rounded-lg transition-colors" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(` Alle Termine anzeigen `); _push2(ssrRenderComponent(unref(ArrowRight), { size: 16, class: "ml-1" }, null, _parent2, _scopeId)); } else { return [ createTextVNode(" Alle Termine anzeigen "), createVNode(unref(ArrowRight), { size: 16, class: "ml-1" }) ]; } }), _: 1 }, _parent)); _push(`
`); } else { _push(``); } _push(``); }; } }; const _sfc_setup$2 = _sfc_main$2.setup; _sfc_main$2.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/TermineVorschau.vue"); return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; }; const _sfc_main$1 = { __name: "Hero", __ssrInlineRender: true, setup(__props) { return (_ctx, _push, _parent, _attrs) => { const _component_NuxtLink = __nuxt_component_0; _push(`

Willkommen beim
Harheimer TC

Tradition trifft Moderne - Ihr Tischtennisverein in Frankfurt-Harheim seit \xFCber 45 Jahren

`); _push(ssrRenderComponent(_component_NuxtLink, { to: "/mitgliedschaft", class: "group px-8 py-4 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-xl shadow-lg hover:shadow-xl transition-all duration-300 flex items-center space-x-2" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(`Mitglied werden`); _push2(ssrRenderComponent(unref(ArrowRight), { size: 20, class: "group-hover:translate-x-1 transition-transform" }, null, _parent2, _scopeId)); } else { return [ createVNode("span", null, "Mitglied werden"), createVNode(unref(ArrowRight), { size: 20, class: "group-hover:translate-x-1 transition-transform" }) ]; } }), _: 1 }, _parent)); _push(ssrRenderComponent(_component_NuxtLink, { to: "/kontakt", class: "px-8 py-4 bg-white hover:bg-gray-50 text-gray-900 font-semibold rounded-xl border-2 border-gray-300 hover:border-primary-600 shadow-lg transition-all duration-300" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(` Kontakt aufnehmen `); } else { return [ createTextVNode(" Kontakt aufnehmen ") ]; } }), _: 1 }, _parent)); _push(`
`); _push(ssrRenderComponent(_sfc_main$2, null, null, _parent)); _push(`
`); }; } }; const _sfc_setup$1 = _sfc_main$1.setup; _sfc_main$1.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Hero.vue"); return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; }; const Hero = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-33d25311"]]); const _sfc_main = { __name: "index", __ssrInlineRender: true, setup(__props) { return (_ctx, _push, _parent, _attrs) => { _push(``); _push(ssrRenderComponent(Hero, null, null, _parent)); _push(``); }; } }; const _sfc_setup = _sfc_main.setup; _sfc_main.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/index.vue"); return _sfc_setup ? _sfc_setup(props, ctx) : void 0; }; export { _sfc_main as default }; //# sourceMappingURL=index-DNNo-ri8.mjs.map