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$1 } 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 'pinia';
import 'vue-router';
const _sfc_main$3 = {
__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) => {
const _component_NuxtLink = __nuxt_component_0$1;
_push(`
`);
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$3 = _sfc_main$3.setup;
_sfc_main$3.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/TermineVorschau.vue");
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
};
const _sfc_main$2 = {
__name: "Hero",
__ssrInlineRender: true,
setup(__props) {
return (_ctx, _push, _parent, _attrs) => {
const _component_NuxtLink = __nuxt_component_0$1;
_push(` Willkommen beim
Harheimer TC
Tradition trifft Moderne - Ihr Tischtennisverein in Frankfurt-Harheim seit über 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$3, null, null, _parent));
_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/Hero.vue");
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
};
const Hero = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-33d25311"]]);
const _sfc_main$1 = {
__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$1 = _sfc_main$1.setup;
_sfc_main$1.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/PublicNews.vue");
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};
const PublicNews = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-f894f108"]]);
const _sfc_main = {
__name: "index",
__ssrInlineRender: true,
setup(__props) {
return (_ctx, _push, _parent, _attrs) => {
_push(``);
_push(ssrRenderComponent(Hero, null, null, _parent));
_push(ssrRenderComponent(PublicNews, 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-BJlTQXby.mjs.map