import { mergeProps, withCtx, unref, createTextVNode, createVNode, ref, computed, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderComponent, ssrRenderStyle, ssrRenderList, ssrInterpolate, ssrRenderClass } from 'vue/server-renderer'; import { _ as _export_sfc } from './_plugin-vue_export-helper-1tPrXgE0.mjs'; import { _ as __nuxt_component_0$1 } from './server.mjs'; import { ArrowRight, UserPlus, Mail, Calendar } from 'lucide-vue-next'; 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 'pinia'; import 'vue-router'; const _sfc_main$5 = {}; function _sfc_ssrRender(_ctx, _push, _parent, _attrs) { _push(`

Willkommen beim
Harheimer TC

Tradition trifft Moderne - Ihr Tischtennisverein in Frankfurt-Harheim seit über 45 Jahren

`); } const _sfc_setup$5 = _sfc_main$5.setup; _sfc_main$5.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/Hero.vue"); return _sfc_setup$5 ? _sfc_setup$5(props, ctx) : void 0; }; const Hero = /* @__PURE__ */ Object.assign(_export_sfc(_sfc_main$5, [["ssrRender", _sfc_ssrRender], ["__scopeId", "data-v-779d39d7"]]), { __name: "Hero" }); const _sfc_main$4 = { __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är", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"]; return monate[date.getMonth()]; }; return (_ctx, _push, _parent, _attrs) => { _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

`); } _push(``); }; } }; const _sfc_setup$4 = _sfc_main$4.setup; _sfc_main$4.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/TermineVorschau.vue"); return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0; }; const _sfc_main$3 = { __name: "HomeTermine", __ssrInlineRender: true, setup(__props) { return (_ctx, _push, _parent, _attrs) => { const _component_NuxtLink = __nuxt_component_0$1; _push(`

Kommende Termine

`); _push(ssrRenderComponent(_sfc_main$4, null, null, _parent)); _push(`
`); _push(ssrRenderComponent(_component_NuxtLink, { to: "/termine", class: "inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(` Alle Termine anzeigen `); _push2(ssrRenderComponent(unref(ArrowRight), { size: 20, class: "ml-2" }, null, _parent2, _scopeId)); } else { return [ createTextVNode(" Alle Termine anzeigen "), createVNode(unref(ArrowRight), { size: 20, class: "ml-2" }) ]; } }), _: 1 }, _parent)); _push(`
`); }; } }; const _sfc_setup$3 = _sfc_main$3.setup; _sfc_main$3.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/HomeTermine.vue"); return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0; }; const _sfc_main$2 = { __name: "PublicNews", __ssrInlineRender: true, setup(__props) { const news = ref([]); const formatDate = (dateString) => { if (!dateString) return ""; const date = new Date(dateString); return date.toLocaleDateString("de-DE", { year: "numeric", month: "long", day: "numeric" }); }; return (_ctx, _push, _parent, _attrs) => { if (news.value.length > 0) { _push(`

Aktuelles

Die neuesten Nachrichten aus unserem Verein

`); ssrRenderList(news.value, (item) => { _push(`
`); _push(ssrRenderComponent(unref(Calendar), { size: 16, class: "mr-2" }, null, _parent)); _push(` ${ssrInterpolate(formatDate(item.created))}

${ssrInterpolate(item.title)}

${ssrInterpolate(item.content)}

`); }); _push(`
`); } else { _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/PublicNews.vue"); return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; }; const PublicNews = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-f894f108"]]); const _sfc_main$1 = { __name: "HomeActions", __ssrInlineRender: true, setup(__props) { return (_ctx, _push, _parent, _attrs) => { const _component_NuxtLink = __nuxt_component_0$1; _push(`
`); _push(ssrRenderComponent(_component_NuxtLink, { to: "/mitgliedschaft", class: "group bg-white rounded-2xl p-8 shadow-lg hover:shadow-xl transition-all border-2 border-transparent hover:border-primary-600" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(`
`); _push2(ssrRenderComponent(unref(UserPlus), { size: 32, class: "text-primary-600 group-hover:text-white transition-colors" }, null, _parent2, _scopeId)); _push2(`

Mitglied werden

Werden Sie Teil unserer Tischtennisfamilie und profitieren Sie von regelmäßigem Training, Wettkämpfen und einer tollen Gemeinschaft.

Mehr erfahren `); _push2(ssrRenderComponent(unref(ArrowRight), { size: 20, class: "ml-2" }, null, _parent2, _scopeId)); _push2(`
`); } else { return [ createVNode("div", { class: "flex items-center mb-4" }, [ createVNode("div", { class: "w-16 h-16 bg-primary-100 rounded-xl flex items-center justify-center group-hover:bg-primary-600 transition-colors" }, [ createVNode(unref(UserPlus), { size: 32, class: "text-primary-600 group-hover:text-white transition-colors" }) ]), createVNode("h3", { class: "ml-4 text-2xl font-display font-bold text-gray-900" }, " Mitglied werden ") ]), createVNode("p", { class: "text-gray-600 mb-4" }, " Werden Sie Teil unserer Tischtennisfamilie und profitieren Sie von regelmäßigem Training, Wettkämpfen und einer tollen Gemeinschaft. "), createVNode("div", { class: "flex items-center text-primary-600 font-semibold group-hover:translate-x-2 transition-transform" }, [ createTextVNode(" Mehr erfahren "), createVNode(unref(ArrowRight), { size: 20, class: "ml-2" }) ]) ]; } }), _: 1 }, _parent)); _push(ssrRenderComponent(_component_NuxtLink, { to: "/kontakt", class: "group bg-white rounded-2xl p-8 shadow-lg hover:shadow-xl transition-all border-2 border-transparent hover:border-primary-600" }, { default: withCtx((_, _push2, _parent2, _scopeId) => { if (_push2) { _push2(`
`); _push2(ssrRenderComponent(unref(Mail), { size: 32, class: "text-primary-600 group-hover:text-white transition-colors" }, null, _parent2, _scopeId)); _push2(`

Kontakt aufnehmen

Haben Sie Fragen oder möchten ein kostenloses Probetraining vereinbaren? Wir freuen uns auf Ihre Nachricht!

Jetzt kontaktieren `); _push2(ssrRenderComponent(unref(ArrowRight), { size: 20, class: "ml-2" }, null, _parent2, _scopeId)); _push2(`
`); } else { return [ createVNode("div", { class: "flex items-center mb-4" }, [ createVNode("div", { class: "w-16 h-16 bg-primary-100 rounded-xl flex items-center justify-center group-hover:bg-primary-600 transition-colors" }, [ createVNode(unref(Mail), { size: 32, class: "text-primary-600 group-hover:text-white transition-colors" }) ]), createVNode("h3", { class: "ml-4 text-2xl font-display font-bold text-gray-900" }, " Kontakt aufnehmen ") ]), createVNode("p", { class: "text-gray-600 mb-4" }, " Haben Sie Fragen oder möchten ein kostenloses Probetraining vereinbaren? Wir freuen uns auf Ihre Nachricht! "), createVNode("div", { class: "flex items-center text-primary-600 font-semibold group-hover:translate-x-2 transition-transform" }, [ createTextVNode(" Jetzt kontaktieren "), createVNode(unref(ArrowRight), { size: 20, class: "ml-2" }) ]) ]; } }), _: 1 }, _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/HomeActions.vue"); return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0; }; const _sfc_main = { __name: "index", __ssrInlineRender: true, setup(__props) { return (_ctx, _push, _parent, _attrs) => { _push(``); _push(ssrRenderComponent(Hero, null, null, _parent)); _push(ssrRenderComponent(_sfc_main$3, null, null, _parent)); _push(ssrRenderComponent(PublicNews, null, null, _parent)); _push(ssrRenderComponent(_sfc_main$1, 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-BcEI2yju.mjs.map