8 lines
7.0 KiB
JavaScript
8 lines
7.0 KiB
JavaScript
import{e as M,r as v,f as C,g as w,c as a,o as l,a as e,h as k,F as T,i as $,t as m,n as V,b as i,u as f,w as y,d as b,_ as D}from"#entry";import{C as z}from"./YJHbYJtA.js";import{_ as N}from"./DlAUqK2U.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 L=M("ArrowRightIcon",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),A={key:0,class:"space-y-2 mb-6"},H={class:"flex items-center justify-between"},I={class:"flex items-center space-x-3"},K={class:"w-10 h-10 bg-primary-600 rounded-lg flex flex-col items-center justify-center text-white text-xs font-bold"},S={class:"font-semibold text-gray-900"},E={class:"text-sm text-gray-600"},F={key:1,class:"text-center py-8 bg-gray-50 rounded-lg"},j={key:2,class:"text-center"},R={__name:"TermineVorschau",setup(h){const c=v([]),t=C(()=>{const s=new Date;console.log("Heute ist:",s.toISOString().split("T")[0]);const n=c.value.filter(r=>{const u=new Date(r.datum)>=s;return console.log(`Termin ${r.titel} (${r.datum}): ${u?"KOMMEND":"VERSTRICHEN"}`),u}).sort((r,o)=>new Date(r.datum)-new Date(o.datum));return console.log("Kommende Termine:",n),n}),x=s=>new Date(s).getDate(),d=s=>{const n=new Date(s);return["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"][n.getMonth()]},p=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 n=await s.text();console.log("CSV Text:",n);const r=n.split(`
|
|
`).filter(o=>o.trim()!=="");if(console.log("CSV Lines:",r),r.length<2){console.log("Keine Datenzeilen gefunden");return}c.value=r.slice(1).map((o,u)=>{const g=o.replace(/"/g,"").split(",");if(g.length<4)return console.log(`Zeile ${u+2} hat zu wenige Werte:`,g),null;const _={datum:g[0].trim(),titel:g[1].trim(),beschreibung:g[2].trim(),kategorie:g[3].trim()};return console.log(`Termin ${u+1}:`,_),_}).filter(o=>o!==null),console.log("Alle geparsten Termine:",c.value)}catch(s){console.error("Fehler beim Laden der Termine:",s)}};return w(()=>{p()}),(s,n)=>{const r=D;return l(),a("div",null,[n[2]||(n[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(),a("div",A,[(l(!0),a(T,null,$(t.value,(o,u)=>(l(),a("div",{key:u,class:"bg-gray-50 rounded-lg p-3 hover:bg-gray-100 transition-colors"},[e("div",H,[e("div",I,[e("div",K,[e("span",null,m(x(o.datum)),1),e("span",null,m(d(o.datum)),1)]),e("div",null,[e("h3",S,m(o.titel),1),e("p",E,m(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"])},m(o.kategorie),3)])]))),128))])):(l(),a("div",F,[i(f(z),{size:32,class:"text-gray-400 mx-auto mb-2"}),n[0]||(n[0]=e("p",{class:"text-gray-600 text-sm"},"Keine kommenden Termine",-1))])),t.value.length>0?(l(),a("div",j,[i(r,{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:y(()=>[n[1]||(n[1]=b(" Alle Termine anzeigen ",-1)),i(f(L),{size:16,class:"ml-1"})]),_:1})])):k("",!0)])}}},J={id:"home",class:"relative min-h-full flex items-center justify-center overflow-hidden py-20 bg-gradient-to-br from-gray-50 to-gray-100"},B={class:"relative z-20 max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-20 sm:py-32"},O={class:"text-center"},P={class:"flex flex-col sm:flex-row gap-4 justify-center items-center animate-fade-in-delay-2"},W={class:"mt-16 max-w-4xl mx-auto"},q={__name:"Hero",setup(h){return(c,t)=>{const x=D;return l(),a("section",J,[t[4]||(t[4]=e("div",{class:"absolute inset-0 z-0"},[e("div",{class:"absolute top-0 right-0 w-96 h-96 bg-primary-200/30 rounded-full blur-3xl"}),e("div",{class:"absolute bottom-0 left-0 w-96 h-96 bg-gray-300/30 rounded-full blur-3xl"}),e("div",{class:"absolute inset-0 opacity-10",style:{"background-image":"url('/images/club_about_us.png')","background-size":"cover","background-position":"center"}})],-1)),e("div",B,[e("div",O,[t[2]||(t[2]=e("h1",{class:"text-5xl sm:text-6xl lg:text-7xl font-display font-bold text-gray-900 mb-6 leading-tight animate-fade-in"},[b(" Willkommen beim"),e("br"),e("span",{class:"text-primary-600"},"Harheimer TC")],-1)),t[3]||(t[3]=e("p",{class:"text-xl sm:text-2xl text-gray-700 mb-8 max-w-3xl mx-auto animate-fade-in-delay-1"}," Tradition trifft Moderne - Ihr Tischtennisverein in Frankfurt-Harheim seit über 45 Jahren ",-1)),e("div",P,[i(x,{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:y(()=>[t[0]||(t[0]=e("span",null,"Mitglied werden",-1)),i(f(L),{size:20,class:"group-hover:translate-x-1 transition-transform"})]),_:1}),i(x,{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:y(()=>[...t[1]||(t[1]=[b(" Kontakt aufnehmen ",-1)])]),_:1})])]),e("div",W,[i(R)])]),t[5]||(t[5]=e("div",{class:"absolute bottom-8 left-1/2 transform -translate-x-1/2 z-20 animate-bounce"},[e("div",{class:"w-6 h-10 border-2 border-gray-400 rounded-full flex justify-center pt-2"},[e("div",{class:"w-1.5 h-3 bg-primary-600 rounded-full"})])],-1))])}}},Z=N(q,[["__scopeId","data-v-33d25311"]]),G={key:0,class:"py-16 sm:py-20 bg-white"},Q={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},U={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-8"},X={class:"flex items-center text-sm text-gray-500 mb-3"},Y={class:"text-xl font-display font-bold text-gray-900 mb-3"},ee={class:"text-gray-700 line-clamp-3"},te={__name:"PublicNews",setup(h){const c=v([]),t=async()=>{try{const d=await $fetch("/api/news-public");c.value=d.news}catch(d){console.error("Fehler beim Laden der öffentlichen News:",d)}},x=d=>d?new Date(d).toLocaleDateString("de-DE",{year:"numeric",month:"long",day:"numeric"}):"";return w(()=>{t()}),(d,p)=>c.value.length>0?(l(),a("section",G,[e("div",Q,[p[0]||(p[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",U,[(l(!0),a(T,null,$(c.value,s=>(l(),a("article",{key:s.id,class:"bg-gray-50 rounded-xl p-6 border border-gray-200 hover:shadow-lg transition-shadow"},[e("div",X,[i(f(z),{size:16,class:"mr-2"}),b(" "+m(x(s.created)),1)]),e("h3",Y,m(s.title),1),e("p",ee,m(s.content),1)]))),128))])])])):k("",!0)}},se=N(te,[["__scopeId","data-v-f894f108"]]),ne={class:"min-h-full"},ie={__name:"index",setup(h){return(c,t)=>(l(),a("div",ne,[i(Z),i(se)]))}};export{ie as default};
|