import { ref, computed, mergeProps, unref, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderList, ssrInterpolate, ssrRenderClass, ssrRenderComponent } from 'vue/server-renderer'; import { Calendar } from 'lucide-vue-next'; import { u as useHead } from './v3-BQ4jllfP.mjs'; import './server.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 'unhead/plugins'; import 'vue-router'; const _sfc_main = { __name: "termine", __ssrInlineRender: true, setup(__props) { const termine = ref([]); const naechsteTermine = computed(() => { const heute = /* @__PURE__ */ new Date(); heute.setHours(0, 0, 0, 0); return termine.value.filter((t) => { const terminDatum = new Date(t.datum); return terminDatum >= heute; }).sort((a, b) => new Date(a.datum) - new Date(b.datum)); }); 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()]; }; const formatFullDate = (dateString) => { const date = new Date(dateString); const wochentage = ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"]; const monate = ["Januar", "Februar", "M\xE4rz", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"]; return `${wochentage[date.getDay()]}, ${date.getDate()}. ${monate[date.getMonth()]} ${date.getFullYear()}`; }; useHead({ title: "Termine & Events - Harheimer TC" }); return (_ctx, _push, _parent, _attrs) => { _push(`

Termine & Events

Alle kommenden Termine und Veranstaltungen des Harheimer TC

`); 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(formatFullDate(termin.datum))}

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

Keine kommenden Termine

Aktuell sind keine Termine geplant. Schauen Sie bald wieder vorbei!

`); } _push(`

Hinweis

Alle Termine sind vorbehaltlich kurzfristiger \xC4nderungen. Bei Fragen zu einzelnen Veranstaltungen kontaktieren Sie uns gerne.

`); }; } }; const _sfc_setup = _sfc_main.setup; _sfc_main.setup = (props, ctx) => { const ssrContext = useSSRContext(); (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/termine.vue"); return _sfc_setup ? _sfc_setup(props, ctx) : void 0; }; export { _sfc_main as default }; //# sourceMappingURL=termine-okzZOtGi.mjs.map