8 lines
9.0 KiB
JavaScript
8 lines
9.0 KiB
JavaScript
import{_ as k}from"./DlAUqK2U.js";import{e as L,c as i,o as l,f as S,r as $,g as H,h as T,a as e,i as z,F as D,j as N,t as u,n as V,b as n,u as x,w as b,d as _,_ as v}from"#entry";import{C as M}from"./YJHbYJtA.js";import{U as A}from"./oN0_bS6A.js";import{M as C}from"./BC4PNGtJ.js";/**
|
|
* @license lucide-vue-next v0.344.0 - ISC
|
|
*
|
|
* This source code is licensed under the ISC license.
|
|
* See the LICENSE file in the root directory of this source tree.
|
|
*/const y=L("ArrowRightIcon",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),I={},K={id:"home",class:"relative min-h-full flex items-center justify-center overflow-hidden bg-gradient-to-br from-gray-50 to-gray-100"};function j(h,a){return l(),i("section",K,[...a[0]||(a[0]=[S('<div class="absolute inset-0 z-0" data-v-779d39d7><div class="absolute top-0 right-0 w-96 h-96 bg-primary-200/30 rounded-full blur-3xl" data-v-779d39d7></div><div class="absolute bottom-0 left-0 w-96 h-96 bg-gray-300/30 rounded-full blur-3xl" data-v-779d39d7></div><div class="absolute inset-0 opacity-10" style="background-image:url('/images/club_about_us.png');background-size:cover;background-position:center;" data-v-779d39d7></div></div><div class="relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20 sm:py-8" data-v-779d39d7><div class="text-center" data-v-779d39d7><h1 class="text-5xl sm:text-6xl lg:text-7xl font-display font-bold text-gray-900 mb-6 leading-tight animate-fade-in" data-v-779d39d7> Willkommen beim<br data-v-779d39d7><span class="text-primary-600" data-v-779d39d7>Harheimer TC</span></h1><p class="text-xl sm:text-2xl text-gray-700 mb-8 max-w-3xl mx-auto animate-fade-in-delay-1" data-v-779d39d7> Tradition trifft Moderne - Ihr Tischtennisverein in Frankfurt-Harheim seit über 45 Jahren </p></div></div>',2)])])}const F=Object.assign(k(I,[["render",j],["__scopeId","data-v-779d39d7"]]),{__name:"Hero"}),E={key:0,class:"space-y-2 mb-6"},J={class:"flex items-center justify-between"},P={class:"flex items-center space-x-3"},R={class:"w-10 h-10 bg-primary-600 rounded-lg flex flex-col items-center justify-center text-white text-xs font-bold"},W={class:"font-semibold text-gray-900"},O={class:"text-sm text-gray-600"},B={key:1,class:"text-center py-8 bg-gray-50 rounded-lg"},U={key:2,class:"text-center"},q={__name:"TermineVorschau",setup(h){const a=$([]),t=H(()=>{const s=new Date;console.log("Heute ist:",s.toISOString().split("T")[0]);const r=a.value.filter(d=>{const g=new Date(d.datum)>=s;return console.log(`Termin ${d.titel} (${d.datum}): ${g?"KOMMEND":"VERSTRICHEN"}`),g}).sort((d,o)=>new Date(d.datum)-new Date(o.datum));return console.log("Kommende Termine:",r),r}),m=s=>new Date(s).getDate(),c=s=>{const r=new Date(s);return["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"][r.getMonth()]},f=async()=>{try{console.log("Lade Termine...");const s=await fetch("/data/termine.csv");if(console.log("Response:",s),!s.ok)throw new Error(`HTTP error! status: ${s.status}`);const r=await s.text();console.log("CSV Text:",r);const d=r.split(`
|
|
`).filter(o=>o.trim()!=="");if(console.log("CSV Lines:",d),d.length<2){console.log("Keine Datenzeilen gefunden");return}a.value=d.slice(1).map((o,g)=>{const p=o.replace(/"/g,"").split(",");if(p.length<4)return console.log(`Zeile ${g+2} hat zu wenige Werte:`,p),null;const w={datum:p[0].trim(),titel:p[1].trim(),beschreibung:p[2].trim(),kategorie:p[3].trim()};return console.log(`Termin ${g+1}:`,w),w}).filter(o=>o!==null),console.log("Alle geparsten Termine:",a.value)}catch(s){console.error("Fehler beim Laden der Termine:",s)}};return T(()=>{f()}),(s,r)=>{const d=v;return l(),i("div",null,[r[2]||(r[2]=e("div",{class:"text-center mb-6"},[e("h2",{class:"text-2xl font-display font-bold text-gray-900 mb-2"}," Kommende Termine "),e("div",{class:"w-16 h-0.5 bg-primary-600 mx-auto"})],-1)),t.value.length>0?(l(),i("div",E,[(l(!0),i(D,null,N(t.value,(o,g)=>(l(),i("div",{key:g,class:"bg-gray-50 rounded-lg p-3 hover:bg-gray-100 transition-colors"},[e("div",J,[e("div",P,[e("div",R,[e("span",null,u(m(o.datum)),1),e("span",null,u(c(o.datum)),1)]),e("div",null,[e("h3",W,u(o.titel),1),e("p",O,u(o.beschreibung),1)])]),e("span",{class:V(["px-2 py-1 text-xs font-medium rounded-full",o.kategorie==="Turnier"?"bg-yellow-100 text-yellow-800":"bg-blue-100 text-blue-800"])},u(o.kategorie),3)])]))),128))])):(l(),i("div",B,[n(x(M),{size:32,class:"text-gray-400 mx-auto mb-2"}),r[0]||(r[0]=e("p",{class:"text-gray-600 text-sm"},"Keine kommenden Termine",-1))])),t.value.length>0?(l(),i("div",U,[n(d,{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:b(()=>[r[1]||(r[1]=_(" Alle Termine anzeigen ",-1)),n(x(y),{size:16,class:"ml-1"})]),_:1})])):z("",!0)])}}},G={class:"py-16 sm:py-20 bg-gray-50"},Z={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},Q={class:"max-w-4xl mx-auto"},X={class:"text-center mt-8"},Y={__name:"HomeTermine",setup(h){return(a,t)=>{const m=v;return l(),i("section",G,[e("div",Z,[t[1]||(t[1]=e("div",{class:"text-center mb-12"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Kommende Termine "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"})],-1)),e("div",Q,[n(q)]),e("div",X,[n(m,{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:b(()=>[t[0]||(t[0]=_(" Alle Termine anzeigen ",-1)),n(x(y),{size:20,class:"ml-2"})]),_:1})])])])}}},ee={key:0,class:"py-16 sm:py-20 bg-white"},te={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},se={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-8"},ne={class:"flex items-center text-sm text-gray-500 mb-3"},re={class:"text-xl font-display font-bold text-gray-900 mb-3"},oe={class:"text-gray-700 line-clamp-3"},ae={__name:"PublicNews",setup(h){const a=$([]),t=async()=>{try{const c=await $fetch("/api/news-public");a.value=c.news}catch(c){console.error("Fehler beim Laden der öffentlichen News:",c)}},m=c=>c?new Date(c).toLocaleDateString("de-DE",{year:"numeric",month:"long",day:"numeric"}):"";return T(()=>{t()}),(c,f)=>a.value.length>0?(l(),i("section",ee,[e("div",te,[f[0]||(f[0]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Aktuelles "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"}),e("p",{class:"text-xl text-gray-600 max-w-3xl mx-auto"}," Die neuesten Nachrichten aus unserem Verein ")],-1)),e("div",se,[(l(!0),i(D,null,N(a.value,s=>(l(),i("article",{key:s.id,class:"bg-gray-50 rounded-xl p-6 border border-gray-200 hover:shadow-lg transition-shadow"},[e("div",ne,[n(x(M),{size:16,class:"mr-2"}),_(" "+u(m(s.created)),1)]),e("h3",re,u(s.title),1),e("p",oe,u(s.content),1)]))),128))])])])):z("",!0)}},ie=k(ae,[["__scopeId","data-v-f894f108"]]),le={class:"py-16 sm:py-20 bg-gradient-to-b from-white to-gray-50"},de={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},ce={class:"grid md:grid-cols-2 gap-8 max-w-4xl mx-auto"},me={class:"flex items-center mb-4"},ue={class:"w-16 h-16 bg-primary-100 rounded-xl flex items-center justify-center group-hover:bg-primary-600 transition-colors"},xe={class:"flex items-center text-primary-600 font-semibold group-hover:translate-x-2 transition-transform"},ge={class:"flex items-center mb-4"},pe={class:"w-16 h-16 bg-primary-100 rounded-xl flex items-center justify-center group-hover:bg-primary-600 transition-colors"},he={class:"flex items-center text-primary-600 font-semibold group-hover:translate-x-2 transition-transform"},fe={__name:"HomeActions",setup(h){return(a,t)=>{const m=v;return l(),i("section",le,[e("div",de,[e("div",ce,[n(m,{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:b(()=>[e("div",me,[e("div",ue,[n(x(A),{size:32,class:"text-primary-600 group-hover:text-white transition-colors"})]),t[0]||(t[0]=e("h3",{class:"ml-4 text-2xl font-display font-bold text-gray-900"}," Mitglied werden ",-1))]),t[2]||(t[2]=e("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. ",-1)),e("div",xe,[t[1]||(t[1]=_(" Mehr erfahren ",-1)),n(x(y),{size:20,class:"ml-2"})])]),_:1}),n(m,{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:b(()=>[e("div",ge,[e("div",pe,[n(x(C),{size:32,class:"text-primary-600 group-hover:text-white transition-colors"})]),t[3]||(t[3]=e("h3",{class:"ml-4 text-2xl font-display font-bold text-gray-900"}," Kontakt aufnehmen ",-1))]),t[5]||(t[5]=e("p",{class:"text-gray-600 mb-4"}," Haben Sie Fragen oder möchten ein kostenloses Probetraining vereinbaren? Wir freuen uns auf Ihre Nachricht! ",-1)),e("div",he,[t[4]||(t[4]=_(" Jetzt kontaktieren ",-1)),n(x(y),{size:20,class:"ml-2"})])]),_:1})])])])}}},_e={class:"min-h-full"},Te={__name:"index",setup(h){return(a,t)=>(l(),i("div",_e,[n(F),n(Y),n(ie),n(fe)]))}};export{Te as default};
|