diff --git a/.output/nitro.json b/.output/nitro.json index 2bc6b02..228a948 100644 --- a/.output/nitro.json +++ b/.output/nitro.json @@ -1,5 +1,5 @@ { - "date": "2025-10-21T13:28:08.301Z", + "date": "2025-10-21T13:37:55.039Z", "preset": "node-server", "framework": { "name": "nuxt", diff --git a/.output/public/_nuxt/QJE7pTvy.js b/.output/public/_nuxt/B23trXK4.js similarity index 98% rename from .output/public/_nuxt/QJE7pTvy.js rename to .output/public/_nuxt/B23trXK4.js index cd20290..eab5b4a 100644 --- a/.output/public/_nuxt/QJE7pTvy.js +++ b/.output/public/_nuxt/B23trXK4.js @@ -1 +1 @@ -import{u as r}from"./C_U-NUAd.js";import{c as n,q as s,o as i}from"#entry";const t={class:"min-h-full py-16 bg-gray-50"},g={__name:"geschichte",setup(a){return r({title:"Geschichte - Harheimer TC"}),(d,e)=>(i(),n("div",t,[...e[0]||(e[0]=[s('

Vereinsgeschichte

Die bewegte Geschichte des Harheimer Tischtennis Clubs seit 1954.

Nach dem zweiten Weltkrieg entwickelte sich sprunghaft der Tischtennissport in der Bundesrepublik. Auch in der damaligen Gemeinde Harheim gab es junge Menschen, die an diesem neuen Sport Gefallen fanden, so dass am 10.05.1950 durch deren Initiative eine Tischtennisabteilung innerhalb der Sportgemeinschaft Harheim (SGH) gegründet wurde.

Zu Anfang waren es nur wenige TT-Begeisterte und nur durch deren Idealismus, Opfer und Gemeinschaftssinn wurden die Anfangsschwierigkeiten überwunden. Im Laufe der Zeit kamen auch die Kritiker innerhalb der SGH nicht umhin, die damaligen Tischtennisspieler mit ihrer neuen Sportart anzuerkennen.

10.06.1954 - Gründung des HTC

Bei der am 20.05.1954 stattgefundenen Sitzung der SGH wurde die Trennung der einzelnen Abteilungen beschlossen. Somit sah sich die TT-Abteilung veranlasst, ihren Sportbetrieb in eigener Regie weiterzuführen.

Am 10.06.1954 trafen sich 6 Damen und 22 Herren zur Gründungsversammlung in der Gaststätte „Zum Löwen". Der neu gegründete Verein wurde unter dem Namen "Harheimer Tischtennis-Club" Mitglied des Landessportbundes Hessen.

1964 - Neue Trainingsstätte

Mit der Erbauung der Schulturnhalle im Jahre 1964 stand eine für die damaligen Verhältnisse recht moderne Übungsstätte zur Verfügung, die dem HTC für einen Tag in der Woche überlassen wurde. Damit waren viele Probleme gelöst und es gab einen Aufschwung, der sich in einer steigenden Spielerzahl bemerkbar machte.

1974 - Bürgerhaus

Mit der Erstellung des Bürgerhauses wurde wiederum neuer Trainingsraum geschaffen, der besonders für den Tischtennissport geeignet ist. Der HTC nahm die Gelegenheit war und hielt ab Mai 1974 seine Übungsabende im großen Saal des Bürgerhauses ab.

1976 - Eintragung ins Vereinsregister

Die Eintragung in das Vereinsregister (e. V.) erfolgte im Jahre 1976 und gleichzeitig wurde dem Verein die Gemeinnützigkeit zuerkannt.

1978/79 - Sportlicher Höhepunkt

Ein besonderes Geschenk machten die Spieler des HTC im Jubiläumsjahr ihrem Verein: Die 1. Herrenmannschaft wurde Meister der Bezirksklasse Ffm.-Ost und die 2. Herrenmannschaft Meister der Kreisklasse-A Ffm.-Nord. Nachdem auch die Schülermannschaft Meister ihrer Klasse wurde, ist die Saison 78/79 als absolut sportlicher Höhepunkt in der Vereinsgeschichte zu werten.

Heute

Der HTC hat sich auch in Zukunft zur Aufgabe gemacht, allen interessierten Bürgern und Jugendlichen im Rahmen seiner Möglichkeiten das Tischtennisspielen als Leistungssport oder zur Freizeitgestaltung zu ermöglichen.

',1)])]))}};export{g as default}; +import{u as r}from"./C_U-NUAd.js";import{c as n,f as s,o as i}from"#entry";const t={class:"min-h-full py-16 bg-gray-50"},g={__name:"geschichte",setup(a){return r({title:"Geschichte - Harheimer TC"}),(d,e)=>(i(),n("div",t,[...e[0]||(e[0]=[s('

Vereinsgeschichte

Die bewegte Geschichte des Harheimer Tischtennis Clubs seit 1954.

Nach dem zweiten Weltkrieg entwickelte sich sprunghaft der Tischtennissport in der Bundesrepublik. Auch in der damaligen Gemeinde Harheim gab es junge Menschen, die an diesem neuen Sport Gefallen fanden, so dass am 10.05.1950 durch deren Initiative eine Tischtennisabteilung innerhalb der Sportgemeinschaft Harheim (SGH) gegründet wurde.

Zu Anfang waren es nur wenige TT-Begeisterte und nur durch deren Idealismus, Opfer und Gemeinschaftssinn wurden die Anfangsschwierigkeiten überwunden. Im Laufe der Zeit kamen auch die Kritiker innerhalb der SGH nicht umhin, die damaligen Tischtennisspieler mit ihrer neuen Sportart anzuerkennen.

10.06.1954 - Gründung des HTC

Bei der am 20.05.1954 stattgefundenen Sitzung der SGH wurde die Trennung der einzelnen Abteilungen beschlossen. Somit sah sich die TT-Abteilung veranlasst, ihren Sportbetrieb in eigener Regie weiterzuführen.

Am 10.06.1954 trafen sich 6 Damen und 22 Herren zur Gründungsversammlung in der Gaststätte „Zum Löwen". Der neu gegründete Verein wurde unter dem Namen "Harheimer Tischtennis-Club" Mitglied des Landessportbundes Hessen.

1964 - Neue Trainingsstätte

Mit der Erbauung der Schulturnhalle im Jahre 1964 stand eine für die damaligen Verhältnisse recht moderne Übungsstätte zur Verfügung, die dem HTC für einen Tag in der Woche überlassen wurde. Damit waren viele Probleme gelöst und es gab einen Aufschwung, der sich in einer steigenden Spielerzahl bemerkbar machte.

1974 - Bürgerhaus

Mit der Erstellung des Bürgerhauses wurde wiederum neuer Trainingsraum geschaffen, der besonders für den Tischtennissport geeignet ist. Der HTC nahm die Gelegenheit war und hielt ab Mai 1974 seine Übungsabende im großen Saal des Bürgerhauses ab.

1976 - Eintragung ins Vereinsregister

Die Eintragung in das Vereinsregister (e. V.) erfolgte im Jahre 1976 und gleichzeitig wurde dem Verein die Gemeinnützigkeit zuerkannt.

1978/79 - Sportlicher Höhepunkt

Ein besonderes Geschenk machten die Spieler des HTC im Jubiläumsjahr ihrem Verein: Die 1. Herrenmannschaft wurde Meister der Bezirksklasse Ffm.-Ost und die 2. Herrenmannschaft Meister der Kreisklasse-A Ffm.-Nord. Nachdem auch die Schülermannschaft Meister ihrer Klasse wurde, ist die Saison 78/79 als absolut sportlicher Höhepunkt in der Vereinsgeschichte zu werten.

Heute

Der HTC hat sich auch in Zukunft zur Aufgabe gemacht, allen interessierten Bürgern und Jugendlichen im Rahmen seiner Möglichkeiten das Tischtennisspielen als Leistungssport oder zur Freizeitgestaltung zu ermöglichen.

',1)])]))}};export{g as default}; diff --git a/.output/public/_nuxt/B2cfq_o5.js b/.output/public/_nuxt/B2cfq_o5.js deleted file mode 100644 index bbc3ef8..0000000 --- a/.output/public/_nuxt/B2cfq_o5.js +++ /dev/null @@ -1,7 +0,0 @@ -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}; diff --git a/.output/public/_nuxt/B7gCv9SJ.js b/.output/public/_nuxt/B3KXwwdt.js similarity index 96% rename from .output/public/_nuxt/B7gCv9SJ.js rename to .output/public/_nuxt/B3KXwwdt.js index 86257e6..5029f11 100644 --- a/.output/public/_nuxt/B7gCv9SJ.js +++ b/.output/public/_nuxt/B3KXwwdt.js @@ -1 +1 @@ -import{u as e}from"./C_U-NUAd.js";import{c as r,q as s,o as a}from"#entry";const d={class:"min-h-full py-16 bg-gray-50"},n={__name:"vorstand",setup(l){return e({title:"Vorstand - Harheimer TC"}),(o,t)=>(a(),r("div",d,[...t[0]||(t[0]=[s('

Vorstand

Unser engagiertes Vorstandsteam leitet den Harheimer TC mit Herz und Sachverstand.

Vorsitzender

Roger Dichmann

Reginastr. 46

60437 Frankfurt

Tel. 06101-9953015

Stellvertreter des Vorsitzenden

Jürgen Kratz

Bürgerstr. 68

60437 Frankfurt

Tel. 06101-43221

Kassenwart

Olaf Nüßlein

Am Eschbachtal 52

60437 Frankfurt

Tel. 06101-47469

Schriftführer

Jürgen Dichmann

In der Fuchskaut 4

60437 Frankfurt

Tel. 06101-4992227

',1)])]))}};export{n as default}; +import{u as e}from"./C_U-NUAd.js";import{c as r,f as s,o as a}from"#entry";const d={class:"min-h-full py-16 bg-gray-50"},n={__name:"vorstand",setup(l){return e({title:"Vorstand - Harheimer TC"}),(o,t)=>(a(),r("div",d,[...t[0]||(t[0]=[s('

Vorstand

Unser engagiertes Vorstandsteam leitet den Harheimer TC mit Herz und Sachverstand.

Vorsitzender

Roger Dichmann

Reginastr. 46

60437 Frankfurt

Tel. 06101-9953015

Stellvertreter des Vorsitzenden

Jürgen Kratz

Bürgerstr. 68

60437 Frankfurt

Tel. 06101-43221

Kassenwart

Olaf Nüßlein

Am Eschbachtal 52

60437 Frankfurt

Tel. 06101-47469

Schriftführer

Jürgen Dichmann

In der Fuchskaut 4

60437 Frankfurt

Tel. 06101-4992227

',1)])]))}};export{n as default}; diff --git a/.output/public/_nuxt/C3ZC2MBN.js b/.output/public/_nuxt/B6TEfPSg.js similarity index 90% rename from .output/public/_nuxt/C3ZC2MBN.js rename to .output/public/_nuxt/B6TEfPSg.js index 6b3c95d..b2320fc 100644 --- a/.output/public/_nuxt/C3ZC2MBN.js +++ b/.output/public/_nuxt/B6TEfPSg.js @@ -1,6 +1,6 @@ -import{e as k,j as L,r as i,c as p,a as e,k as M,h as g,l as v,v as y,n as b,b as n,d,u,t as f,m as V,w as z,_ as A,p as S,o as m}from"#entry";import{u as C}from"./C_U-NUAd.js";import{A as N}from"./C8kQt0fa.js";import{C as B}from"./DaSgy0Cl.js";import{L as T}from"./CUq_0rkE.js";/** +import{e as k,k as L,r as i,c as p,a as e,l as M,i as g,m as v,v as y,n as b,b as n,d,u,t as f,p as V,w as z,_ as A,q as S,o as m}from"#entry";import{u as C}from"./C_U-NUAd.js";import{A as N}from"./C8kQt0fa.js";import{C as B}from"./DaSgy0Cl.js";import{L as T}from"./CUq_0rkE.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 j=k("LockIcon",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),D={class:"min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},I={class:"max-w-md w-full space-y-8"},q={class:"bg-white rounded-xl shadow-lg p-8"},E={key:0,class:"bg-red-50 border border-red-200 rounded-lg p-4"},H={class:"text-sm text-red-800 flex items-center"},K={key:1,class:"bg-green-50 border border-green-200 rounded-lg p-4"},P={class:"text-sm text-green-800 flex items-center"},U=["disabled"],Z={class:"text-center"},R={class:"bg-primary-50 border border-primary-100 rounded-lg p-4"},F={class:"text-sm text-primary-800 text-center"},Y={__name:"login",setup(G){const x=S(),h=L(),t=i({email:"",password:""}),o=i(!1),r=i(""),l=i(""),w=async()=>{o.value=!0,r.value="",l.value="";try{const a=await h.login(t.value.email,t.value.password);a.success&&(l.value="Anmeldung erfolgreich! Sie werden weitergeleitet...",setTimeout(()=>{a.user.role==="admin"||a.user.role==="vorstand"?x.push("/cms"):x.push("/mitgliederbereich")},1e3))}catch(a){r.value=a.data?.message||"Anmeldung fehlgeschlagen. Bitte prüfen Sie Ihre Zugangsdaten."}finally{o.value=!1}};return C({title:"Login - Harheimer TC"}),(a,s)=>{const _=A;return m(),p("div",D,[e("div",I,[s[6]||(s[6]=e("div",{class:"text-center"},[e("h2",{class:"text-3xl font-display font-bold text-gray-900"}," Mitglieder-Login "),e("p",{class:"mt-2 text-sm text-gray-600"}," Melden Sie sich an, um auf den Mitgliederbereich zuzugreifen ")],-1)),e("div",q,[e("form",{onSubmit:M(w,["prevent"]),class:"space-y-6"},[e("div",null,[s[2]||(s[2]=e("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),v(e("input",{id:"email","onUpdate:modelValue":s[0]||(s[0]=c=>t.value.email=c),type:"email",required:"",autocomplete:"email",class:b(["w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all",{"border-red-500":r.value}]),placeholder:"ihre-email@example.com"},null,2),[[y,t.value.email]])]),e("div",null,[s[3]||(s[3]=e("label",{for:"password",class:"block text-sm font-medium text-gray-700 mb-2"}," Passwort ",-1)),v(e("input",{id:"password","onUpdate:modelValue":s[1]||(s[1]=c=>t.value.password=c),type:"password",required:"",autocomplete:"current-password",class:b(["w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all",{"border-red-500":r.value}]),placeholder:"••••••••"},null,2),[[y,t.value.password]])]),r.value?(m(),p("div",E,[e("p",H,[n(u(N),{size:18,class:"mr-2"}),d(" "+f(r.value),1)])])):g("",!0),l.value?(m(),p("div",K,[e("p",P,[n(u(B),{size:18,class:"mr-2"}),d(" "+f(l.value),1)])])):g("",!0),e("button",{type:"submit",disabled:o.value,class:"w-full px-6 py-3 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 text-white font-semibold rounded-lg transition-colors flex items-center justify-center"},[o.value?(m(),V(u(T),{key:0,size:20,class:"mr-2 animate-spin"})):g("",!0),e("span",null,f(o.value?"Anmeldung läuft...":"Anmelden"),1)],8,U),e("div",Z,[n(_,{to:"/passwort-vergessen",class:"text-sm text-primary-600 hover:text-primary-700 font-medium"},{default:z(()=>[...s[4]||(s[4]=[d(" Passwort vergessen? ",-1)])]),_:1})])],32)]),e("div",R,[e("p",F,[n(u(j),{size:16,class:"inline mr-1"}),s[5]||(s[5]=d(" Nur für Vereinsmitglieder. Kein Zugang? Kontaktieren Sie den Vorstand. ",-1))])])])])}}};export{Y as default}; + */const q=k("LockIcon",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),D={class:"min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},I={class:"max-w-md w-full space-y-8"},j={class:"bg-white rounded-xl shadow-lg p-8"},E={key:0,class:"bg-red-50 border border-red-200 rounded-lg p-4"},H={class:"text-sm text-red-800 flex items-center"},K={key:1,class:"bg-green-50 border border-green-200 rounded-lg p-4"},P={class:"text-sm text-green-800 flex items-center"},U=["disabled"],Z={class:"text-center"},R={class:"bg-primary-50 border border-primary-100 rounded-lg p-4"},F={class:"text-sm text-primary-800 text-center"},Y={__name:"login",setup(G){const x=S(),h=L(),t=i({email:"",password:""}),o=i(!1),r=i(""),l=i(""),w=async()=>{o.value=!0,r.value="",l.value="";try{const a=await h.login(t.value.email,t.value.password);a.success&&(l.value="Anmeldung erfolgreich! Sie werden weitergeleitet...",setTimeout(()=>{a.user.role==="admin"||a.user.role==="vorstand"?x.push("/cms"):x.push("/mitgliederbereich")},1e3))}catch(a){r.value=a.data?.message||"Anmeldung fehlgeschlagen. Bitte prüfen Sie Ihre Zugangsdaten."}finally{o.value=!1}};return C({title:"Login - Harheimer TC"}),(a,s)=>{const _=A;return m(),p("div",D,[e("div",I,[s[6]||(s[6]=e("div",{class:"text-center"},[e("h2",{class:"text-3xl font-display font-bold text-gray-900"}," Mitglieder-Login "),e("p",{class:"mt-2 text-sm text-gray-600"}," Melden Sie sich an, um auf den Mitgliederbereich zuzugreifen ")],-1)),e("div",j,[e("form",{onSubmit:M(w,["prevent"]),class:"space-y-6"},[e("div",null,[s[2]||(s[2]=e("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),v(e("input",{id:"email","onUpdate:modelValue":s[0]||(s[0]=c=>t.value.email=c),type:"email",required:"",autocomplete:"email",class:b(["w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all",{"border-red-500":r.value}]),placeholder:"ihre-email@example.com"},null,2),[[y,t.value.email]])]),e("div",null,[s[3]||(s[3]=e("label",{for:"password",class:"block text-sm font-medium text-gray-700 mb-2"}," Passwort ",-1)),v(e("input",{id:"password","onUpdate:modelValue":s[1]||(s[1]=c=>t.value.password=c),type:"password",required:"",autocomplete:"current-password",class:b(["w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all",{"border-red-500":r.value}]),placeholder:"••••••••"},null,2),[[y,t.value.password]])]),r.value?(m(),p("div",E,[e("p",H,[n(u(N),{size:18,class:"mr-2"}),d(" "+f(r.value),1)])])):g("",!0),l.value?(m(),p("div",K,[e("p",P,[n(u(B),{size:18,class:"mr-2"}),d(" "+f(l.value),1)])])):g("",!0),e("button",{type:"submit",disabled:o.value,class:"w-full px-6 py-3 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 text-white font-semibold rounded-lg transition-colors flex items-center justify-center"},[o.value?(m(),V(u(T),{key:0,size:20,class:"mr-2 animate-spin"})):g("",!0),e("span",null,f(o.value?"Anmeldung läuft...":"Anmelden"),1)],8,U),e("div",Z,[n(_,{to:"/passwort-vergessen",class:"text-sm text-primary-600 hover:text-primary-700 font-medium"},{default:z(()=>[...s[4]||(s[4]=[d(" Passwort vergessen? ",-1)])]),_:1})])],32)]),e("div",R,[e("p",F,[n(u(q),{size:16,class:"inline mr-1"}),s[5]||(s[5]=d(" Nur für Vereinsmitglieder. Kein Zugang? Kontaktieren Sie den Vorstand. ",-1))])])])])}}};export{Y as default}; diff --git a/.output/public/_nuxt/BVFhdtwe.js b/.output/public/_nuxt/BASo1Rw1.js similarity index 94% rename from .output/public/_nuxt/BVFhdtwe.js rename to .output/public/_nuxt/BASo1Rw1.js index a5ec80c..a711b57 100644 --- a/.output/public/_nuxt/BVFhdtwe.js +++ b/.output/public/_nuxt/BASo1Rw1.js @@ -1,4 +1,4 @@ -import{u as V}from"./C_U-NUAd.js";import{U as L}from"./DkeYb0_S.js";import{C as D}from"./YJHbYJtA.js";import{e as z,r as _,f as k,g as F,c as a,a as t,F as w,i as S,n as h,b as d,u as m,d as c,o as i,t as n,h as b}from"#entry";import{S as H}from"./XZ6RV9KH.js";import{B as K}from"./CkzaQq3X.js";import{E as T}from"./Cx4UcKGu.js";/** +import{u as V}from"./C_U-NUAd.js";import{U as L}from"./DkeYb0_S.js";import{C as D}from"./YJHbYJtA.js";import{e as z,r as _,g as k,h as F,c as a,a as t,F as w,j as S,n as h,b as d,u as m,d as c,o as i,t as n,i as b}from"#entry";import{S as H}from"./XZ6RV9KH.js";import{B as K}from"./CkzaQq3X.js";import{E as T}from"./Cx4UcKGu.js";/** * @license lucide-vue-next v0.344.0 - ISC * * This source code is licensed under the ISC license. @@ -8,5 +8,5 @@ import{u as V}from"./C_U-NUAd.js";import{U as L}from"./DkeYb0_S.js";import{C as * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const M=z("SettingsIcon",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),N={class:"min-h-full py-16 bg-gray-50"},W={class:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"},j={class:"mb-8 flex flex-wrap gap-4"},A=["onClick"],U={key:0,class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},$={class:"flex items-start justify-between mb-4"},q={class:"flex-1"},O={class:"text-xl font-display font-bold text-gray-900 mb-2"},P={class:"flex items-center mb-3"},Q={class:"text-sm font-medium text-gray-600"},G={class:"text-gray-700 mb-4 leading-relaxed"},J={class:"space-y-2 text-sm"},R={key:0,class:"flex items-center"},X={class:"text-gray-600"},Y={key:1,class:"flex items-center"},Z={class:"text-gray-600"},ee={key:2,class:"flex items-center"},te={class:"text-gray-600"},se={key:1,class:"text-center py-12 bg-white rounded-xl shadow-lg"},re={class:"mt-12 bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white"},le={class:"text-2xl font-display font-bold mb-6 flex items-center"},ae={class:"space-y-4"},ie={class:"mt-6"},ne={href:"https://www.wikiwand.com/de/Tischtennis#Spielsysteme",target:"_blank",class:"inline-flex items-center px-6 py-3 bg-white text-primary-600 font-semibold rounded-lg hover:bg-gray-100 transition-colors"},ye={__name:"spielsysteme",setup(oe){const p=_([]),g=_("alle"),C=async()=>{try{const l=await fetch("/data/spielsysteme.csv");if(!l.ok)return;const s=(await l.text()).split(` -`).filter(o=>o.trim()!=="");if(s.length<2)return;p.value=s.slice(1).map(o=>{const r=[];let x="",u=!1;for(let y=0;yo!==null)}catch(l){console.error("Fehler beim Laden der Spielsysteme:",l)}},B=k(()=>[...new Set(p.value.map(e=>e.kategorie).filter(e=>e!==""))].sort()),v=k(()=>g.value==="alle"?p.value:p.value.filter(l=>l.kategorie===g.value)),I=l=>({Klassisch:"bg-blue-100 text-blue-800",Flexibel:"bg-green-100 text-green-800",Strukturiert:"bg-purple-100 text-purple-800",Modifiziert:"bg-orange-100 text-orange-800",International:"bg-red-100 text-red-800",Standard:"bg-gray-100 text-gray-800",Professionell:"bg-yellow-100 text-yellow-800"})[l]||"bg-gray-100 text-gray-800";return F(()=>{C()}),V({title:"Spielsysteme - Harheimer TC"}),(l,e)=>(i(),a("div",N,[t("div",W,[e[9]||(e[9]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Spielsysteme ",-1)),e[10]||(e[10]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),e[11]||(e[11]=t("p",{class:"text-xl text-gray-600 mb-12"}," Übersicht der verschiedenen Mannschafts-Spielsysteme im Tischtennis ",-1)),t("div",j,[(i(!0),a(w,null,S(B.value,s=>(i(),a("button",{key:s,onClick:o=>g.value=s,class:h(["px-4 py-2 rounded-lg font-medium transition-colors",g.value===s?"bg-primary-600 text-white":"bg-white text-gray-700 hover:bg-gray-100 border border-gray-300"])},n(s),11,A))),128)),t("button",{onClick:e[0]||(e[0]=s=>g.value="alle"),class:h(["px-4 py-2 rounded-lg font-medium transition-colors",g.value==="alle"?"bg-primary-600 text-white":"bg-white text-gray-700 hover:bg-gray-100 border border-gray-300"])}," Alle Kategorien ",2)]),v.value.length>0?(i(),a("div",U,[(i(!0),a(w,null,S(v.value,s=>(i(),a("div",{key:s.name,class:"bg-white rounded-xl shadow-lg p-6 hover:shadow-xl transition-shadow border border-gray-100"},[t("div",$,[t("div",q,[t("h3",O,n(s.name),1),t("div",P,[d(m(L),{size:16,class:"text-primary-600 mr-2"}),t("span",Q,n(s.mannschaftsgroesse),1)])]),t("div",{class:h(["px-3 py-1 rounded-full text-xs font-medium",I(s.kategorie)])},n(s.kategorie),3)]),t("p",G,n(s.description),1),t("div",J,[s.spielabfolge?(i(),a("div",R,[d(m(D),{size:14,class:"text-primary-600 mr-2 flex-shrink-0"}),t("span",X,[e[1]||(e[1]=t("strong",null,"Spielabfolge:",-1)),c(" "+n(s.spielabfolge),1)])])):b("",!0),s.anzahl_spiele?(i(),a("div",Y,[d(m(E),{size:14,class:"text-primary-600 mr-2 flex-shrink-0"}),t("span",Z,[e[2]||(e[2]=t("strong",null,"Anzahl Spiele:",-1)),c(" "+n(s.anzahl_spiele),1)])])):b("",!0),s.besonderheiten?(i(),a("div",ee,[d(m(H),{size:14,class:"text-primary-600 mr-2 flex-shrink-0"}),t("span",te,[e[3]||(e[3]=t("strong",null,"Besonderheiten:",-1)),c(" "+n(s.besonderheiten),1)])])):b("",!0)])]))),128))])):(i(),a("div",se,[d(m(M),{size:48,class:"text-gray-400 mx-auto mb-4"}),e[4]||(e[4]=t("p",{class:"text-gray-600"},"Keine Spielsysteme für die ausgewählte Kategorie gefunden.",-1))])),t("div",re,[t("h3",le,[d(m(K),{size:28,class:"mr-3"}),e[5]||(e[5]=c(" Weitere Informationen ",-1))]),t("div",ae,[e[7]||(e[7]=t("p",{class:"text-primary-100 leading-relaxed"}," Die Spielsysteme werden je nach Liga und Verband unterschiedlich eingesetzt. Die meisten regionalen Ligen verwenden das Bundessystem oder das Braunschweiger System. ",-1)),e[8]||(e[8]=t("p",{class:"text-primary-100 leading-relaxed"}," Internationale Wettkämpfe folgen meist den FIT-Systemen (Corbillon-Cup für Damen, Swaythling-Cup für Herren). ",-1)),t("div",ie,[t("a",ne,[d(m(T),{size:20,class:"mr-2"}),e[6]||(e[6]=c(" Detaillierte Erklärungen auf Wikiwand ",-1))])])])])])]))}};export{ye as default}; + */const M=z("SettingsIcon",[["path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z",key:"1qme2f"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),N={class:"min-h-full py-16 bg-gray-50"},j={class:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"},W={class:"mb-8 flex flex-wrap gap-4"},A=["onClick"],U={key:0,class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},$={class:"flex items-start justify-between mb-4"},q={class:"flex-1"},O={class:"text-xl font-display font-bold text-gray-900 mb-2"},P={class:"flex items-center mb-3"},Q={class:"text-sm font-medium text-gray-600"},G={class:"text-gray-700 mb-4 leading-relaxed"},J={class:"space-y-2 text-sm"},R={key:0,class:"flex items-center"},X={class:"text-gray-600"},Y={key:1,class:"flex items-center"},Z={class:"text-gray-600"},ee={key:2,class:"flex items-center"},te={class:"text-gray-600"},se={key:1,class:"text-center py-12 bg-white rounded-xl shadow-lg"},re={class:"mt-12 bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white"},le={class:"text-2xl font-display font-bold mb-6 flex items-center"},ae={class:"space-y-4"},ie={class:"mt-6"},ne={href:"https://www.wikiwand.com/de/Tischtennis#Spielsysteme",target:"_blank",class:"inline-flex items-center px-6 py-3 bg-white text-primary-600 font-semibold rounded-lg hover:bg-gray-100 transition-colors"},ye={__name:"spielsysteme",setup(oe){const p=_([]),g=_("alle"),C=async()=>{try{const l=await fetch("/data/spielsysteme.csv");if(!l.ok)return;const s=(await l.text()).split(` +`).filter(o=>o.trim()!=="");if(s.length<2)return;p.value=s.slice(1).map(o=>{const r=[];let x="",u=!1;for(let y=0;yo!==null)}catch(l){console.error("Fehler beim Laden der Spielsysteme:",l)}},B=k(()=>[...new Set(p.value.map(e=>e.kategorie).filter(e=>e!==""))].sort()),v=k(()=>g.value==="alle"?p.value:p.value.filter(l=>l.kategorie===g.value)),I=l=>({Klassisch:"bg-blue-100 text-blue-800",Flexibel:"bg-green-100 text-green-800",Strukturiert:"bg-purple-100 text-purple-800",Modifiziert:"bg-orange-100 text-orange-800",International:"bg-red-100 text-red-800",Standard:"bg-gray-100 text-gray-800",Professionell:"bg-yellow-100 text-yellow-800"})[l]||"bg-gray-100 text-gray-800";return F(()=>{C()}),V({title:"Spielsysteme - Harheimer TC"}),(l,e)=>(i(),a("div",N,[t("div",j,[e[9]||(e[9]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Spielsysteme ",-1)),e[10]||(e[10]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),e[11]||(e[11]=t("p",{class:"text-xl text-gray-600 mb-12"}," Übersicht der verschiedenen Mannschafts-Spielsysteme im Tischtennis ",-1)),t("div",W,[(i(!0),a(w,null,S(B.value,s=>(i(),a("button",{key:s,onClick:o=>g.value=s,class:h(["px-4 py-2 rounded-lg font-medium transition-colors",g.value===s?"bg-primary-600 text-white":"bg-white text-gray-700 hover:bg-gray-100 border border-gray-300"])},n(s),11,A))),128)),t("button",{onClick:e[0]||(e[0]=s=>g.value="alle"),class:h(["px-4 py-2 rounded-lg font-medium transition-colors",g.value==="alle"?"bg-primary-600 text-white":"bg-white text-gray-700 hover:bg-gray-100 border border-gray-300"])}," Alle Kategorien ",2)]),v.value.length>0?(i(),a("div",U,[(i(!0),a(w,null,S(v.value,s=>(i(),a("div",{key:s.name,class:"bg-white rounded-xl shadow-lg p-6 hover:shadow-xl transition-shadow border border-gray-100"},[t("div",$,[t("div",q,[t("h3",O,n(s.name),1),t("div",P,[d(m(L),{size:16,class:"text-primary-600 mr-2"}),t("span",Q,n(s.mannschaftsgroesse),1)])]),t("div",{class:h(["px-3 py-1 rounded-full text-xs font-medium",I(s.kategorie)])},n(s.kategorie),3)]),t("p",G,n(s.description),1),t("div",J,[s.spielabfolge?(i(),a("div",R,[d(m(D),{size:14,class:"text-primary-600 mr-2 flex-shrink-0"}),t("span",X,[e[1]||(e[1]=t("strong",null,"Spielabfolge:",-1)),c(" "+n(s.spielabfolge),1)])])):b("",!0),s.anzahl_spiele?(i(),a("div",Y,[d(m(E),{size:14,class:"text-primary-600 mr-2 flex-shrink-0"}),t("span",Z,[e[2]||(e[2]=t("strong",null,"Anzahl Spiele:",-1)),c(" "+n(s.anzahl_spiele),1)])])):b("",!0),s.besonderheiten?(i(),a("div",ee,[d(m(H),{size:14,class:"text-primary-600 mr-2 flex-shrink-0"}),t("span",te,[e[3]||(e[3]=t("strong",null,"Besonderheiten:",-1)),c(" "+n(s.besonderheiten),1)])])):b("",!0)])]))),128))])):(i(),a("div",se,[d(m(M),{size:48,class:"text-gray-400 mx-auto mb-4"}),e[4]||(e[4]=t("p",{class:"text-gray-600"},"Keine Spielsysteme für die ausgewählte Kategorie gefunden.",-1))])),t("div",re,[t("h3",le,[d(m(K),{size:28,class:"mr-3"}),e[5]||(e[5]=c(" Weitere Informationen ",-1))]),t("div",ae,[e[7]||(e[7]=t("p",{class:"text-primary-100 leading-relaxed"}," Die Spielsysteme werden je nach Liga und Verband unterschiedlich eingesetzt. Die meisten regionalen Ligen verwenden das Bundessystem oder das Braunschweiger System. ",-1)),e[8]||(e[8]=t("p",{class:"text-primary-100 leading-relaxed"}," Internationale Wettkämpfe folgen meist den FIT-Systemen (Corbillon-Cup für Damen, Swaythling-Cup für Herren). ",-1)),t("div",ie,[t("a",ne,[d(m(T),{size:20,class:"mr-2"}),e[6]||(e[6]=c(" Detaillierte Erklärungen auf Wikiwand ",-1))])])])])])]))}};export{ye as default}; diff --git a/.output/public/_nuxt/BC4PNGtJ.js b/.output/public/_nuxt/BC4PNGtJ.js new file mode 100644 index 0000000..25a5d25 --- /dev/null +++ b/.output/public/_nuxt/BC4PNGtJ.js @@ -0,0 +1,6 @@ +import{e}from"#entry";/** + * @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 a=e("MailIcon",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);export{a as M}; diff --git a/.output/public/_nuxt/OKH0iApX.js b/.output/public/_nuxt/BGsE9M8w.js similarity index 89% rename from .output/public/_nuxt/OKH0iApX.js rename to .output/public/_nuxt/BGsE9M8w.js index b437f14..6123920 100644 --- a/.output/public/_nuxt/OKH0iApX.js +++ b/.output/public/_nuxt/BGsE9M8w.js @@ -1,11 +1,11 @@ -import{e as y,r as c,c as n,o as a,a as e,F as x,i as h,n as f,m as p,s as C,t as g,k as I,h as N,l as i,v as d,u as b,d as j,b as z}from"#entry";import{M as V,C as q}from"./C5SyyWEb.js";import{P as T,M as E}from"./SRZHqrjk.js";import{A as F}from"./C8kQt0fa.js";import{u as U}from"./C_U-NUAd.js";/** +import{e as h,r as c,c as n,o as a,a as e,F as x,j as y,n as f,p,s as C,t as g,l as I,i as j,m as i,v as d,u as b,d as N,b as z}from"#entry";import{M as V,C as q}from"./C5SyyWEb.js";import{P as T}from"./DdHhmCne.js";import{M as E}from"./BC4PNGtJ.js";import{A as F}from"./C8kQt0fa.js";import{u as U}from"./C_U-NUAd.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("CheckCircleIcon",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/** + */const _=h("CheckCircleIcon",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]);/** * @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 B=y("SendIcon",[["path",{d:"m22 2-7 20-4-9-9-4Z",key:"1q3vgg"}],["path",{d:"M22 2 11 13",key:"nzbqef"}]]),D={id:"contact",class:"py-16 sm:py-20 bg-white"},P={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},A={class:"grid lg:grid-cols-2 gap-12 items-start"},H={class:"space-y-6"},W={class:"font-display font-bold text-gray-900 mb-2"},G={class:"bg-gradient-to-br from-primary-50 to-primary-100/50 rounded-2xl p-8 shadow-xl"},K={class:"flex items-center"},L=["disabled"],$={key:1,class:"animate-spin rounded-full h-5 w-5 border-b-2 border-white mr-2"},O={__name:"Contact",setup(v){const s=c({name:"",email:"",phone:"",subject:"",message:""}),o=c(!1),l=c(null),u=c(""),w=async()=>{o.value=!0,l.value=null,u.value="";try{(await $fetch("/api/contact",{method:"POST",body:s.value})).success&&(l.value="success",u.value="E-Mail wurde erfolgreich gesendet! Wir melden uns bald bei Ihnen.",s.value={name:"",email:"",phone:"",subject:"",message:""})}catch(m){console.error("Fehler beim Senden:",m),l.value="error",u.value=m.data?.message||"Fehler beim Senden der E-Mail. Bitte versuchen Sie es später erneut."}finally{o.value=!1}},k=[{icon:V,title:"Trainingsort",content:["Sporthalle der Grundschule Harheim","In den Schafgärten 25","60437 Frankfurt/Main"],color:"from-red-500 to-pink-500"},{icon:T,title:"Telefon",content:["06101-4992227"],color:"from-green-500 to-emerald-500"},{icon:E,title:"E-Mail",content:["j.dichmann@gmx.de"],color:"from-blue-500 to-cyan-500"},{icon:q,title:"Trainingszeiten",content:["Dienstag: 19:30 - 22:30 Uhr","Donnerstag: 19:30 - 22:30 Uhr"],color:"from-purple-500 to-indigo-500"}];return(m,t)=>(a(),n("section",D,[e("div",P,[t[14]||(t[14]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Kontakt "),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"}," Wir freuen uns auf Ihre Nachricht - Kontaktieren Sie uns! ")],-1)),e("div",A,[e("div",H,[(a(),n(x,null,h(k,r=>e("div",{key:r.title,class:"flex items-start space-x-4 bg-gray-50 p-6 rounded-xl hover:shadow-lg transition-shadow"},[e("div",{class:f(["flex-shrink-0 w-12 h-12 bg-gradient-to-br rounded-lg flex items-center justify-center",r.color])},[(a(),p(C(r.icon),{size:24,class:"text-white"}))],2),e("div",null,[e("h3",W,g(r.title),1),(a(!0),n(x,null,h(r.content,(S,M)=>(a(),n("p",{key:M,class:"text-gray-600"},g(S),1))),128))])])),64)),t[5]||(t[5]=e("div",{class:"space-y-4"},[e("div",{class:"rounded-2xl overflow-hidden shadow-xl h-64"},[e("iframe",{src:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2554.5!2d8.660947!3d50.187044!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47bd0e5e5e5e5e5e%3A0x5e5e5e5e5e5e5e5e!2sIn%20den%20Schafg%C3%A4rten%2025%2C%2060437%20Frankfurt%20am%20Main!5e0!3m2!1sde!2sde!4v1234567890",width:"100%",height:"100%",style:{border:"0"},loading:"lazy",allowfullscreen:"",referrerpolicy:"no-referrer-when-downgrade",title:"Sporthalle der Grundschule Harheim"})]),e("a",{href:"https://www.google.com/maps/search/?api=1&query=In+den+Schafgärten+25+60437+Frankfurt",target:"_blank",class:"block text-center px-4 py-3 bg-primary-600 hover:bg-primary-700 text-white font-medium rounded-lg transition-colors"}," In Google Maps öffnen ")],-1))]),e("div",G,[t[12]||(t[12]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-6"}," Senden Sie uns eine Nachricht ",-1)),e("form",{class:"space-y-4",onSubmit:I(w,["prevent"])},[e("div",null,[t[6]||(t[6]=e("label",{for:"name",class:"block text-sm font-medium text-gray-700 mb-1"}," Name * ",-1)),i(e("input",{type:"text",id:"name","onUpdate:modelValue":t[0]||(t[0]=r=>s.value.name=r),required:"",class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all",placeholder:"Ihr Name"},null,512),[[d,s.value.name]])]),e("div",null,[t[7]||(t[7]=e("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-1"}," E-Mail * ",-1)),i(e("input",{type:"email",id:"email","onUpdate:modelValue":t[1]||(t[1]=r=>s.value.email=r),required:"",class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all",placeholder:"ihre@email.de"},null,512),[[d,s.value.email]])]),e("div",null,[t[8]||(t[8]=e("label",{for:"phone",class:"block text-sm font-medium text-gray-700 mb-1"}," Telefon ",-1)),i(e("input",{type:"tel",id:"phone","onUpdate:modelValue":t[2]||(t[2]=r=>s.value.phone=r),class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all",placeholder:"+49 123 456789"},null,512),[[d,s.value.phone]])]),e("div",null,[t[9]||(t[9]=e("label",{for:"subject",class:"block text-sm font-medium text-gray-700 mb-1"}," Betreff * ",-1)),i(e("input",{type:"text",id:"subject","onUpdate:modelValue":t[3]||(t[3]=r=>s.value.subject=r),required:"",class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all",placeholder:"Worum geht es?"},null,512),[[d,s.value.subject]])]),e("div",null,[t[10]||(t[10]=e("label",{for:"message",class:"block text-sm font-medium text-gray-700 mb-1"}," Nachricht * ",-1)),i(e("textarea",{id:"message","onUpdate:modelValue":t[4]||(t[4]=r=>s.value.message=r),required:"",rows:"5",class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all resize-none",placeholder:"Ihre Nachricht..."},null,512),[[d,s.value.message]])]),l.value?(a(),n("div",{key:0,class:f(["p-4 rounded-lg",l.value==="success"?"bg-green-50 border border-green-200":"bg-red-50 border border-red-200"])},[e("div",K,[l.value==="success"?(a(),p(b(_),{key:0,size:20,class:"text-green-600 mr-2"})):(a(),p(b(F),{key:1,size:20,class:"text-red-600 mr-2"})),e("p",{class:f([l.value==="success"?"text-green-800":"text-red-800","text-sm font-medium"])},g(u.value),3)])],2)):N("",!0),e("button",{type:"submit",disabled:o.value,class:"w-full px-6 py-4 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 disabled:cursor-not-allowed text-white font-semibold rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 flex items-center justify-center"},[o.value?(a(),n("div",$)):(a(),p(b(B),{key:0,size:20,class:"mr-2"})),j(" "+g(o.value?"Wird gesendet...":"E-Mail senden"),1)],8,L),t[11]||(t[11]=e("p",{class:"text-sm text-gray-600 text-center"}," * Pflichtfelder ",-1))],32),t[13]||(t[13]=e("p",{class:"mt-4 text-sm text-gray-600 text-center"}," Ihre Nachricht wird direkt an j.dichmann@gmx.de gesendet ",-1))])])])]))}},Z={class:"min-h-screen"},ee={__name:"kontakt",setup(v){return U({title:"Kontakt - Harheimer TC"}),(s,o)=>(a(),n("div",Z,[z(O)]))}};export{ee as default}; + */const B=h("SendIcon",[["path",{d:"m22 2-7 20-4-9-9-4Z",key:"1q3vgg"}],["path",{d:"M22 2 11 13",key:"nzbqef"}]]),D={id:"contact",class:"py-16 sm:py-20 bg-white"},P={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},A={class:"grid lg:grid-cols-2 gap-12 items-start"},H={class:"space-y-6"},W={class:"font-display font-bold text-gray-900 mb-2"},G={class:"bg-gradient-to-br from-primary-50 to-primary-100/50 rounded-2xl p-8 shadow-xl"},K={class:"flex items-center"},L=["disabled"],$={key:1,class:"animate-spin rounded-full h-5 w-5 border-b-2 border-white mr-2"},O={__name:"Contact",setup(v){const s=c({name:"",email:"",phone:"",subject:"",message:""}),o=c(!1),l=c(null),u=c(""),w=async()=>{o.value=!0,l.value=null,u.value="";try{(await $fetch("/api/contact",{method:"POST",body:s.value})).success&&(l.value="success",u.value="E-Mail wurde erfolgreich gesendet! Wir melden uns bald bei Ihnen.",s.value={name:"",email:"",phone:"",subject:"",message:""})}catch(m){console.error("Fehler beim Senden:",m),l.value="error",u.value=m.data?.message||"Fehler beim Senden der E-Mail. Bitte versuchen Sie es später erneut."}finally{o.value=!1}},k=[{icon:V,title:"Trainingsort",content:["Sporthalle der Grundschule Harheim","In den Schafgärten 25","60437 Frankfurt/Main"],color:"from-red-500 to-pink-500"},{icon:T,title:"Telefon",content:["06101-4992227"],color:"from-green-500 to-emerald-500"},{icon:E,title:"E-Mail",content:["j.dichmann@gmx.de"],color:"from-blue-500 to-cyan-500"},{icon:q,title:"Trainingszeiten",content:["Dienstag: 19:30 - 22:30 Uhr","Donnerstag: 19:30 - 22:30 Uhr"],color:"from-purple-500 to-indigo-500"}];return(m,t)=>(a(),n("section",D,[e("div",P,[t[14]||(t[14]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Kontakt "),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"}," Wir freuen uns auf Ihre Nachricht - Kontaktieren Sie uns! ")],-1)),e("div",A,[e("div",H,[(a(),n(x,null,y(k,r=>e("div",{key:r.title,class:"flex items-start space-x-4 bg-gray-50 p-6 rounded-xl hover:shadow-lg transition-shadow"},[e("div",{class:f(["flex-shrink-0 w-12 h-12 bg-gradient-to-br rounded-lg flex items-center justify-center",r.color])},[(a(),p(C(r.icon),{size:24,class:"text-white"}))],2),e("div",null,[e("h3",W,g(r.title),1),(a(!0),n(x,null,y(r.content,(S,M)=>(a(),n("p",{key:M,class:"text-gray-600"},g(S),1))),128))])])),64)),t[5]||(t[5]=e("div",{class:"space-y-4"},[e("div",{class:"rounded-2xl overflow-hidden shadow-xl h-64"},[e("iframe",{src:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2554.5!2d8.660947!3d50.187044!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x47bd0e5e5e5e5e5e%3A0x5e5e5e5e5e5e5e5e!2sIn%20den%20Schafg%C3%A4rten%2025%2C%2060437%20Frankfurt%20am%20Main!5e0!3m2!1sde!2sde!4v1234567890",width:"100%",height:"100%",style:{border:"0"},loading:"lazy",allowfullscreen:"",referrerpolicy:"no-referrer-when-downgrade",title:"Sporthalle der Grundschule Harheim"})]),e("a",{href:"https://www.google.com/maps/search/?api=1&query=In+den+Schafgärten+25+60437+Frankfurt",target:"_blank",class:"block text-center px-4 py-3 bg-primary-600 hover:bg-primary-700 text-white font-medium rounded-lg transition-colors"}," In Google Maps öffnen ")],-1))]),e("div",G,[t[12]||(t[12]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-6"}," Senden Sie uns eine Nachricht ",-1)),e("form",{class:"space-y-4",onSubmit:I(w,["prevent"])},[e("div",null,[t[6]||(t[6]=e("label",{for:"name",class:"block text-sm font-medium text-gray-700 mb-1"}," Name * ",-1)),i(e("input",{type:"text",id:"name","onUpdate:modelValue":t[0]||(t[0]=r=>s.value.name=r),required:"",class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all",placeholder:"Ihr Name"},null,512),[[d,s.value.name]])]),e("div",null,[t[7]||(t[7]=e("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-1"}," E-Mail * ",-1)),i(e("input",{type:"email",id:"email","onUpdate:modelValue":t[1]||(t[1]=r=>s.value.email=r),required:"",class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all",placeholder:"ihre@email.de"},null,512),[[d,s.value.email]])]),e("div",null,[t[8]||(t[8]=e("label",{for:"phone",class:"block text-sm font-medium text-gray-700 mb-1"}," Telefon ",-1)),i(e("input",{type:"tel",id:"phone","onUpdate:modelValue":t[2]||(t[2]=r=>s.value.phone=r),class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all",placeholder:"+49 123 456789"},null,512),[[d,s.value.phone]])]),e("div",null,[t[9]||(t[9]=e("label",{for:"subject",class:"block text-sm font-medium text-gray-700 mb-1"}," Betreff * ",-1)),i(e("input",{type:"text",id:"subject","onUpdate:modelValue":t[3]||(t[3]=r=>s.value.subject=r),required:"",class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all",placeholder:"Worum geht es?"},null,512),[[d,s.value.subject]])]),e("div",null,[t[10]||(t[10]=e("label",{for:"message",class:"block text-sm font-medium text-gray-700 mb-1"}," Nachricht * ",-1)),i(e("textarea",{id:"message","onUpdate:modelValue":t[4]||(t[4]=r=>s.value.message=r),required:"",rows:"5",class:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-transparent transition-all resize-none",placeholder:"Ihre Nachricht..."},null,512),[[d,s.value.message]])]),l.value?(a(),n("div",{key:0,class:f(["p-4 rounded-lg",l.value==="success"?"bg-green-50 border border-green-200":"bg-red-50 border border-red-200"])},[e("div",K,[l.value==="success"?(a(),p(b(_),{key:0,size:20,class:"text-green-600 mr-2"})):(a(),p(b(F),{key:1,size:20,class:"text-red-600 mr-2"})),e("p",{class:f([l.value==="success"?"text-green-800":"text-red-800","text-sm font-medium"])},g(u.value),3)])],2)):j("",!0),e("button",{type:"submit",disabled:o.value,class:"w-full px-6 py-4 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 disabled:cursor-not-allowed text-white font-semibold rounded-lg shadow-lg hover:shadow-xl transition-all duration-300 flex items-center justify-center"},[o.value?(a(),n("div",$)):(a(),p(b(B),{key:0,size:20,class:"mr-2"})),N(" "+g(o.value?"Wird gesendet...":"E-Mail senden"),1)],8,L),t[11]||(t[11]=e("p",{class:"text-sm text-gray-600 text-center"}," * Pflichtfelder ",-1))],32),t[13]||(t[13]=e("p",{class:"mt-4 text-sm text-gray-600 text-center"}," Ihre Nachricht wird direkt an j.dichmann@gmx.de gesendet ",-1))])])])]))}},Z={class:"min-h-screen"},te={__name:"kontakt",setup(v){return U({title:"Kontakt - Harheimer TC"}),(s,o)=>(a(),n("div",Z,[z(O)]))}};export{te as default}; diff --git a/.output/public/_nuxt/BN9lzb-3.js b/.output/public/_nuxt/BN9lzb-3.js deleted file mode 100644 index 14a5ba1..0000000 --- a/.output/public/_nuxt/BN9lzb-3.js +++ /dev/null @@ -1 +0,0 @@ -import{r as g,f,g as S,c as i,a as e,h,b as c,w as L,d as m,u as p,t as a,F as w,i as k,_ as V,o as n,l as z,y as C,X as A,n as D}from"#entry";import{u as N}from"./C_U-NUAd.js";import{A as $}from"./C8kQt0fa.js";import{C as T}from"./DaSgy0Cl.js";const j={class:"min-h-full py-16 bg-gray-50"},I={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},E={class:"flex items-center justify-between mb-6"},O={key:0,class:"mb-8"},P={class:"text-2xl font-display font-bold text-gray-900 mb-4"},H={class:"space-y-4"},K={class:"flex items-start justify-between"},W={class:"flex-1"},X={class:"text-lg font-semibold text-gray-900"},Z={class:"text-sm text-gray-600 mt-1"},q={key:0,class:"text-sm text-gray-600"},G={class:"text-xs text-gray-500 mt-2"},J={class:"flex flex-col space-y-2 ml-4"},Q=["onUpdate:modelValue"],Y=["onClick"],ee=["onClick"],te={class:"text-2xl font-display font-bold text-gray-900 mb-4"},se={class:"bg-white rounded-xl shadow-lg overflow-hidden"},oe={class:"min-w-full divide-y divide-gray-200"},ae={class:"bg-white divide-y divide-gray-200"},re={class:"px-6 py-4 whitespace-nowrap"},ie={class:"text-sm font-medium text-gray-900"},ne={class:"px-6 py-4 whitespace-nowrap"},le={class:"text-sm text-gray-600"},de={class:"px-6 py-4 whitespace-nowrap"},ce={class:"text-sm text-gray-600"},me={class:"px-6 py-4 whitespace-nowrap"},ue=["onUpdate:modelValue","onChange"],pe={class:"px-6 py-4 whitespace-nowrap"},ge={class:"text-sm text-gray-600"},he={class:"px-6 py-4 whitespace-nowrap text-right text-sm"},xe=["onClick"],ye={key:1,class:"text-gray-400"},ve={key:1,class:"fixed bottom-20 right-4 bg-green-50 border border-green-200 rounded-lg p-4 shadow-lg"},_e={class:"text-sm text-green-800 flex items-center"},be={key:2,class:"fixed bottom-20 right-4 bg-red-50 border border-red-200 rounded-lg p-4 shadow-lg"},fe={class:"text-sm text-red-800 flex items-center"},Te={__name:"benutzer",setup(we){const x=g([]),v=g(null),l=g(""),r=g(""),y=f(()=>x.value.filter(t=>t.active===!1).map(t=>({...t,selectedRole:t.role||"mitglied"}))),_=f(()=>x.value.filter(t=>t.active===!0)),b=t=>new Date(t).toLocaleString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),u=async()=>{try{const t=await $fetch("/api/cms/users/list");x.value=t.users}catch(t){console.error("Fehler beim Laden der Benutzer:",t),r.value="Fehler beim Laden der Benutzerliste"}},R=async t=>{try{await $fetch("/api/cms/users/approve",{method:"POST",body:{userId:t.id,role:t.selectedRole}}),l.value=`Benutzer ${t.name} wurde als ${t.selectedRole} freigeschaltet`,setTimeout(()=>l.value="",3e3),await u()}catch{r.value="Fehler beim Freischalten des Benutzers",setTimeout(()=>r.value="",3e3)}},B=async t=>{if(confirm(`Möchten Sie die Registrierung von ${t.name} wirklich ablehnen?`))try{await $fetch("/api/cms/users/reject",{method:"POST",body:{userId:t.id}}),l.value=`Registrierung von ${t.name} wurde abgelehnt`,setTimeout(()=>l.value="",3e3),await u()}catch{r.value="Fehler beim Ablehnen der Registrierung",setTimeout(()=>r.value="",3e3)}},U=async t=>{try{await $fetch("/api/cms/users/update-role",{method:"POST",body:{userId:t.id,role:t.role}}),l.value=`Rolle von ${t.name} wurde aktualisiert`,setTimeout(()=>l.value="",3e3)}catch{r.value="Fehler beim Aktualisieren der Rolle",setTimeout(()=>r.value="",3e3),await u()}},F=async t=>{if(confirm(`Möchten Sie ${t.name} wirklich deaktivieren?`))try{await $fetch("/api/cms/users/deactivate",{method:"POST",body:{userId:t.id}}),l.value=`Benutzer ${t.name} wurde deaktiviert`,setTimeout(()=>l.value="",3e3),await u()}catch{r.value="Fehler beim Deaktivieren des Benutzers",setTimeout(()=>r.value="",3e3)}};return S(async()=>{try{const t=await $fetch("/api/auth/status");v.value=t.user?.id}catch(t){console.error("Fehler beim Laden des aktuellen Benutzers:",t)}await u()}),N({title:"Benutzerverwaltung - CMS - Harheimer TC"}),(t,o)=>{const M=V;return n(),i("div",j,[e("div",I,[e("div",E,[o[1]||(o[1]=e("div",null,[e("h1",{class:"text-4xl font-display font-bold text-gray-900"}," Benutzerverwaltung "),e("div",{class:"w-24 h-1 bg-primary-600 mt-4"})],-1)),c(M,{to:"/cms",class:"px-4 py-2 bg-gray-200 hover:bg-gray-300 text-gray-800 rounded-lg transition-colors"},{default:L(()=>[...o[0]||(o[0]=[m(" ← Zurück zum CMS ",-1)])]),_:1})]),y.value.length>0?(n(),i("div",O,[e("h2",P,[c(p($),{size:24,class:"inline text-yellow-600 mr-2"}),m(" Wartende Registrierungen ("+a(y.value.length)+") ",1)]),e("div",H,[(n(!0),i(w,null,k(y.value,s=>(n(),i("div",{key:s.id,class:"bg-yellow-50 border-l-4 border-yellow-400 rounded-lg p-6 shadow"},[e("div",K,[e("div",W,[e("h3",X,a(s.name),1),e("p",Z,a(s.email),1),s.phone?(n(),i("p",q,a(s.phone),1)):h("",!0),e("p",G," Registriert am: "+a(b(s.created)),1)]),e("div",J,[z(e("select",{"onUpdate:modelValue":d=>s.selectedRole=d,class:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-primary-600"},[...o[2]||(o[2]=[e("option",{value:"mitglied"},"Mitglied",-1),e("option",{value:"vorstand"},"Vorstand",-1),e("option",{value:"admin"},"Administrator",-1)])],8,Q),[[C,s.selectedRole]]),e("button",{onClick:d=>R(s),class:"px-4 py-2 bg-green-600 hover:bg-green-700 text-white text-sm font-semibold rounded-lg transition-colors flex items-center justify-center"},[c(p(T),{size:16,class:"mr-1"}),o[3]||(o[3]=m(" Freischalten ",-1))],8,Y),e("button",{onClick:d=>B(s),class:"px-4 py-2 bg-red-600 hover:bg-red-700 text-white text-sm font-semibold rounded-lg transition-colors flex items-center justify-center"},[c(p(A),{size:16,class:"mr-1"}),o[4]||(o[4]=m(" Ablehnen ",-1))],8,ee)])])]))),128))])])):h("",!0),e("div",null,[e("h2",te," Aktive Benutzer ("+a(_.value.length)+") ",1),e("div",se,[e("table",oe,[o[6]||(o[6]=e("thead",{class:"bg-gray-50"},[e("tr",null,[e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Name "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," E-Mail "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Telefon "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Rolle "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Letzter Login "),e("th",{class:"px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider"}," Aktionen ")])],-1)),e("tbody",ae,[(n(!0),i(w,null,k(_.value,s=>(n(),i("tr",{key:s.id,class:"hover:bg-gray-50"},[e("td",re,[e("div",ie,a(s.name),1)]),e("td",ne,[e("div",le,a(s.email),1)]),e("td",de,[e("div",ce,a(s.phone||"-"),1)]),e("td",me,[z(e("select",{"onUpdate:modelValue":d=>s.role=d,onChange:d=>U(s),class:D(["px-3 py-1 border border-gray-300 rounded text-sm",{"bg-red-50 border-red-300":s.role==="admin","bg-blue-50 border-blue-300":s.role==="vorstand","bg-gray-50 border-gray-300":s.role==="mitglied"}])},[...o[5]||(o[5]=[e("option",{value:"mitglied"},"Mitglied",-1),e("option",{value:"vorstand"},"Vorstand",-1),e("option",{value:"admin"},"Administrator",-1)])],42,ue),[[C,s.role]])]),e("td",pe,[e("div",ge,a(s.lastLogin?b(s.lastLogin):"Nie"),1)]),e("td",he,[s.id!==v.value?(n(),i("button",{key:0,onClick:d=>F(s),class:"text-red-600 hover:text-red-800 font-medium"}," Deaktivieren ",8,xe)):(n(),i("span",ye,"Eigenes Konto"))])]))),128))])])])]),l.value?(n(),i("div",ve,[e("p",_e,[c(p(T),{size:18,class:"mr-2"}),m(" "+a(l.value),1)])])):h("",!0),r.value?(n(),i("div",be,[e("p",fe,[c(p($),{size:18,class:"mr-2"}),m(" "+a(r.value),1)])])):h("",!0)])])}}};export{Te as default}; diff --git a/.output/public/_nuxt/Nh9QSW5G.js b/.output/public/_nuxt/BRhWghMt.js similarity index 92% rename from .output/public/_nuxt/Nh9QSW5G.js rename to .output/public/_nuxt/BRhWghMt.js index 9f36f48..cb7ad5f 100644 --- a/.output/public/_nuxt/Nh9QSW5G.js +++ b/.output/public/_nuxt/BRhWghMt.js @@ -1,7 +1,7 @@ -import{u as $}from"./C_U-NUAd.js";import{F as b}from"./BteKZQ9T.js";import{e as j,r as _,f as w,g as E,c as a,a as l,t as c,F as k,i as S,b as x,u as g,h as M,o as r,d as L}from"#entry";import{E as z}from"./Cx4UcKGu.js";/** +import{u as I}from"./C_U-NUAd.js";import{F as b}from"./BteKZQ9T.js";import{e as $,r as _,g as w,h as E,c as a,a as l,t as c,F as k,j as S,b as x,u as g,i as M,o as r,d as L}from"#entry";import{E as z}from"./Cx4UcKGu.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 A=j("DownloadIcon",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),N={class:"min-h-full py-16 bg-gray-50"},V={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},G={class:"text-center mb-12"},H={class:"text-xl text-gray-600 max-w-3xl mx-auto"},T={key:0,class:"space-y-4 max-w-4xl mx-auto"},B={class:"flex items-center justify-between"},P={class:"flex items-center space-x-4"},X={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center"},C={class:"text-lg font-semibold text-gray-900"},K={class:"text-sm text-gray-500"},O=["href"],q={key:1,class:"text-center py-16 bg-white rounded-xl shadow-lg max-w-4xl mx-auto"},Q={class:"text-gray-600"},Y={class:"mt-12 max-w-4xl mx-auto"},J={key:0,class:"space-y-3"},R={class:"flex items-center justify-between"},U={class:"font-semibold text-gray-900"},W={class:"text-sm text-gray-500"},Z=["href"],oe={__name:"spielplaene",setup(ee){const u=_([]),p=_([]),d=w(()=>{const n=new Date,t=n.getMonth()+1,s=n.getFullYear();return t>=7?{start:s,ende:s+1}:{start:s-1,ende:s}}),m=w(()=>`${d.value.start}/${d.value.ende}`),D=n=>{console.log("extractSaison für:",n);let t=n.match(/(\d{4})[^0-9](\d{4})/);if(t){const s=parseInt(t[1]),e=parseInt(t[2]);return console.log(" Gefunden (4-stellig):",s,e),{start:s,ende:e,label:`${s}/${e}`}}if(t=n.match(/(\d{2})[^0-9](\d{2})/),t){let s=parseInt(t[1]),e=parseInt(t[2]);return s<100&&(s=2e3+s,e=2e3+e),console.log(" Gefunden (2-stellig):",s,e),{start:s,ende:e,label:`${s}/${e}`}}return console.log(" Keine Saison gefunden"),null},v=n=>n?n.start===d.value.start&&n.ende===d.value.ende:!1,F=async()=>{try{console.log("=== SPIELPLÄNE LADEN ==="),console.log("Aktuelle Saison:",d.value),console.log("Saison Label:",m.value);const n=await fetch("/api/spielplaene");if(!n.ok){console.error("Fehler beim Laden der Spielpläne:",n.status);return}const t=await n.json();console.log("Geladene Dateien:",t);const s=t.map(e=>{console.log("Verarbeite Datei:",e);const o=D(e);if(console.log(" Extrahierte Saison:",o),console.log(" Ist aktuelle Saison?",o?v(o):!1),!o||!v(o))return null;const i=e.replace(/\.(pdf|PDF|xlsx|XLSX|xls|XLS)$/,"").replace(/[-_]/g," ").replace(/\d{2,4}[-_\/⁄]\d{2,4}/,"").trim();return{filename:e,titel:i||e,saison:o.label,url:`/spielplaene/${e}`}}).filter(e=>e!==null);u.value=s,console.log("Aktuelle Saison:",m.value),console.log("Gefundene Spielpläne:",u.value)}catch(n){console.error("Fehler beim Laden der Spielpläne:",n)}},I=async()=>{try{const n=await fetch("/data/mannschaften.csv");if(!n.ok)return;const s=(await n.text()).split(` -`).filter(e=>e.trim()!=="");if(s.length<2)return;p.value=s.slice(1).map(e=>{const o=[];let i="",h=!1;for(let f=0;fe!==null&&e.weitere_informationen_link!==""),console.log("Mannschaften mit Links:",p.value)}catch(n){console.error("Fehler beim Laden der Mannschaften:",n)}};return E(()=>{F(),I()}),$({title:"Spielpläne - Harheimer TC"}),(n,t)=>(r(),a("div",N,[l("div",V,[l("div",G,[t[0]||(t[0]=l("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Spielpläne ",-1)),t[1]||(t[1]=l("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"},null,-1)),l("p",H," Aktuelle Spielpläne der Saison "+c(m.value),1)]),u.value.length>0?(r(),a("div",T,[(r(!0),a(k,null,S(u.value,(s,e)=>(r(),a("div",{key:e,class:"bg-white rounded-xl shadow-lg border border-gray-100 p-6 hover:shadow-xl transition-shadow"},[l("div",B,[l("div",P,[l("div",X,[x(g(b),{size:24,class:"text-primary-600"})]),l("div",null,[l("h3",C,c(s.titel),1),l("p",K,"Saison "+c(s.saison),1)])]),l("a",{href:s.url,download:"",class:"inline-flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-medium rounded-lg transition-colors"},[x(g(A),{size:18,class:"mr-2"}),t[2]||(t[2]=L(" Download ",-1))],8,O)])]))),128))])):(r(),a("div",q,[x(g(b),{size:48,class:"text-gray-400 mx-auto mb-4"}),t[3]||(t[3]=l("h3",{class:"text-xl font-semibold text-gray-900 mb-2"},"Keine Spielpläne verfügbar",-1)),l("p",Q," Für die aktuelle Saison "+c(m.value)+" sind noch keine Spielpläne verfügbar. ",1)])),l("div",Y,[t[5]||(t[5]=l("h2",{class:"text-2xl font-display font-bold text-gray-900 mb-6 text-center"}," Online Spielpläne & Tabellen ",-1)),p.value.length>0?(r(),a("div",J,[(r(!0),a(k,null,S(p.value,(s,e)=>(r(),a("div",{key:e,class:"bg-white rounded-lg shadow border border-gray-100 p-4 hover:shadow-md transition-shadow"},[l("div",R,[l("div",null,[l("h3",U,c(s.mannschaft),1),l("p",W,c(s.liga),1)]),l("a",{href:s.weitere_informationen_link,target:"_blank",class:"inline-flex items-center px-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-lg transition-colors text-sm"},[x(g(z),{size:16,class:"mr-2"}),t[4]||(t[4]=L(" Online ansehen ",-1))],8,Z)])]))),128))])):M("",!0)]),t[6]||(t[6]=l("div",{class:"mt-12 max-w-4xl mx-auto bg-primary-50 border border-primary-100 rounded-xl p-6"},[l("h3",{class:"text-lg font-semibold text-primary-900 mb-2"}," Hinweis "),l("p",{class:"text-primary-800"}," Die Spielpläne werden automatisch für die aktuelle Saison angezeigt. Ältere Spielpläne können auf Anfrage bereitgestellt werden. ")],-1))])]))}};export{oe as default}; + */const A=$("DownloadIcon",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),N={class:"min-h-full py-16 bg-gray-50"},V={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},G={class:"text-center mb-12"},H={class:"text-xl text-gray-600 max-w-3xl mx-auto"},T={key:0,class:"space-y-4 max-w-4xl mx-auto"},B={class:"flex items-center justify-between"},P={class:"flex items-center space-x-4"},X={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center"},C={class:"text-lg font-semibold text-gray-900"},K={class:"text-sm text-gray-500"},O=["href"],q={key:1,class:"text-center py-16 bg-white rounded-xl shadow-lg max-w-4xl mx-auto"},Q={class:"text-gray-600"},Y={class:"mt-12 max-w-4xl mx-auto"},J={key:0,class:"space-y-3"},R={class:"flex items-center justify-between"},U={class:"font-semibold text-gray-900"},W={class:"text-sm text-gray-500"},Z=["href"],oe={__name:"spielplaene",setup(ee){const u=_([]),p=_([]),d=w(()=>{const n=new Date,t=n.getMonth()+1,s=n.getFullYear();return t>=7?{start:s,ende:s+1}:{start:s-1,ende:s}}),m=w(()=>`${d.value.start}/${d.value.ende}`),D=n=>{console.log("extractSaison für:",n);let t=n.match(/(\d{4})[^0-9](\d{4})/);if(t){const s=parseInt(t[1]),e=parseInt(t[2]);return console.log(" Gefunden (4-stellig):",s,e),{start:s,ende:e,label:`${s}/${e}`}}if(t=n.match(/(\d{2})[^0-9](\d{2})/),t){let s=parseInt(t[1]),e=parseInt(t[2]);return s<100&&(s=2e3+s,e=2e3+e),console.log(" Gefunden (2-stellig):",s,e),{start:s,ende:e,label:`${s}/${e}`}}return console.log(" Keine Saison gefunden"),null},v=n=>n?n.start===d.value.start&&n.ende===d.value.ende:!1,F=async()=>{try{console.log("=== SPIELPLÄNE LADEN ==="),console.log("Aktuelle Saison:",d.value),console.log("Saison Label:",m.value);const n=await fetch("/api/spielplaene");if(!n.ok){console.error("Fehler beim Laden der Spielpläne:",n.status);return}const t=await n.json();console.log("Geladene Dateien:",t);const s=t.map(e=>{console.log("Verarbeite Datei:",e);const o=D(e);if(console.log(" Extrahierte Saison:",o),console.log(" Ist aktuelle Saison?",o?v(o):!1),!o||!v(o))return null;const i=e.replace(/\.(pdf|PDF|xlsx|XLSX|xls|XLS)$/,"").replace(/[-_]/g," ").replace(/\d{2,4}[-_\/⁄]\d{2,4}/,"").trim();return{filename:e,titel:i||e,saison:o.label,url:`/spielplaene/${e}`}}).filter(e=>e!==null);u.value=s,console.log("Aktuelle Saison:",m.value),console.log("Gefundene Spielpläne:",u.value)}catch(n){console.error("Fehler beim Laden der Spielpläne:",n)}},j=async()=>{try{const n=await fetch("/data/mannschaften.csv");if(!n.ok)return;const s=(await n.text()).split(` +`).filter(e=>e.trim()!=="");if(s.length<2)return;p.value=s.slice(1).map(e=>{const o=[];let i="",h=!1;for(let f=0;fe!==null&&e.weitere_informationen_link!==""),console.log("Mannschaften mit Links:",p.value)}catch(n){console.error("Fehler beim Laden der Mannschaften:",n)}};return E(()=>{F(),j()}),I({title:"Spielpläne - Harheimer TC"}),(n,t)=>(r(),a("div",N,[l("div",V,[l("div",G,[t[0]||(t[0]=l("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Spielpläne ",-1)),t[1]||(t[1]=l("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"},null,-1)),l("p",H," Aktuelle Spielpläne der Saison "+c(m.value),1)]),u.value.length>0?(r(),a("div",T,[(r(!0),a(k,null,S(u.value,(s,e)=>(r(),a("div",{key:e,class:"bg-white rounded-xl shadow-lg border border-gray-100 p-6 hover:shadow-xl transition-shadow"},[l("div",B,[l("div",P,[l("div",X,[x(g(b),{size:24,class:"text-primary-600"})]),l("div",null,[l("h3",C,c(s.titel),1),l("p",K,"Saison "+c(s.saison),1)])]),l("a",{href:s.url,download:"",class:"inline-flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-medium rounded-lg transition-colors"},[x(g(A),{size:18,class:"mr-2"}),t[2]||(t[2]=L(" Download ",-1))],8,O)])]))),128))])):(r(),a("div",q,[x(g(b),{size:48,class:"text-gray-400 mx-auto mb-4"}),t[3]||(t[3]=l("h3",{class:"text-xl font-semibold text-gray-900 mb-2"},"Keine Spielpläne verfügbar",-1)),l("p",Q," Für die aktuelle Saison "+c(m.value)+" sind noch keine Spielpläne verfügbar. ",1)])),l("div",Y,[t[5]||(t[5]=l("h2",{class:"text-2xl font-display font-bold text-gray-900 mb-6 text-center"}," Online Spielpläne & Tabellen ",-1)),p.value.length>0?(r(),a("div",J,[(r(!0),a(k,null,S(p.value,(s,e)=>(r(),a("div",{key:e,class:"bg-white rounded-lg shadow border border-gray-100 p-4 hover:shadow-md transition-shadow"},[l("div",R,[l("div",null,[l("h3",U,c(s.mannschaft),1),l("p",W,c(s.liga),1)]),l("a",{href:s.weitere_informationen_link,target:"_blank",class:"inline-flex items-center px-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-lg transition-colors text-sm"},[x(g(z),{size:16,class:"mr-2"}),t[4]||(t[4]=L(" Online ansehen ",-1))],8,Z)])]))),128))])):M("",!0)]),t[6]||(t[6]=l("div",{class:"mt-12 max-w-4xl mx-auto bg-primary-50 border border-primary-100 rounded-xl p-6"},[l("h3",{class:"text-lg font-semibold text-primary-900 mb-2"}," Hinweis "),l("p",{class:"text-primary-800"}," Die Spielpläne werden automatisch für die aktuelle Saison angezeigt. Ältere Spielpläne können auf Anfrage bereitgestellt werden. ")],-1))])]))}};export{oe as default}; diff --git a/.output/public/_nuxt/BFexRfL9.js b/.output/public/_nuxt/BU5mk92E.js similarity index 95% rename from .output/public/_nuxt/BFexRfL9.js rename to .output/public/_nuxt/BU5mk92E.js index a7b90a3..840f3c2 100644 --- a/.output/public/_nuxt/BFexRfL9.js +++ b/.output/public/_nuxt/BU5mk92E.js @@ -1,2 +1,2 @@ -import{r as S,g as C,c as i,o as l,F as w,i as k,a as e,t as m,n as D,h as M,b as a,d as $,u as f,w as x,_ as N}from"#entry";import{B as T}from"./jVj3QaoK.js";import{U as y}from"./DkeYb0_S.js";import{u as B}from"./C_U-NUAd.js";const H={key:0,class:"space-y-8"},V={class:"bg-gradient-to-r from-primary-600 to-primary-700 p-6"},E={class:"text-2xl font-display font-bold text-white mb-2"},U={class:"text-primary-100 text-lg"},j={class:"p-6"},A={class:"grid md:grid-cols-2 gap-6 mb-6"},F={class:"space-y-3"},W={class:"flex items-center space-x-3"},Z={class:"font-semibold text-gray-900"},I={class:"flex items-center space-x-3"},J={class:"font-semibold text-gray-900"},K={class:"space-y-3"},P={class:"flex items-center space-x-3"},Q={class:"font-semibold text-gray-900"},R={class:"flex items-center space-x-3"},q={class:"font-semibold text-gray-900"},G={class:"border-t border-gray-200 pt-6"},O={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4"},X={class:"font-semibold text-gray-900"},Y={key:0,class:"text-xs text-primary-600 font-medium mt-1"},ee={class:"border-t border-gray-200 pt-6 mt-6"},te={class:"text-center"},se=["href"],re={class:"border-t border-gray-200 pt-4 mt-6"},ne={class:"text-sm text-gray-500 text-center"},oe={key:1,class:"text-center py-12 bg-gray-50 rounded-xl"},ie={__name:"MannschaftenUebersicht",setup(z){const u=S([]),s=async()=>{try{console.log("Lade Mannschaften...");const o=await fetch("/data/mannschaften.csv");if(console.log("Response:",o),!o.ok)throw new Error(`HTTP error! status: ${o.status}`);const t=await o.text();console.log("CSV Text:",t);const n=t.split(` -`).filter(d=>d.trim()!=="");if(console.log("CSV Lines:",n),n.length<2){console.log("Keine Datenzeilen gefunden");return}u.value=n.slice(1).map((d,p)=>{const r=[];let c="",h=!1;for(let b=0;bd!==null),console.log("Alle geparsten Mannschaften:",u.value)}catch(o){console.error("Fehler beim Laden der Mannschaften:",o)}},g=o=>o.spieler?o.spieler.split(";").map(t=>t.trim()).filter(t=>t!==""):[],L=o=>{if(!o)return"";if(/^\d{2}\.\d{2}\.\d{4}$/.test(o))return o;const t=new Date(o);return isNaN(t.getTime())?o:t.toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"})};return C(()=>{s()}),(o,t)=>(l(),i("div",null,[u.value.length>0?(l(),i("div",H,[(l(!0),i(w,null,k(u.value,(n,d)=>(l(),i("div",{key:d,class:"bg-white rounded-xl shadow-lg border border-gray-100 overflow-hidden"},[e("div",V,[e("h2",E,m(n.mannschaft),1),e("p",U,m(n.liga),1)]),e("div",j,[e("div",A,[e("div",F,[e("div",W,[t[0]||(t[0]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[1]||(t[1]=e("span",{class:"text-gray-600"},"Staffelleiter:",-1)),e("span",Z,m(n.staffelleiter),1)]),e("div",I,[t[2]||(t[2]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[3]||(t[3]=e("span",{class:"text-gray-600"},"Telefon:",-1)),e("span",J,m(n.telefon),1)])]),e("div",K,[e("div",P,[t[4]||(t[4]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[5]||(t[5]=e("span",{class:"text-gray-600"},"Heimspieltag:",-1)),e("span",Q,m(n.heimspieltag),1)]),e("div",R,[t[6]||(t[6]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[7]||(t[7]=e("span",{class:"text-gray-600"},"Spielsystem:",-1)),e("span",q,m(n.spielsystem),1)])])]),e("div",G,[t[8]||(t[8]=e("h3",{class:"text-xl font-semibold text-gray-900 mb-4"}," Mannschaftsaufstellung Saison 2025/26 (Hinrunde) ",-1)),e("div",O,[(l(!0),i(w,null,k(g(n),(p,r)=>(l(),i("div",{key:r,class:D(["bg-gray-50 rounded-lg p-4 text-center",p===n.mannschaftsfuehrer?"ring-2 ring-primary-500 bg-primary-50":""])},[e("div",X,m(p),1),p===n.mannschaftsfuehrer?(l(),i("div",Y," Mannschaftsführer ")):M("",!0)],2))),128))])]),e("div",ee,[e("div",te,[n.weitere_informationen_link&&n.weitere_informationen_link!==""?(l(),i("a",{key:0,href:n.weitere_informationen_link,target:"_blank",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},[a(f(T),{size:20,class:"mr-2"}),t[9]||(t[9]=$(" Weitere Informationen ",-1))],8,se)):M("",!0)])]),e("div",re,[e("p",ne," Zuletzt aktualisiert am: "+m(L(n.letzte_aktualisierung)),1)])])]))),128))])):(l(),i("div",oe,[a(f(y),{size:48,class:"text-gray-400 mx-auto mb-4"}),t[10]||(t[10]=e("p",{class:"text-gray-600"},"Keine Mannschaftsdaten geladen",-1))]))]))}},le={class:"min-h-full py-16 bg-gray-50"},ae={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},de={class:"mt-16"},me={class:"grid md:grid-cols-3 gap-8"},ge={class:"w-16 h-16 bg-gradient-to-br from-primary-500 to-primary-700 rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform"},pe={class:"w-16 h-16 bg-gradient-to-br from-primary-500 to-primary-700 rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform"},ue={class:"w-16 h-16 bg-gradient-to-br from-primary-500 to-primary-700 rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform"},fe={class:"mt-12 bg-primary-50 p-8 rounded-xl border border-primary-100"},be={__name:"index",setup(z){return B({title:"Mannschaften - Harheimer TC"}),(u,s)=>{const g=N;return l(),i("div",le,[e("div",ae,[s[10]||(s[10]=e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Unsere Mannschaften ",-1)),s[11]||(s[11]=e("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),s[12]||(s[12]=e("p",{class:"text-xl text-gray-600 mb-12"}," Unsere aktiven Mannschaften in der Saison 2025/26 ",-1)),a(ie),e("div",de,[s[9]||(s[9]=e("h2",{class:"text-3xl font-display font-bold text-gray-900 mb-8 text-center"}," Weitere Informationen ",-1)),e("div",me,[a(g,{to:"/mannschaften/herren",class:"group bg-white p-8 rounded-xl shadow-lg hover:shadow-2xl transition-all border border-gray-100 hover:border-primary-600"},{default:x(()=>[e("div",ge,[a(f(y),{size:32,class:"text-white"})]),s[0]||(s[0]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-2 group-hover:text-primary-600 transition-colors"}," Herren ",-1)),s[1]||(s[1]=e("p",{class:"text-gray-600"}," 3 Mannschaften in verschiedenen Ligen ",-1))]),_:1}),a(g,{to:"/mannschaften/damen",class:"group bg-white p-8 rounded-xl shadow-lg hover:shadow-2xl transition-all border border-gray-100 hover:border-primary-600"},{default:x(()=>[e("div",pe,[a(f(y),{size:32,class:"text-white"})]),s[2]||(s[2]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-2 group-hover:text-primary-600 transition-colors"}," Damen ",-1)),s[3]||(s[3]=e("p",{class:"text-gray-600"}," 1 Mannschaft in der Bezirksliga ",-1))]),_:1}),a(g,{to:"/mannschaften/jugend",class:"group bg-white p-8 rounded-xl shadow-lg hover:shadow-2xl transition-all border border-gray-100 hover:border-primary-600"},{default:x(()=>[e("div",ue,[a(f(y),{size:32,class:"text-white"})]),s[4]||(s[4]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-2 group-hover:text-primary-600 transition-colors"}," Jugend ",-1)),s[5]||(s[5]=e("p",{class:"text-gray-600"}," 2 Jugendmannschaften ",-1))]),_:1})]),e("div",fe,[s[7]||(s[7]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-4"}," Spielpläne & Ergebnisse ",-1)),s[8]||(s[8]=e("p",{class:"text-gray-600 mb-6"}," Alle aktuellen Spielpläne und Ergebnisse unserer Mannschaften finden Sie hier. ",-1)),a(g,{to:"/mannschaften/spielplaene",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:x(()=>[...s[6]||(s[6]=[$(" Zu den Spielplänen ",-1)])]),_:1})])])])])}}};export{be as default}; +import{r as S,h as C,c as i,o as l,F as w,j as k,a as e,t as m,n as D,i as M,b as a,d as $,u as f,w as x,_ as N}from"#entry";import{B as T}from"./jVj3QaoK.js";import{U as y}from"./DkeYb0_S.js";import{u as B}from"./C_U-NUAd.js";const H={key:0,class:"space-y-8"},V={class:"bg-gradient-to-r from-primary-600 to-primary-700 p-6"},j={class:"text-2xl font-display font-bold text-white mb-2"},E={class:"text-primary-100 text-lg"},U={class:"p-6"},A={class:"grid md:grid-cols-2 gap-6 mb-6"},F={class:"space-y-3"},W={class:"flex items-center space-x-3"},Z={class:"font-semibold text-gray-900"},I={class:"flex items-center space-x-3"},J={class:"font-semibold text-gray-900"},K={class:"space-y-3"},P={class:"flex items-center space-x-3"},Q={class:"font-semibold text-gray-900"},R={class:"flex items-center space-x-3"},q={class:"font-semibold text-gray-900"},G={class:"border-t border-gray-200 pt-6"},O={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4"},X={class:"font-semibold text-gray-900"},Y={key:0,class:"text-xs text-primary-600 font-medium mt-1"},ee={class:"border-t border-gray-200 pt-6 mt-6"},te={class:"text-center"},se=["href"],re={class:"border-t border-gray-200 pt-4 mt-6"},ne={class:"text-sm text-gray-500 text-center"},oe={key:1,class:"text-center py-12 bg-gray-50 rounded-xl"},ie={__name:"MannschaftenUebersicht",setup(z){const u=S([]),s=async()=>{try{console.log("Lade Mannschaften...");const o=await fetch("/data/mannschaften.csv");if(console.log("Response:",o),!o.ok)throw new Error(`HTTP error! status: ${o.status}`);const t=await o.text();console.log("CSV Text:",t);const n=t.split(` +`).filter(d=>d.trim()!=="");if(console.log("CSV Lines:",n),n.length<2){console.log("Keine Datenzeilen gefunden");return}u.value=n.slice(1).map((d,p)=>{const r=[];let c="",h=!1;for(let b=0;bd!==null),console.log("Alle geparsten Mannschaften:",u.value)}catch(o){console.error("Fehler beim Laden der Mannschaften:",o)}},g=o=>o.spieler?o.spieler.split(";").map(t=>t.trim()).filter(t=>t!==""):[],L=o=>{if(!o)return"";if(/^\d{2}\.\d{2}\.\d{4}$/.test(o))return o;const t=new Date(o);return isNaN(t.getTime())?o:t.toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"})};return C(()=>{s()}),(o,t)=>(l(),i("div",null,[u.value.length>0?(l(),i("div",H,[(l(!0),i(w,null,k(u.value,(n,d)=>(l(),i("div",{key:d,class:"bg-white rounded-xl shadow-lg border border-gray-100 overflow-hidden"},[e("div",V,[e("h2",j,m(n.mannschaft),1),e("p",E,m(n.liga),1)]),e("div",U,[e("div",A,[e("div",F,[e("div",W,[t[0]||(t[0]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[1]||(t[1]=e("span",{class:"text-gray-600"},"Staffelleiter:",-1)),e("span",Z,m(n.staffelleiter),1)]),e("div",I,[t[2]||(t[2]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[3]||(t[3]=e("span",{class:"text-gray-600"},"Telefon:",-1)),e("span",J,m(n.telefon),1)])]),e("div",K,[e("div",P,[t[4]||(t[4]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[5]||(t[5]=e("span",{class:"text-gray-600"},"Heimspieltag:",-1)),e("span",Q,m(n.heimspieltag),1)]),e("div",R,[t[6]||(t[6]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[7]||(t[7]=e("span",{class:"text-gray-600"},"Spielsystem:",-1)),e("span",q,m(n.spielsystem),1)])])]),e("div",G,[t[8]||(t[8]=e("h3",{class:"text-xl font-semibold text-gray-900 mb-4"}," Mannschaftsaufstellung Saison 2025/26 (Hinrunde) ",-1)),e("div",O,[(l(!0),i(w,null,k(g(n),(p,r)=>(l(),i("div",{key:r,class:D(["bg-gray-50 rounded-lg p-4 text-center",p===n.mannschaftsfuehrer?"ring-2 ring-primary-500 bg-primary-50":""])},[e("div",X,m(p),1),p===n.mannschaftsfuehrer?(l(),i("div",Y," Mannschaftsführer ")):M("",!0)],2))),128))])]),e("div",ee,[e("div",te,[n.weitere_informationen_link&&n.weitere_informationen_link!==""?(l(),i("a",{key:0,href:n.weitere_informationen_link,target:"_blank",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},[a(f(T),{size:20,class:"mr-2"}),t[9]||(t[9]=$(" Weitere Informationen ",-1))],8,se)):M("",!0)])]),e("div",re,[e("p",ne," Zuletzt aktualisiert am: "+m(L(n.letzte_aktualisierung)),1)])])]))),128))])):(l(),i("div",oe,[a(f(y),{size:48,class:"text-gray-400 mx-auto mb-4"}),t[10]||(t[10]=e("p",{class:"text-gray-600"},"Keine Mannschaftsdaten geladen",-1))]))]))}},le={class:"min-h-full py-16 bg-gray-50"},ae={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},de={class:"mt-16"},me={class:"grid md:grid-cols-3 gap-8"},ge={class:"w-16 h-16 bg-gradient-to-br from-primary-500 to-primary-700 rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform"},pe={class:"w-16 h-16 bg-gradient-to-br from-primary-500 to-primary-700 rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform"},ue={class:"w-16 h-16 bg-gradient-to-br from-primary-500 to-primary-700 rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform"},fe={class:"mt-12 bg-primary-50 p-8 rounded-xl border border-primary-100"},be={__name:"index",setup(z){return B({title:"Mannschaften - Harheimer TC"}),(u,s)=>{const g=N;return l(),i("div",le,[e("div",ae,[s[10]||(s[10]=e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Unsere Mannschaften ",-1)),s[11]||(s[11]=e("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),s[12]||(s[12]=e("p",{class:"text-xl text-gray-600 mb-12"}," Unsere aktiven Mannschaften in der Saison 2025/26 ",-1)),a(ie),e("div",de,[s[9]||(s[9]=e("h2",{class:"text-3xl font-display font-bold text-gray-900 mb-8 text-center"}," Weitere Informationen ",-1)),e("div",me,[a(g,{to:"/mannschaften/herren",class:"group bg-white p-8 rounded-xl shadow-lg hover:shadow-2xl transition-all border border-gray-100 hover:border-primary-600"},{default:x(()=>[e("div",ge,[a(f(y),{size:32,class:"text-white"})]),s[0]||(s[0]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-2 group-hover:text-primary-600 transition-colors"}," Herren ",-1)),s[1]||(s[1]=e("p",{class:"text-gray-600"}," 3 Mannschaften in verschiedenen Ligen ",-1))]),_:1}),a(g,{to:"/mannschaften/damen",class:"group bg-white p-8 rounded-xl shadow-lg hover:shadow-2xl transition-all border border-gray-100 hover:border-primary-600"},{default:x(()=>[e("div",pe,[a(f(y),{size:32,class:"text-white"})]),s[2]||(s[2]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-2 group-hover:text-primary-600 transition-colors"}," Damen ",-1)),s[3]||(s[3]=e("p",{class:"text-gray-600"}," 1 Mannschaft in der Bezirksliga ",-1))]),_:1}),a(g,{to:"/mannschaften/jugend",class:"group bg-white p-8 rounded-xl shadow-lg hover:shadow-2xl transition-all border border-gray-100 hover:border-primary-600"},{default:x(()=>[e("div",ue,[a(f(y),{size:32,class:"text-white"})]),s[4]||(s[4]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-2 group-hover:text-primary-600 transition-colors"}," Jugend ",-1)),s[5]||(s[5]=e("p",{class:"text-gray-600"}," 2 Jugendmannschaften ",-1))]),_:1})]),e("div",fe,[s[7]||(s[7]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-4"}," Spielpläne & Ergebnisse ",-1)),s[8]||(s[8]=e("p",{class:"text-gray-600 mb-6"}," Alle aktuellen Spielpläne und Ergebnisse unserer Mannschaften finden Sie hier. ",-1)),a(g,{to:"/mannschaften/spielplaene",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:x(()=>[...s[6]||(s[6]=[$(" Zu den Spielplänen ",-1)])]),_:1})])])])])}}};export{be as default}; diff --git a/.output/public/_nuxt/RzC6IeuO.js b/.output/public/_nuxt/BZLaJF8o.js similarity index 96% rename from .output/public/_nuxt/RzC6IeuO.js rename to .output/public/_nuxt/BZLaJF8o.js index 2ec338f..749ab72 100644 --- a/.output/public/_nuxt/RzC6IeuO.js +++ b/.output/public/_nuxt/BZLaJF8o.js @@ -1 +1 @@ -import{c as n,a as e,q as r,b as o,d as s,w as l,_ as i,o as d}from"#entry";import{u as g}from"./C_U-NUAd.js";const p={class:"min-h-full py-16 bg-gray-50"},x={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},m={class:"space-y-8"},u={class:"bg-primary-50 p-8 rounded-xl border border-primary-100"},h={__name:"jugend",setup(b){return g({title:"Jugendmannschaften - Harheimer TC"}),(y,t)=>{const a=i;return d(),n("div",p,[e("div",x,[t[4]||(t[4]=e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Jugendmannschaften ",-1)),t[5]||(t[5]=e("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),e("div",m,[t[3]||(t[3]=r('

Jugend 1 (U18)

Liga: Bezirksliga

Betreuer: Name folgt

Jugend 2 (U15)

Liga: Kreisliga

Betreuer: Name folgt

',2)),e("div",u,[t[1]||(t[1]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-4"}," Jugendtraining ",-1)),t[2]||(t[2]=e("p",{class:"text-gray-600 mb-6"},[e("strong",null,"Dienstag & Donnerstag:"),s(" 17:00 - 19:00 Uhr"),e("br"),s(" Für Kinder und Jugendliche von 8-18 Jahren ")],-1)),o(a,{to:"/training",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:l(()=>[...t[0]||(t[0]=[s(" Mehr zum Training ",-1)])]),_:1})])])])])}}};export{h as default}; +import{c as n,a as e,f as r,b as o,d as s,w as l,_ as i,o as d}from"#entry";import{u as g}from"./C_U-NUAd.js";const p={class:"min-h-full py-16 bg-gray-50"},x={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},m={class:"space-y-8"},u={class:"bg-primary-50 p-8 rounded-xl border border-primary-100"},h={__name:"jugend",setup(b){return g({title:"Jugendmannschaften - Harheimer TC"}),(y,t)=>{const a=i;return d(),n("div",p,[e("div",x,[t[4]||(t[4]=e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Jugendmannschaften ",-1)),t[5]||(t[5]=e("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),e("div",m,[t[3]||(t[3]=r('

Jugend 1 (U18)

Liga: Bezirksliga

Betreuer: Name folgt

Jugend 2 (U15)

Liga: Kreisliga

Betreuer: Name folgt

',2)),e("div",u,[t[1]||(t[1]=e("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-4"}," Jugendtraining ",-1)),t[2]||(t[2]=e("p",{class:"text-gray-600 mb-6"},[e("strong",null,"Dienstag & Donnerstag:"),s(" 17:00 - 19:00 Uhr"),e("br"),s(" Für Kinder und Jugendliche von 8-18 Jahren ")],-1)),o(a,{to:"/training",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:l(()=>[...t[0]||(t[0]=[s(" Mehr zum Training ",-1)])]),_:1})])])])])}}};export{h as default}; diff --git a/.output/public/_nuxt/DCs9V8J_.js b/.output/public/_nuxt/Bdk8d7qx.js similarity index 98% rename from .output/public/_nuxt/DCs9V8J_.js rename to .output/public/_nuxt/Bdk8d7qx.js index 7245b5f..b9f4404 100644 --- a/.output/public/_nuxt/DCs9V8J_.js +++ b/.output/public/_nuxt/Bdk8d7qx.js @@ -1,4 +1,4 @@ -import{e as l,r as a,g as d,c as m,a as t,t as x,b as s,u as n,w as g,_ as p,o as u}from"#entry";import{u as f}from"./C_U-NUAd.js";import{C as y}from"./YJHbYJtA.js";import{N as b}from"./DAACT36i.js";import{F as c}from"./BteKZQ9T.js";import{U as h}from"./DkeYb0_S.js";/** +import{e as l,r as a,h as d,c as m,a as t,t as x,b as s,u as n,w as g,_ as p,o as u}from"#entry";import{u as f}from"./C_U-NUAd.js";import{C as y}from"./YJHbYJtA.js";import{N as b}from"./DAACT36i.js";import{F as c}from"./BteKZQ9T.js";import{U as h}from"./DkeYb0_S.js";/** * @license lucide-vue-next v0.344.0 - ISC * * This source code is licensed under the ISC license. diff --git a/.output/public/_nuxt/C0ltx_3z.js b/.output/public/_nuxt/BjiYAScN.js similarity index 90% rename from .output/public/_nuxt/C0ltx_3z.js rename to .output/public/_nuxt/BjiYAScN.js index ea0c69d..7d36d69 100644 --- a/.output/public/_nuxt/C0ltx_3z.js +++ b/.output/public/_nuxt/BjiYAScN.js @@ -1 +1 @@ -import{c as n,o as r,a as e,F as p,i as u,n as o,h as y,b as i,m as _,s as v,t as a,u as m,w as c,d as l,_ as w}from"#entry";import{C as b}from"./DaSgy0Cl.js";import{S as k}from"./XZ6RV9KH.js";import{H as z}from"./CWEkTB1z.js";import{F as S}from"./BteKZQ9T.js";import{E as V}from"./Czdc6-TI.js";import{u as C}from"./C_U-NUAd.js";const J={id:"membership",class:"py-16 sm:py-20 bg-gradient-to-b from-gray-50 to-white"},F={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},T={class:"grid md:grid-cols-3 gap-8 max-w-6xl mx-auto"},H={key:0,class:"absolute top-0 right-0 bg-primary-600 text-white px-4 py-1 text-sm font-semibold rounded-bl-lg"},N={class:"p-8"},B={class:"text-2xl font-display font-bold text-gray-900 mb-2"},E={class:"text-gray-600 mb-6 min-h-[3rem]"},K={class:"mb-6"},M={class:"flex items-baseline"},L={class:"text-5xl font-bold text-gray-900"},j={class:"text-gray-600 ml-2"},D={class:"space-y-3 mb-8"},P={class:"text-gray-700"},U={class:"mt-16 bg-white rounded-2xl shadow-xl p-8 border border-gray-100"},G={class:"flex flex-col sm:flex-row gap-4 justify-center items-center"},W={href:"/documents/satzung.pdf",target:"_blank",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},$={class:"mt-16 bg-gradient-to-r from-primary-600 to-primary-700 rounded-2xl p-8 sm:p-12 text-center"},I={__name:"Membership",setup(h){const g=[{name:"Kinder/Jugend",price:"72",period:"Jahr",description:"Perfekt für junge Tischtennisspieler bis 18 Jahre",features:["Unbegrenzte Hallennutzung","Kostenfreies Jugendtraining","Teilnahme an Jugendturnieren","Clubveranstaltungen","Gäste mitbringen"],icon:k,gradient:"from-blue-500 to-cyan-500"},{name:"Erwachsene",price:"120",period:"Jahr",description:"Vollmitgliedschaft für Erwachsene",features:["Unbegrenzte Hallennutzung","Freies Spielen nach Verfügbarkeit","Clubveranstaltungen","Gäste mitbringen","Zugang Trainingsbereich"],icon:b,gradient:"from-primary-500 to-green-600",popular:!0},{name:"Passiv",price:"30",period:"Jahr",description:"Unterstützen Sie Ihren Lieblingsverein",features:["Vereinsunterstützung","Vereinsinformationen","Keine Spielberechtigung"],icon:z,gradient:"from-orange-500 to-red-500"}];return(f,t)=>{const d=w;return r(),n("section",J,[e("div",F,[t[8]||(t[8]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Mitgliedschaft "),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"}," Werden Sie Teil unserer Tischtennis-Familie - Wählen Sie die passende Mitgliedschaft für sich ")],-1)),e("div",T,[(r(),n(p,null,u(g,s=>e("div",{key:s.name,class:o(["relative bg-white rounded-2xl shadow-xl overflow-hidden",s.popular?"ring-4 ring-primary-500 scale-105":""])},[s.popular?(r(),n("div",H," Beliebt ")):y("",!0),e("div",{class:o(["h-2 bg-gradient-to-r",s.gradient])},null,2),e("div",N,[e("div",{class:o(["w-12 h-12 bg-gradient-to-br rounded-xl flex items-center justify-center mb-4",s.gradient])},[(r(),_(v(s.icon),{size:24,class:"text-white"}))],2),e("h3",B,a(s.name),1),e("p",E,a(s.description),1),e("div",K,[e("div",M,[e("span",L,a(s.price)+"€",1),e("span",j,"/ "+a(s.period),1)])]),e("ul",D,[(r(!0),n(p,null,u(s.features,x=>(r(),n("li",{key:x,class:"flex items-start"},[i(m(b),{size:20,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),e("span",P,a(x),1)]))),128))]),i(d,{to:"/kontakt",class:o(["block w-full text-center px-6 py-3 rounded-lg font-semibold transition-all duration-300",s.popular?"bg-primary-600 hover:bg-primary-700 text-white shadow-lg hover:shadow-xl":"bg-gray-100 hover:bg-gray-200 text-gray-900"])},{default:c(()=>[...t[0]||(t[0]=[l(" Jetzt beitreten ",-1)])]),_:1},8,["class"])])],2)),64))]),e("div",U,[t[4]||(t[4]=e("div",{class:"text-center mb-8"},[e("h3",{class:"text-3xl font-display font-bold text-gray-900 mb-4"}," Vereinsatzung "),e("p",{class:"text-xl text-gray-600"}," Laden Sie unsere aktuelle Vereinsatzung herunter ")],-1)),e("div",G,[e("a",W,[i(m(S),{size:20,class:"mr-2"}),t[1]||(t[1]=l(" Satzung herunterladen (PDF) ",-1))]),t[3]||(t[3]=e("span",{class:"text-sm text-gray-500"},"oder",-1)),i(d,{to:"/satzung",class:"inline-flex items-center px-6 py-3 bg-gray-100 hover:bg-gray-200 text-gray-900 font-semibold rounded-lg transition-colors"},{default:c(()=>[i(m(V),{size:20,class:"mr-2"}),t[2]||(t[2]=l(" Online ansehen ",-1))]),_:1})])]),e("div",$,[t[6]||(t[6]=e("h3",{class:"text-3xl font-display font-bold text-white mb-4"}," Noch Fragen zur Mitgliedschaft? ",-1)),t[7]||(t[7]=e("p",{class:"text-xl text-primary-100 mb-6"}," Kontaktieren Sie uns - wir beraten Sie gerne persönlich ",-1)),i(d,{to:"/kontakt",class:"inline-flex items-center px-8 py-4 bg-white text-primary-600 font-semibold rounded-lg hover:bg-gray-100 transition-colors"},{default:c(()=>[...t[5]||(t[5]=[l(" Jetzt Kontakt aufnehmen ",-1)])]),_:1})])])])}}},O={class:"min-h-screen"},ee={__name:"mitgliedschaft",setup(h){return C({title:"Mitgliedschaft - Harheimer TC"}),(g,f)=>(r(),n("div",O,[i(I)]))}};export{ee as default}; +import{c as n,o as r,a as e,F as p,j as u,n as o,i as y,b as i,p as _,s as v,t as a,u as m,w as c,d as l,_ as w}from"#entry";import{C as b}from"./DaSgy0Cl.js";import{S as k}from"./XZ6RV9KH.js";import{H as z}from"./CWEkTB1z.js";import{F as S}from"./BteKZQ9T.js";import{E as V}from"./Czdc6-TI.js";import{u as C}from"./C_U-NUAd.js";const J={id:"membership",class:"py-16 sm:py-20 bg-gradient-to-b from-gray-50 to-white"},F={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},T={class:"grid md:grid-cols-3 gap-8 max-w-6xl mx-auto"},H={key:0,class:"absolute top-0 right-0 bg-primary-600 text-white px-4 py-1 text-sm font-semibold rounded-bl-lg"},N={class:"p-8"},B={class:"text-2xl font-display font-bold text-gray-900 mb-2"},E={class:"text-gray-600 mb-6 min-h-[3rem]"},K={class:"mb-6"},M={class:"flex items-baseline"},j={class:"text-5xl font-bold text-gray-900"},L={class:"text-gray-600 ml-2"},D={class:"space-y-3 mb-8"},P={class:"text-gray-700"},U={class:"mt-16 bg-white rounded-2xl shadow-xl p-8 border border-gray-100"},G={class:"flex flex-col sm:flex-row gap-4 justify-center items-center"},W={href:"/documents/satzung.pdf",target:"_blank",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},$={class:"mt-16 bg-gradient-to-r from-primary-600 to-primary-700 rounded-2xl p-8 sm:p-12 text-center"},I={__name:"Membership",setup(f){const g=[{name:"Kinder/Jugend",price:"72",period:"Jahr",description:"Perfekt für junge Tischtennisspieler bis 18 Jahre",features:["Unbegrenzte Hallennutzung","Kostenfreies Jugendtraining","Teilnahme an Jugendturnieren","Clubveranstaltungen","Gäste mitbringen"],icon:k,gradient:"from-blue-500 to-cyan-500"},{name:"Erwachsene",price:"120",period:"Jahr",description:"Vollmitgliedschaft für Erwachsene",features:["Unbegrenzte Hallennutzung","Freies Spielen nach Verfügbarkeit","Clubveranstaltungen","Gäste mitbringen","Zugang Trainingsbereich"],icon:b,gradient:"from-primary-500 to-green-600",popular:!0},{name:"Passiv",price:"30",period:"Jahr",description:"Unterstützen Sie Ihren Lieblingsverein",features:["Vereinsunterstützung","Vereinsinformationen","Keine Spielberechtigung"],icon:z,gradient:"from-orange-500 to-red-500"}];return(h,t)=>{const d=w;return r(),n("section",J,[e("div",F,[t[8]||(t[8]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Mitgliedschaft "),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"}," Werden Sie Teil unserer Tischtennis-Familie - Wählen Sie die passende Mitgliedschaft für sich ")],-1)),e("div",T,[(r(),n(p,null,u(g,s=>e("div",{key:s.name,class:o(["relative bg-white rounded-2xl shadow-xl overflow-hidden",s.popular?"ring-4 ring-primary-500 scale-105":""])},[s.popular?(r(),n("div",H," Beliebt ")):y("",!0),e("div",{class:o(["h-2 bg-gradient-to-r",s.gradient])},null,2),e("div",N,[e("div",{class:o(["w-12 h-12 bg-gradient-to-br rounded-xl flex items-center justify-center mb-4",s.gradient])},[(r(),_(v(s.icon),{size:24,class:"text-white"}))],2),e("h3",B,a(s.name),1),e("p",E,a(s.description),1),e("div",K,[e("div",M,[e("span",j,a(s.price)+"€",1),e("span",L,"/ "+a(s.period),1)])]),e("ul",D,[(r(!0),n(p,null,u(s.features,x=>(r(),n("li",{key:x,class:"flex items-start"},[i(m(b),{size:20,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),e("span",P,a(x),1)]))),128))]),i(d,{to:"/kontakt",class:o(["block w-full text-center px-6 py-3 rounded-lg font-semibold transition-all duration-300",s.popular?"bg-primary-600 hover:bg-primary-700 text-white shadow-lg hover:shadow-xl":"bg-gray-100 hover:bg-gray-200 text-gray-900"])},{default:c(()=>[...t[0]||(t[0]=[l(" Jetzt beitreten ",-1)])]),_:1},8,["class"])])],2)),64))]),e("div",U,[t[4]||(t[4]=e("div",{class:"text-center mb-8"},[e("h3",{class:"text-3xl font-display font-bold text-gray-900 mb-4"}," Vereinsatzung "),e("p",{class:"text-xl text-gray-600"}," Laden Sie unsere aktuelle Vereinsatzung herunter ")],-1)),e("div",G,[e("a",W,[i(m(S),{size:20,class:"mr-2"}),t[1]||(t[1]=l(" Satzung herunterladen (PDF) ",-1))]),t[3]||(t[3]=e("span",{class:"text-sm text-gray-500"},"oder",-1)),i(d,{to:"/satzung",class:"inline-flex items-center px-6 py-3 bg-gray-100 hover:bg-gray-200 text-gray-900 font-semibold rounded-lg transition-colors"},{default:c(()=>[i(m(V),{size:20,class:"mr-2"}),t[2]||(t[2]=l(" Online ansehen ",-1))]),_:1})])]),e("div",$,[t[6]||(t[6]=e("h3",{class:"text-3xl font-display font-bold text-white mb-4"}," Noch Fragen zur Mitgliedschaft? ",-1)),t[7]||(t[7]=e("p",{class:"text-xl text-primary-100 mb-6"}," Kontaktieren Sie uns - wir beraten Sie gerne persönlich ",-1)),i(d,{to:"/kontakt",class:"inline-flex items-center px-8 py-4 bg-white text-primary-600 font-semibold rounded-lg hover:bg-gray-100 transition-colors"},{default:c(()=>[...t[5]||(t[5]=[l(" Jetzt Kontakt aufnehmen ",-1)])]),_:1})])])])}}},O={class:"min-h-screen"},ee={__name:"mitgliedschaft",setup(f){return C({title:"Mitgliedschaft - Harheimer TC"}),(g,h)=>(r(),n("div",O,[i(I)]))}};export{ee as default}; diff --git a/.output/public/_nuxt/BkmncYmZ.js b/.output/public/_nuxt/BkmncYmZ.js deleted file mode 100644 index d7ea16c..0000000 --- a/.output/public/_nuxt/BkmncYmZ.js +++ /dev/null @@ -1,16 +0,0 @@ -import{e as V,j as I,r as p,f as $,g as K,c as l,a as e,h as i,m as D,d as h,s as G,u as n,t as d,b as u,F as b,i as j,k as E,l as y,v as m,o as a,n as O}from"#entry";import{u as J}from"./C_U-NUAd.js";import{L as A}from"./CUq_0rkE.js";import{S as U,T as F}from"./CGpRzXRB.js";import{M as P,P as Q}from"./SRZHqrjk.js";import{M as R,C as W}from"./C5SyyWEb.js";import{F as X}from"./BteKZQ9T.js";import{A as Y}from"./C8kQt0fa.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 Z=V("Grid3x3Icon",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);/** - * @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 ee=V("Table2Icon",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]);/** - * @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 te=V("UserPlusIcon",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]),se={class:"min-h-full py-16 bg-gray-50"},ae={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},le={class:"flex justify-between items-center mb-6"},oe={class:"flex items-center space-x-3"},ie={key:0,class:"flex items-center justify-center py-12"},ne={key:1,class:"bg-white rounded-xl shadow-lg overflow-hidden"},re={class:"overflow-x-auto"},de={class:"min-w-full divide-y divide-gray-200"},ue={class:"bg-gray-50"},ce={key:0,class:"px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider"},pe={class:"bg-white divide-y divide-gray-200"},xe={class:"px-4 py-3 whitespace-nowrap"},ye={class:"text-sm font-medium text-gray-900"},me={key:0,class:"text-xs text-gray-500"},ge={class:"px-4 py-3 whitespace-nowrap"},fe=["href"],ve={key:1,class:"text-sm text-gray-400"},he={key:1,class:"text-sm text-gray-400"},be={class:"px-4 py-3 whitespace-nowrap"},_e=["href"],ke={key:1,class:"text-sm text-gray-400"},we={key:1,class:"text-sm text-gray-400"},Me={class:"px-4 py-3 whitespace-nowrap"},Ce={class:"flex items-center space-x-2"},Ne={key:0,class:"px-2 py-1 bg-green-100 text-green-800 text-xs font-medium rounded-full"},ze={key:0,class:"px-4 py-3 whitespace-nowrap text-right text-sm font-medium"},Le={key:0,class:"flex justify-end space-x-2"},Ve=["onClick"],Se=["onClick"],Te={key:1,class:"text-gray-400 text-xs"},$e={key:0,class:"text-center py-12 text-gray-500"},De={key:2,class:"space-y-4"},je={class:"flex justify-between items-start"},Ee={class:"flex-1"},Ae={class:"flex items-center mb-2"},Ue={class:"text-xl font-semibold text-gray-900"},Fe={key:0,class:"ml-3 px-2 py-1 bg-green-100 text-green-800 text-xs font-medium rounded-full"},Pe={key:1,class:"ml-2 px-2 py-1 bg-blue-100 text-blue-800 text-xs font-medium rounded-full"},Be={key:2,class:"ml-2 px-2 py-1 bg-purple-100 text-purple-800 text-xs font-medium rounded-full"},He={class:"grid sm:grid-cols-2 gap-3 text-gray-600"},qe={key:0,class:"flex items-center"},Ie=["href"],Ke={key:1,class:"flex items-center"},Ge=["href"],Oe={key:1,class:"col-span-2 flex items-center text-gray-500 text-sm italic"},Je={key:2,class:"flex items-start col-span-2"},Qe={key:3,class:"flex items-start col-span-2"},Re={key:4,class:"flex items-center col-span-2 text-sm text-gray-500"},We={key:0,class:"flex space-x-2 ml-4"},Xe=["onClick"],Ye=["onClick"],Ze={key:0,class:"text-center py-12 text-gray-500"},et={class:"bg-white rounded-xl shadow-2xl max-w-2xl w-full p-8"},tt={class:"text-2xl font-display font-bold text-gray-900 mb-6"},st={class:"grid grid-cols-2 gap-4"},at=["disabled"],lt=["disabled"],ot=["disabled"],it=["disabled"],nt=["disabled"],rt=["disabled"],dt={key:0,class:"flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm"},ut={class:"flex justify-end space-x-4 pt-4"},ct=["disabled"],pt=["disabled"],kt={__name:"mitglieder",setup(xt){const w=I(),M=p(!0),c=p(!1),g=p([]),_=p(!1),f=p(null),x=p(""),v=p("cards"),r=p({firstName:"",lastName:"",email:"",phone:"",address:"",notes:""}),k=$(()=>w.role==="admin"||w.role==="vorstand"),C=$(()=>{const o=w.role;return console.log("Current role:",o,"Can view contact:",o==="vorstand"),o==="vorstand"}),N=async()=>{M.value=!0;try{const o=await $fetch("/api/members");g.value=o.members}catch(o){console.error("Fehler beim Laden der Mitglieder:",o)}finally{M.value=!1}},B=()=>{f.value=null,r.value={firstName:"",lastName:"",email:"",phone:"",address:"",notes:""},_.value=!0,x.value=""},S=o=>{f.value=o,r.value={firstName:o.firstName||"",lastName:o.lastName||"",email:o.email||"",phone:o.phone||"",address:o.address||"",notes:o.notes||""},_.value=!0,x.value=""},z=()=>{_.value=!1,f.value=null,x.value=""},H=async()=>{c.value=!0,x.value="";try{await $fetch("/api/members",{method:"POST",body:{id:f.value?.id,...r.value}}),z(),await N()}catch(o){x.value=o.data?.message||"Fehler beim Speichern des Mitglieds."}finally{c.value=!1}},T=async o=>{if(confirm(`Möchten Sie "${o.name}" wirklich löschen?`))try{await $fetch("/api/members",{method:"DELETE",body:{id:o.id}}),await N()}catch{alert("Fehler beim Löschen des Mitglieds.")}},q=o=>o?new Date(o).toLocaleDateString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):"";return K(()=>{N()}),J({title:"Mitgliederliste - Harheimer TC"}),(o,s)=>(a(),l("div",se,[e("div",ae,[e("div",le,[s[8]||(s[8]=e("div",null,[e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-2"}," Mitgliederliste "),e("div",{class:"w-24 h-1 bg-primary-600 mb-4"})],-1)),e("div",oe,[e("button",{onClick:s[0]||(s[0]=t=>v.value=v.value==="cards"?"table":"cards"),class:"flex items-center px-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-700 font-semibold rounded-lg transition-colors"},[(a(),D(G(v.value==="cards"?n(ee):n(Z)),{size:20,class:"mr-2"})),h(" "+d(v.value==="cards"?"Tabelle":"Karten"),1)]),k.value?(a(),l("button",{key:0,onClick:B,class:"flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},[u(n(te),{size:20,class:"mr-2"}),s[7]||(s[7]=h(" Mitglied hinzufügen ",-1))])):i("",!0)])]),M.value?(a(),l("div",ie,[u(n(A),{size:40,class:"animate-spin text-primary-600"})])):v.value==="table"?(a(),l("div",ne,[e("div",re,[e("table",de,[e("thead",ue,[e("tr",null,[s[9]||(s[9]=e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Name",-1)),s[10]||(s[10]=e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"E-Mail",-1)),s[11]||(s[11]=e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Telefon",-1)),s[12]||(s[12]=e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Status",-1)),k.value?(a(),l("th",ce,"Aktionen")):i("",!0)])]),e("tbody",pe,[(a(!0),l(b,null,j(g.value,t=>(a(),l("tr",{key:t.id,class:"hover:bg-gray-50"},[e("td",xe,[e("div",ye,d(t.name),1),t.notes?(a(),l("div",me,d(t.notes),1)):i("",!0)]),e("td",ge,[C.value?(a(),l(b,{key:0},[t.email?(a(),l("a",{key:0,href:`mailto:${t.email}`,class:"text-sm text-primary-600 hover:text-primary-800"},d(t.email),9,fe)):(a(),l("span",ve,"-"))],64)):(a(),l("span",he,"Nur für Vorstand"))]),e("td",be,[C.value?(a(),l(b,{key:0},[t.phone?(a(),l("a",{key:0,href:`tel:${t.phone}`,class:"text-sm text-primary-600 hover:text-primary-800"},d(t.phone),9,_e)):(a(),l("span",ke,"-"))],64)):(a(),l("span",we,"Nur für Vorstand"))]),e("td",Me,[e("div",Ce,[t.hasLogin?(a(),l("span",Ne," Login ")):i("",!0),e("span",{class:O([t.source==="manual"?"bg-blue-100 text-blue-800":"bg-purple-100 text-purple-800","px-2 py-1 text-xs font-medium rounded-full"])},d(t.source==="manual"?"Manuell":"System"),3)])]),k.value?(a(),l("td",ze,[t.editable?(a(),l("div",Le,[e("button",{onClick:L=>S(t),class:"text-blue-600 hover:text-blue-900",title:"Bearbeiten"},[u(n(U),{size:18})],8,Ve),e("button",{onClick:L=>T(t),class:"text-red-600 hover:text-red-900",title:"Löschen"},[u(n(F),{size:18})],8,Se)])):(a(),l("span",Te,"Nicht editierbar"))])):i("",!0)]))),128))])])]),g.value.length===0?(a(),l("div",$e," Keine Mitglieder gefunden. ")):i("",!0)])):(a(),l("div",De,[(a(!0),l(b,null,j(g.value,t=>(a(),l("div",{key:t.id,class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100"},[e("div",je,[e("div",Ee,[e("div",Ae,[e("h3",Ue,d(t.name),1),t.hasLogin?(a(),l("span",Fe," Hat Login ")):i("",!0),t.source==="manual"?(a(),l("span",Pe," Manuell ")):(a(),l("span",Be," Aus Login-System "))]),e("div",He,[C.value?(a(),l(b,{key:0},[t.email?(a(),l("div",qe,[u(n(P),{size:16,class:"mr-2 text-primary-600"}),e("a",{href:`mailto:${t.email}`,class:"hover:text-primary-600"},d(t.email),9,Ie)])):i("",!0),t.phone?(a(),l("div",Ke,[u(n(Q),{size:16,class:"mr-2 text-primary-600"}),e("a",{href:`tel:${t.phone}`,class:"hover:text-primary-600"},d(t.phone),9,Ge)])):i("",!0)],64)):(a(),l("div",Oe,[u(n(P),{size:16,class:"mr-2"}),s[13]||(s[13]=h(" Kontaktdaten nur für Vorstand sichtbar ",-1))])),t.address?(a(),l("div",Je,[u(n(R),{size:16,class:"mr-2 text-primary-600 mt-0.5"}),e("span",null,d(t.address),1)])):i("",!0),t.notes?(a(),l("div",Qe,[u(n(X),{size:16,class:"mr-2 text-primary-600 mt-0.5"}),e("span",null,d(t.notes),1)])):i("",!0),t.lastLogin?(a(),l("div",Re,[u(n(W),{size:16,class:"mr-2"}),h(" Letzter Login: "+d(q(t.lastLogin)),1)])):i("",!0)])]),k.value&&t.editable?(a(),l("div",We,[e("button",{onClick:L=>S(t),class:"p-2 text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",title:"Bearbeiten"},[u(n(U),{size:20})],8,Xe),e("button",{onClick:L=>T(t),class:"p-2 text-red-600 hover:bg-red-50 rounded-lg transition-colors",title:"Löschen"},[u(n(F),{size:20})],8,Ye)])):i("",!0)])]))),128)),g.value.length===0?(a(),l("div",Ze," Keine Mitglieder gefunden. ")):i("",!0)])),_.value?(a(),l("div",{key:3,class:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",onClick:E(z,["self"])},[e("div",et,[e("h2",tt,d(f.value?"Mitglied bearbeiten":"Mitglied hinzufügen"),1),e("form",{onSubmit:E(H,["prevent"]),class:"space-y-4"},[e("div",st,[e("div",null,[s[14]||(s[14]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Vorname *",-1)),y(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>r.value.firstName=t),type:"text",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,at),[[m,r.value.firstName]])]),e("div",null,[s[15]||(s[15]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Nachname *",-1)),y(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>r.value.lastName=t),type:"text",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,lt),[[m,r.value.lastName]])])]),e("div",null,[s[16]||(s[16]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"E-Mail",-1)),y(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>r.value.email=t),type:"email",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,ot),[[m,r.value.email]])]),e("div",null,[s[17]||(s[17]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Telefon",-1)),y(e("input",{"onUpdate:modelValue":s[4]||(s[4]=t=>r.value.phone=t),type:"tel",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,it),[[m,r.value.phone]])]),e("div",null,[s[18]||(s[18]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Adresse",-1)),y(e("input",{"onUpdate:modelValue":s[5]||(s[5]=t=>r.value.address=t),type:"text",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,nt),[[m,r.value.address]])]),e("div",null,[s[19]||(s[19]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Notizen",-1)),y(e("textarea",{"onUpdate:modelValue":s[6]||(s[6]=t=>r.value.notes=t),rows:"3",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,rt),[[m,r.value.notes]])]),x.value?(a(),l("div",dt,[u(n(Y),{size:20,class:"mr-2"}),h(" "+d(x.value),1)])):i("",!0),e("div",ut,[e("button",{type:"button",onClick:z,class:"px-6 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors",disabled:c.value}," Abbrechen ",8,ct),e("button",{type:"submit",class:"px-6 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors flex items-center",disabled:c.value},[c.value?(a(),D(n(A),{key:0,size:20,class:"animate-spin mr-2"})):i("",!0),e("span",null,d(c.value?"Speichert...":"Speichern"),1)],8,pt)])],32)])])):i("",!0)])]))}};export{kt as default}; diff --git a/.output/public/_nuxt/B7YOuq0i.js b/.output/public/_nuxt/Bn7G3VMx.js similarity index 95% rename from .output/public/_nuxt/B7YOuq0i.js rename to .output/public/_nuxt/Bn7G3VMx.js index 40fee69..6a5ccb1 100644 --- a/.output/public/_nuxt/B7YOuq0i.js +++ b/.output/public/_nuxt/Bn7G3VMx.js @@ -1,4 +1,4 @@ -import{e as w,r as d,c as f,a as s,k as h,h as b,l,v as n,b as u,d as m,u as p,t as y,m as k,w as M,_ as P,o as g,z as V}from"#entry";import{u as _}from"./C_U-NUAd.js";import{A as B}from"./C8kQt0fa.js";import{C as I}from"./DaSgy0Cl.js";import{L as R}from"./CUq_0rkE.js";/** +import{e as w,r as d,c as f,a as s,l as h,i as b,m as l,v as n,b as u,d as m,u as p,t as y,p as k,w as M,_ as P,o as g,z as V}from"#entry";import{u as _}from"./C_U-NUAd.js";import{A as B}from"./C8kQt0fa.js";import{C as I}from"./DaSgy0Cl.js";import{L as R}from"./CUq_0rkE.js";/** * @license lucide-vue-next v0.344.0 - ISC * * This source code is licensed under the ISC license. diff --git a/.output/public/_nuxt/CNPVZmuq.js b/.output/public/_nuxt/BxR6w-Hd.js similarity index 95% rename from .output/public/_nuxt/CNPVZmuq.js rename to .output/public/_nuxt/BxR6w-Hd.js index 02d1a79..2045f9c 100644 --- a/.output/public/_nuxt/CNPVZmuq.js +++ b/.output/public/_nuxt/BxR6w-Hd.js @@ -1 +1 @@ -import{u as e}from"./C_U-NUAd.js";import{c as r,q as s,o as a}from"#entry";const n={class:"min-h-full py-16 bg-gray-50"},p={__name:"trainer",setup(i){return e({title:"Trainer - Harheimer TC"}),(l,t)=>(a(),r("div",n,[...t[0]||(t[0]=[s('

Unsere Trainer

Erfahrene und qualifizierte Trainer für alle Leistungsstufen

C-Trainer

Torsten Schulz

Lizenz: C-Trainer
Schwerpunkt: Nachwuchsförderung
Erwachsenen bei Wunsch zur Verfügung

Kindertrainer

Thomas Steinbrech

Lizenz: Kindertrainer
Schwerpunkt: Nachwuchsförderung

Assistenztrainerin

Magda Schwallbach

Lizenz: Assistenztrainerin
Schwerpunkt: Unterstützung & Betreuung

',1)])]))}};export{p as default}; +import{u as e}from"./C_U-NUAd.js";import{c as r,f as s,o as a}from"#entry";const n={class:"min-h-full py-16 bg-gray-50"},p={__name:"trainer",setup(i){return e({title:"Trainer - Harheimer TC"}),(l,t)=>(a(),r("div",n,[...t[0]||(t[0]=[s('

Unsere Trainer

Erfahrene und qualifizierte Trainer für alle Leistungsstufen

C-Trainer

Torsten Schulz

Lizenz: C-Trainer
Schwerpunkt: Nachwuchsförderung
Erwachsenen bei Wunsch zur Verfügung

Kindertrainer

Thomas Steinbrech

Lizenz: Kindertrainer
Schwerpunkt: Nachwuchsförderung

Assistenztrainerin

Magda Schwallbach

Lizenz: Assistenztrainerin
Schwerpunkt: Unterstützung & Betreuung

',1)])]))}};export{p as default}; diff --git a/.output/public/_nuxt/BdCoUFEM.js b/.output/public/_nuxt/C-bqeYjt.js similarity index 99% rename from .output/public/_nuxt/BdCoUFEM.js rename to .output/public/_nuxt/C-bqeYjt.js index 7192268..cee2e48 100644 --- a/.output/public/_nuxt/BdCoUFEM.js +++ b/.output/public/_nuxt/C-bqeYjt.js @@ -1 +1 @@ -import{f as z,I as p,D as q,J as L,K as W,L as V,x as G,G as H,M as T,N as J,O as Z,u as F,r as x,P as M,Q,R as Y,S as X,T as K,V as I,W as k,Y as ee,Z as te,$ as ae,z as R}from"#entry";function se(r){return typeof r=="string"?`'${r}'`:new re().serialize(r)}const re=(function(){class r{#e=new Map;compare(e,t){const s=typeof e,o=typeof t;return s==="string"&&o==="string"?e.localeCompare(t):s==="number"&&o==="number"?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return"null";switch(typeof e){case"string":return t?e:`'${e}'`;case"bigint":return`${e}n`;case"object":return this.$object(e);case"function":return this.$function(e)}return String(e)}serializeObject(e){const t=Object.prototype.toString.call(e);if(t!=="[object Object]")return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);const s=e.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,e);if(typeof e.toJSON=="function"){const n=e.toJSON();return o+(n!==null&&typeof n=="object"?this.$object(n):`(${this.serialize(n)})`)}return this.serializeObjectEntries(o,Object.entries(e))}serializeBuiltInType(e,t){const s=this["$"+e];if(s)return s.call(this,t);if(typeof t?.entries=="function")return this.serializeObjectEntries(e,t.entries());throw new Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){const s=Array.from(t).sort((n,i)=>this.compare(n[0],i[0]));let o=`${e}{`;for(let n=0;nthis.compare(t,s)))}`}$Map(e){return this.serializeObjectEntries("Map",e.entries())}}for(const a of["Error","RegExp","URL"])r.prototype["$"+a]=function(e){return`${a}(${e})`};for(const a of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])r.prototype["$"+a]=function(e){return`${a}[${e.join(",")}]`};for(const a of["BigInt64Array","BigUint64Array"])r.prototype["$"+a]=function(e){return`${a}[${e.join("n,")}${e.length>0?"n":""}]`};return r})(),ne=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],ie=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",$=[];class ce{_data=new j;_hash=new j([...ne]);_nDataBytes=0;_minBufferSize=0;finalize(a){a&&this._append(a);const e=this._nDataBytes*8,t=this._data.sigBytes*8;return this._data.words[t>>>5]|=128<<24-t%32,this._data.words[(t+64>>>9<<4)+14]=Math.floor(e/4294967296),this._data.words[(t+64>>>9<<4)+15]=e,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(a,e){const t=this._hash.words;let s=t[0],o=t[1],n=t[2],i=t[3],f=t[4],m=t[5],c=t[6],l=t[7];for(let u=0;u<64;u++){if(u<16)$[u]=a[e+u]|0;else{const b=$[u-15],d=(b<<25|b>>>7)^(b<<14|b>>>18)^b>>>3,y=$[u-2],B=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;$[u]=d+$[u-7]+B+$[u-16]}const D=f&m^~f&c,_=s&o^s&n^o&n,h=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),g=(f<<26|f>>>6)^(f<<21|f>>>11)^(f<<7|f>>>25),v=l+g+D+ie[u]+$[u],w=h+_;l=c,c=m,m=f,f=i+v|0,i=n,n=o,o=s,s=v+w|0}t[0]=t[0]+s|0,t[1]=t[1]+o|0,t[2]=t[2]+n|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0,t[5]=t[5]+m|0,t[6]=t[6]+c|0,t[7]=t[7]+l|0}_append(a){typeof a=="string"&&(a=j.fromUtf8(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes}_process(a){let e,t=this._data.sigBytes/64;a?t=Math.ceil(t):t=Math.max((t|0)-this._minBufferSize,0);const s=t*16,o=Math.min(s*4,this._data.sigBytes);if(s){for(let n=0;n>>2]|=(e.charCodeAt(o)&255)<<24-o%4*8;return new j(s,t)}toBase64(){const a=[];for(let e=0;e>>2]>>>24-e%4*8&255,s=this.words[e+1>>>2]>>>24-(e+1)%4*8&255,o=this.words[e+2>>>2]>>>24-(e+2)%4*8&255,n=t<<16|s<<8|o;for(let i=0;i<4&&e*8+i*6>>6*(3-i)&63))}return a.join("")}concat(a){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let e=0;e>>2]>>>24-e%4*8&255;this.words[this.sigBytes+e>>>2]|=t<<24-(this.sigBytes+e)%4*8}else for(let e=0;e>>2]=a.words[e>>>2];this.sigBytes+=a.sigBytes}}function ue(r){return new ce().finalize(r).toBase64()}function O(r){return ue(se(r))}const le={trailing:!0};function fe(r,a=25,e={}){if(e={...le,...e},!Number.isFinite(a))throw new TypeError("Expected `wait` to be a finite number");let t,s,o=[],n,i;const f=(l,u)=>(n=de(r,l,u),n.finally(()=>{if(n=null,e.trailing&&i&&!s){const D=f(l,i);return i=null,D}}),n),m=function(...l){return e.trailing&&(i=l),n||new Promise(u=>{const D=!s&&e.leading;clearTimeout(s),s=setTimeout(()=>{s=null;const _=e.leading?t:f(this,l);i=null;for(const h of o)h(_);o=[]},a),D?(t=f(this,l),u(t)):o.push(u)})},c=l=>{l&&(clearTimeout(l),s=null)};return m.isPending=()=>!!s,m.cancel=()=>{c(s),o=[],i=null},m.flush=()=>{if(c(s),!i||n)return;const l=i;return i=null,f(this,l)},m}async function de(r,a,e){return await r.apply(a,e)}const he=Symbol.for("nuxt:client-only");function ye(...r){const a=typeof r[r.length-1]=="string"?r.pop():void 0;_e(r[0],r[1])&&r.unshift(a);let[e,t,s={}]=r,o=!1;const n=z(()=>p(e));if(typeof n.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof t!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const i=q();s.server??=!0,s.default??=ge,s.getCachedData??=A,s.lazy??=!1,s.immediate??=!0,s.deep??=L.deep,s.dedupe??="cancel",s._functionName,i._asyncData[n.value];function f(){const _={cause:"initial",dedupe:s.dedupe};return i._asyncData[n.value]?._init||(_.cachedData=s.getCachedData(n.value,i,{cause:"initial"}),i._asyncData[n.value]=U(i,n.value,t,s,_.cachedData)),()=>i._asyncData[n.value].execute(_)}const m=f(),c=i._asyncData[n.value];c._deps++;const l=s.server!==!1&&i.payload.serverRendered;{let _=function(d){const y=i._asyncData[d];y?._deps&&(y._deps--,y._deps===0&&y?._off())};const h=W();if(h&&l&&s.immediate&&!h.sp&&(h.sp=[]),h&&!h._nuxtOnBeforeMountCbs){h._nuxtOnBeforeMountCbs=[];const d=h._nuxtOnBeforeMountCbs;V(()=>{d.forEach(y=>{y()}),d.splice(0,d.length)}),G(()=>d.splice(0,d.length))}const g=h&&(h._nuxtClientOnly||H(he,!1));l&&i.isHydrating&&(c.error.value||c.data.value!==void 0)?c.status.value=c.error.value?"error":"success":h&&(!g&&i.payload.serverRendered&&i.isHydrating||s.lazy)&&s.immediate?h._nuxtOnBeforeMountCbs.push(m):s.immediate&&c.status.value!=="success"&&m();const v=Z(),w=T(n,(d,y)=>{if((d||y)&&d!==y){o=!0;const B=i._asyncData[y]?.data.value!==void 0,C=i._asyncDataPromises[y]!==void 0,E={cause:"initial",dedupe:s.dedupe};if(!i._asyncData[d]?._init){let P;y&&B?P=i._asyncData[y].data.value:(P=s.getCachedData(d,i,{cause:"initial"}),E.cachedData=P),i._asyncData[d]=U(i,d,t,s,P)}i._asyncData[d]._deps++,y&&_(y),(s.immediate||B||C)&&i._asyncData[d].execute(E),K(()=>{o=!1})}},{flush:"sync"}),b=s.watch?T(s.watch,()=>{o||c._execute({cause:"watch",dedupe:s.dedupe})}):()=>{};v&&J(()=>{w(),b(),_(n.value)})}const u={data:S(()=>i._asyncData[n.value]?.data),pending:S(()=>i._asyncData[n.value]?.pending),status:S(()=>i._asyncData[n.value]?.status),error:S(()=>i._asyncData[n.value]?.error),refresh:(..._)=>i._asyncData[n.value]?._init?i._asyncData[n.value].execute(..._):f()(),execute:(..._)=>u.refresh(..._),clear:()=>N(i,n.value)},D=Promise.resolve(i._asyncDataPromises[n.value]).then(()=>u);return Object.assign(D,u),D}function S(r){return z({get(){return r()?.value},set(a){const e=r();e&&(e.value=a)}})}function _e(r,a){return!(typeof r=="string"||typeof r=="object"&&r!==null||typeof r=="function"&&typeof a=="function")}function N(r,a){a in r.payload.data&&(r.payload.data[a]=void 0),a in r.payload._errors&&(r.payload._errors[a]=void 0),r._asyncData[a]&&(r._asyncData[a].data.value=F(r._asyncData[a]._default()),r._asyncData[a].error.value=void 0,r._asyncData[a].status.value="idle"),a in r._asyncDataPromises&&(r._asyncDataPromises[a]&&(r._asyncDataPromises[a].cancelled=!0),r._asyncDataPromises[a]=void 0)}function me(r,a){const e={};for(const t of a)e[t]=r[t];return e}function U(r,a,e,t,s){r.payload._errors[a]??=void 0;const o=t.getCachedData!==A,n=e,i=t.deep?x:M,f=s!==void 0,m=r.hook("app:data:refresh",async l=>{(!l||l.includes(a))&&await c.execute({cause:"refresh:hook"})}),c={data:i(f?s:t.default()),pending:z(()=>c.status.value==="pending"),error:Q(r.payload._errors,a),status:M("idle"),execute:(...l)=>{const[u,D=void 0]=l,_=u&&D===void 0&&typeof u=="object"?u:{};if(r._asyncDataPromises[a]){if((_.dedupe??t.dedupe)==="defer")return r._asyncDataPromises[a];r._asyncDataPromises[a].cancelled=!0}{const g="cachedData"in _?_.cachedData:t.getCachedData(a,r,{cause:_.cause??"refresh:manual"});if(g!==void 0)return r.payload.data[a]=c.data.value=g,c.error.value=void 0,c.status.value="success",Promise.resolve(g)}c.status.value="pending";const h=new Promise((g,v)=>{try{g(n(r))}catch(w){v(w)}}).then(async g=>{if(h.cancelled)return r._asyncDataPromises[a];let v=g;t.transform&&(v=await t.transform(g)),t.pick&&(v=me(v,t.pick)),r.payload.data[a]=v,c.data.value=v,c.error.value=void 0,c.status.value="success"}).catch(g=>{if(h.cancelled)return r._asyncDataPromises[a];c.error.value=X(g),c.data.value=F(t.default()),c.status.value="error"}).finally(()=>{h.cancelled||delete r._asyncDataPromises[a]});return r._asyncDataPromises[a]=h,r._asyncDataPromises[a]},_execute:fe((...l)=>c.execute(...l),0,{leading:!0}),_default:t.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{m(),r._asyncData[a]?._init&&(r._asyncData[a]._init=!1),o||Y(()=>{r._asyncData[a]?._init||(N(r,a),c.execute=()=>Promise.resolve())})}};return c}const ge=()=>{},A=(r,a,e)=>{if(a.isHydrating)return a.payload.data[r];if(e.cause!=="refresh:manual"&&e.cause!=="refresh:hook")return a.static.data[r]};function ve(r,a,e){const[t={},s]=[{},a],o=z(()=>p(r)),n=z(()=>p(t.key)||"$f"+O([s,typeof o.value=="string"?o.value:"",...De(t)]));if(!t.baseURL&&typeof o.value=="string"&&o.value[0]==="/"&&o.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const{server:i,lazy:f,default:m,transform:c,pick:l,watch:u,immediate:D,getCachedData:_,deep:h,dedupe:g,...v}=t,w=I({...k,...v,cache:typeof t.cache=="boolean"?void 0:t.cache}),b={server:i,lazy:f,default:m,transform:c,pick:l,immediate:D,getCachedData:_,deep:h,dedupe:g,watch:u===!1?[]:[...u||[],w]};let d;return ye(u===!1?n.value:n,()=>{d?.abort?.(new DOMException("Request aborted as another request to the same endpoint was initiated.","AbortError")),d=typeof AbortController<"u"?new AbortController:{};const B=p(t.timeout);let C;return B&&(C=setTimeout(()=>d.abort(new DOMException("Request aborted due to timeout.","AbortError")),B),d.signal.onabort=()=>clearTimeout(C)),(t.$fetch||globalThis.$fetch)(o.value,{signal:d.signal,...w}).finally(()=>{clearTimeout(C)})},b)}function De(r){const a=[p(r.method)?.toUpperCase()||"GET",p(r.baseURL)];for(const e of[r.params||r.query]){const t=p(e);if(!t)continue;const s={};for(const[o,n]of Object.entries(t))s[p(o)]=p(n);a.push(s)}if(r.body){const e=p(r.body);if(!e)a.push(O(e));else if(e instanceof ArrayBuffer)a.push(O(Object.fromEntries([...new Uint8Array(e).entries()].map(([t,s])=>[t,s.toString()]))));else if(e instanceof FormData){const t={};for(const s of e.entries()){const[o,n]=s;t[o]=n instanceof File?n.name:n}a.push(O(t))}else if(ee(e))a.push(O(I(e)));else try{a.push(O(e))}catch{console.warn("[useFetch] Failed to hash body",e)}}return a}const be=te(async(r,a)=>{let e,t;if(["/mitgliederbereich","/cms"].some(n=>r.path.startsWith(n)))try{const{data:n}=([e,t]=ae(()=>ve("/api/auth/status","$iafshigZRx")),e=await e,t(),e);if(!n.value||!n.value.isLoggedIn)return R("/login?redirect="+r.path);if(r.path.startsWith("/cms")&&!(n.value.role==="admin"||n.value.role==="vorstand"))return R("/mitgliederbereich")}catch{return R("/login?redirect="+r.path)}});export{be as default}; +import{g as z,I as p,D as q,J as L,K as W,L as V,x as G,G as H,M as T,N as J,O as Z,u as F,r as x,P as M,Q,R as Y,S as X,T as K,V as I,W as k,Y as ee,Z as te,$ as ae,z as R}from"#entry";function se(r){return typeof r=="string"?`'${r}'`:new re().serialize(r)}const re=(function(){class r{#e=new Map;compare(e,t){const s=typeof e,o=typeof t;return s==="string"&&o==="string"?e.localeCompare(t):s==="number"&&o==="number"?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return"null";switch(typeof e){case"string":return t?e:`'${e}'`;case"bigint":return`${e}n`;case"object":return this.$object(e);case"function":return this.$function(e)}return String(e)}serializeObject(e){const t=Object.prototype.toString.call(e);if(t!=="[object Object]")return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);const s=e.constructor,o=s===Object||s===void 0?"":s.name;if(o!==""&&globalThis[o]===s)return this.serializeBuiltInType(o,e);if(typeof e.toJSON=="function"){const n=e.toJSON();return o+(n!==null&&typeof n=="object"?this.$object(n):`(${this.serialize(n)})`)}return this.serializeObjectEntries(o,Object.entries(e))}serializeBuiltInType(e,t){const s=this["$"+e];if(s)return s.call(this,t);if(typeof t?.entries=="function")return this.serializeObjectEntries(e,t.entries());throw new Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){const s=Array.from(t).sort((n,i)=>this.compare(n[0],i[0]));let o=`${e}{`;for(let n=0;nthis.compare(t,s)))}`}$Map(e){return this.serializeObjectEntries("Map",e.entries())}}for(const a of["Error","RegExp","URL"])r.prototype["$"+a]=function(e){return`${a}(${e})`};for(const a of["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"])r.prototype["$"+a]=function(e){return`${a}[${e.join(",")}]`};for(const a of["BigInt64Array","BigUint64Array"])r.prototype["$"+a]=function(e){return`${a}[${e.join("n,")}${e.length>0?"n":""}]`};return r})(),ne=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],ie=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],oe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",$=[];class ce{_data=new j;_hash=new j([...ne]);_nDataBytes=0;_minBufferSize=0;finalize(a){a&&this._append(a);const e=this._nDataBytes*8,t=this._data.sigBytes*8;return this._data.words[t>>>5]|=128<<24-t%32,this._data.words[(t+64>>>9<<4)+14]=Math.floor(e/4294967296),this._data.words[(t+64>>>9<<4)+15]=e,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(a,e){const t=this._hash.words;let s=t[0],o=t[1],n=t[2],i=t[3],f=t[4],m=t[5],c=t[6],l=t[7];for(let u=0;u<64;u++){if(u<16)$[u]=a[e+u]|0;else{const b=$[u-15],d=(b<<25|b>>>7)^(b<<14|b>>>18)^b>>>3,y=$[u-2],B=(y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10;$[u]=d+$[u-7]+B+$[u-16]}const D=f&m^~f&c,_=s&o^s&n^o&n,h=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),g=(f<<26|f>>>6)^(f<<21|f>>>11)^(f<<7|f>>>25),v=l+g+D+ie[u]+$[u],w=h+_;l=c,c=m,m=f,f=i+v|0,i=n,n=o,o=s,s=v+w|0}t[0]=t[0]+s|0,t[1]=t[1]+o|0,t[2]=t[2]+n|0,t[3]=t[3]+i|0,t[4]=t[4]+f|0,t[5]=t[5]+m|0,t[6]=t[6]+c|0,t[7]=t[7]+l|0}_append(a){typeof a=="string"&&(a=j.fromUtf8(a)),this._data.concat(a),this._nDataBytes+=a.sigBytes}_process(a){let e,t=this._data.sigBytes/64;a?t=Math.ceil(t):t=Math.max((t|0)-this._minBufferSize,0);const s=t*16,o=Math.min(s*4,this._data.sigBytes);if(s){for(let n=0;n>>2]|=(e.charCodeAt(o)&255)<<24-o%4*8;return new j(s,t)}toBase64(){const a=[];for(let e=0;e>>2]>>>24-e%4*8&255,s=this.words[e+1>>>2]>>>24-(e+1)%4*8&255,o=this.words[e+2>>>2]>>>24-(e+2)%4*8&255,n=t<<16|s<<8|o;for(let i=0;i<4&&e*8+i*6>>6*(3-i)&63))}return a.join("")}concat(a){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let e=0;e>>2]>>>24-e%4*8&255;this.words[this.sigBytes+e>>>2]|=t<<24-(this.sigBytes+e)%4*8}else for(let e=0;e>>2]=a.words[e>>>2];this.sigBytes+=a.sigBytes}}function ue(r){return new ce().finalize(r).toBase64()}function O(r){return ue(se(r))}const le={trailing:!0};function fe(r,a=25,e={}){if(e={...le,...e},!Number.isFinite(a))throw new TypeError("Expected `wait` to be a finite number");let t,s,o=[],n,i;const f=(l,u)=>(n=de(r,l,u),n.finally(()=>{if(n=null,e.trailing&&i&&!s){const D=f(l,i);return i=null,D}}),n),m=function(...l){return e.trailing&&(i=l),n||new Promise(u=>{const D=!s&&e.leading;clearTimeout(s),s=setTimeout(()=>{s=null;const _=e.leading?t:f(this,l);i=null;for(const h of o)h(_);o=[]},a),D?(t=f(this,l),u(t)):o.push(u)})},c=l=>{l&&(clearTimeout(l),s=null)};return m.isPending=()=>!!s,m.cancel=()=>{c(s),o=[],i=null},m.flush=()=>{if(c(s),!i||n)return;const l=i;return i=null,f(this,l)},m}async function de(r,a,e){return await r.apply(a,e)}const he=Symbol.for("nuxt:client-only");function ye(...r){const a=typeof r[r.length-1]=="string"?r.pop():void 0;_e(r[0],r[1])&&r.unshift(a);let[e,t,s={}]=r,o=!1;const n=z(()=>p(e));if(typeof n.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof t!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const i=q();s.server??=!0,s.default??=ge,s.getCachedData??=A,s.lazy??=!1,s.immediate??=!0,s.deep??=L.deep,s.dedupe??="cancel",s._functionName,i._asyncData[n.value];function f(){const _={cause:"initial",dedupe:s.dedupe};return i._asyncData[n.value]?._init||(_.cachedData=s.getCachedData(n.value,i,{cause:"initial"}),i._asyncData[n.value]=U(i,n.value,t,s,_.cachedData)),()=>i._asyncData[n.value].execute(_)}const m=f(),c=i._asyncData[n.value];c._deps++;const l=s.server!==!1&&i.payload.serverRendered;{let _=function(d){const y=i._asyncData[d];y?._deps&&(y._deps--,y._deps===0&&y?._off())};const h=W();if(h&&l&&s.immediate&&!h.sp&&(h.sp=[]),h&&!h._nuxtOnBeforeMountCbs){h._nuxtOnBeforeMountCbs=[];const d=h._nuxtOnBeforeMountCbs;V(()=>{d.forEach(y=>{y()}),d.splice(0,d.length)}),G(()=>d.splice(0,d.length))}const g=h&&(h._nuxtClientOnly||H(he,!1));l&&i.isHydrating&&(c.error.value||c.data.value!==void 0)?c.status.value=c.error.value?"error":"success":h&&(!g&&i.payload.serverRendered&&i.isHydrating||s.lazy)&&s.immediate?h._nuxtOnBeforeMountCbs.push(m):s.immediate&&c.status.value!=="success"&&m();const v=Z(),w=T(n,(d,y)=>{if((d||y)&&d!==y){o=!0;const B=i._asyncData[y]?.data.value!==void 0,C=i._asyncDataPromises[y]!==void 0,E={cause:"initial",dedupe:s.dedupe};if(!i._asyncData[d]?._init){let P;y&&B?P=i._asyncData[y].data.value:(P=s.getCachedData(d,i,{cause:"initial"}),E.cachedData=P),i._asyncData[d]=U(i,d,t,s,P)}i._asyncData[d]._deps++,y&&_(y),(s.immediate||B||C)&&i._asyncData[d].execute(E),K(()=>{o=!1})}},{flush:"sync"}),b=s.watch?T(s.watch,()=>{o||c._execute({cause:"watch",dedupe:s.dedupe})}):()=>{};v&&J(()=>{w(),b(),_(n.value)})}const u={data:S(()=>i._asyncData[n.value]?.data),pending:S(()=>i._asyncData[n.value]?.pending),status:S(()=>i._asyncData[n.value]?.status),error:S(()=>i._asyncData[n.value]?.error),refresh:(..._)=>i._asyncData[n.value]?._init?i._asyncData[n.value].execute(..._):f()(),execute:(..._)=>u.refresh(..._),clear:()=>N(i,n.value)},D=Promise.resolve(i._asyncDataPromises[n.value]).then(()=>u);return Object.assign(D,u),D}function S(r){return z({get(){return r()?.value},set(a){const e=r();e&&(e.value=a)}})}function _e(r,a){return!(typeof r=="string"||typeof r=="object"&&r!==null||typeof r=="function"&&typeof a=="function")}function N(r,a){a in r.payload.data&&(r.payload.data[a]=void 0),a in r.payload._errors&&(r.payload._errors[a]=void 0),r._asyncData[a]&&(r._asyncData[a].data.value=F(r._asyncData[a]._default()),r._asyncData[a].error.value=void 0,r._asyncData[a].status.value="idle"),a in r._asyncDataPromises&&(r._asyncDataPromises[a]&&(r._asyncDataPromises[a].cancelled=!0),r._asyncDataPromises[a]=void 0)}function me(r,a){const e={};for(const t of a)e[t]=r[t];return e}function U(r,a,e,t,s){r.payload._errors[a]??=void 0;const o=t.getCachedData!==A,n=e,i=t.deep?x:M,f=s!==void 0,m=r.hook("app:data:refresh",async l=>{(!l||l.includes(a))&&await c.execute({cause:"refresh:hook"})}),c={data:i(f?s:t.default()),pending:z(()=>c.status.value==="pending"),error:Q(r.payload._errors,a),status:M("idle"),execute:(...l)=>{const[u,D=void 0]=l,_=u&&D===void 0&&typeof u=="object"?u:{};if(r._asyncDataPromises[a]){if((_.dedupe??t.dedupe)==="defer")return r._asyncDataPromises[a];r._asyncDataPromises[a].cancelled=!0}{const g="cachedData"in _?_.cachedData:t.getCachedData(a,r,{cause:_.cause??"refresh:manual"});if(g!==void 0)return r.payload.data[a]=c.data.value=g,c.error.value=void 0,c.status.value="success",Promise.resolve(g)}c.status.value="pending";const h=new Promise((g,v)=>{try{g(n(r))}catch(w){v(w)}}).then(async g=>{if(h.cancelled)return r._asyncDataPromises[a];let v=g;t.transform&&(v=await t.transform(g)),t.pick&&(v=me(v,t.pick)),r.payload.data[a]=v,c.data.value=v,c.error.value=void 0,c.status.value="success"}).catch(g=>{if(h.cancelled)return r._asyncDataPromises[a];c.error.value=X(g),c.data.value=F(t.default()),c.status.value="error"}).finally(()=>{h.cancelled||delete r._asyncDataPromises[a]});return r._asyncDataPromises[a]=h,r._asyncDataPromises[a]},_execute:fe((...l)=>c.execute(...l),0,{leading:!0}),_default:t.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{m(),r._asyncData[a]?._init&&(r._asyncData[a]._init=!1),o||Y(()=>{r._asyncData[a]?._init||(N(r,a),c.execute=()=>Promise.resolve())})}};return c}const ge=()=>{},A=(r,a,e)=>{if(a.isHydrating)return a.payload.data[r];if(e.cause!=="refresh:manual"&&e.cause!=="refresh:hook")return a.static.data[r]};function ve(r,a,e){const[t={},s]=[{},a],o=z(()=>p(r)),n=z(()=>p(t.key)||"$f"+O([s,typeof o.value=="string"?o.value:"",...De(t)]));if(!t.baseURL&&typeof o.value=="string"&&o.value[0]==="/"&&o.value[1]==="/")throw new Error('[nuxt] [useFetch] the request URL must not start with "//".');const{server:i,lazy:f,default:m,transform:c,pick:l,watch:u,immediate:D,getCachedData:_,deep:h,dedupe:g,...v}=t,w=I({...k,...v,cache:typeof t.cache=="boolean"?void 0:t.cache}),b={server:i,lazy:f,default:m,transform:c,pick:l,immediate:D,getCachedData:_,deep:h,dedupe:g,watch:u===!1?[]:[...u||[],w]};let d;return ye(u===!1?n.value:n,()=>{d?.abort?.(new DOMException("Request aborted as another request to the same endpoint was initiated.","AbortError")),d=typeof AbortController<"u"?new AbortController:{};const B=p(t.timeout);let C;return B&&(C=setTimeout(()=>d.abort(new DOMException("Request aborted due to timeout.","AbortError")),B),d.signal.onabort=()=>clearTimeout(C)),(t.$fetch||globalThis.$fetch)(o.value,{signal:d.signal,...w}).finally(()=>{clearTimeout(C)})},b)}function De(r){const a=[p(r.method)?.toUpperCase()||"GET",p(r.baseURL)];for(const e of[r.params||r.query]){const t=p(e);if(!t)continue;const s={};for(const[o,n]of Object.entries(t))s[p(o)]=p(n);a.push(s)}if(r.body){const e=p(r.body);if(!e)a.push(O(e));else if(e instanceof ArrayBuffer)a.push(O(Object.fromEntries([...new Uint8Array(e).entries()].map(([t,s])=>[t,s.toString()]))));else if(e instanceof FormData){const t={};for(const s of e.entries()){const[o,n]=s;t[o]=n instanceof File?n.name:n}a.push(O(t))}else if(ee(e))a.push(O(I(e)));else try{a.push(O(e))}catch{console.warn("[useFetch] Failed to hash body",e)}}return a}const be=te(async(r,a)=>{let e,t;if(["/mitgliederbereich","/cms"].some(n=>r.path.startsWith(n)))try{const{data:n}=([e,t]=ae(()=>ve("/api/auth/status","$iafshigZRx")),e=await e,t(),e);if(!n.value||!n.value.isLoggedIn)return R("/login?redirect="+r.path);if(r.path.startsWith("/cms")&&!(n.value.role==="admin"||n.value.role==="vorstand"))return R("/mitgliederbereich")}catch{return R("/login?redirect="+r.path)}});export{be as default}; diff --git a/.output/public/_nuxt/DDTUZ4Th.js b/.output/public/_nuxt/C1eD6HzQ.js similarity index 97% rename from .output/public/_nuxt/DDTUZ4Th.js rename to .output/public/_nuxt/C1eD6HzQ.js index aa9823f..de1bb3e 100644 --- a/.output/public/_nuxt/DDTUZ4Th.js +++ b/.output/public/_nuxt/C1eD6HzQ.js @@ -1 +1 @@ -import{c as a,a as t,b as e,u as r,q as l,w as o,_ as m,o as d,d as x}from"#entry";import{u as p}from"./C_U-NUAd.js";import{C as n}from"./DaSgy0Cl.js";const g={class:"min-h-full py-16 bg-gray-50"},f={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},y={class:"prose prose-lg max-w-none"},u={class:"bg-white p-8 rounded-xl shadow-lg not-prose mb-8"},b={class:"space-y-3"},c={class:"flex items-start"},h={class:"flex items-start"},_={class:"flex items-start"},k={class:"flex items-start"},v={class:"flex items-start"},w={class:"bg-primary-50 p-8 rounded-xl border border-primary-100 not-prose"},C={__name:"anfaenger",setup(z){return p({title:"Für Anfänger - Harheimer TC"}),(D,s)=>{const i=m;return d(),a("div",g,[t("div",f,[s[9]||(s[9]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Tischtennis für Anfänger ",-1)),s[10]||(s[10]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t("div",y,[s[8]||(s[8]=t("p",{class:"text-xl text-gray-600 mb-8"}," Du möchtest mit Tischtennis anfangen? Perfekt! Bei uns bist du richtig. ",-1)),t("div",u,[s[5]||(s[5]=t("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-4"}," Was du wissen solltest ",-1)),t("ul",b,[t("li",c,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[0]||(s[0]=t("span",{class:"text-gray-700"},"Keine Vorkenntnisse nötig",-1))]),t("li",h,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[1]||(s[1]=t("span",{class:"text-gray-700"},"Schläger und Material werden gestellt",-1))]),t("li",_,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[2]||(s[2]=t("span",{class:"text-gray-700"},"Sportkleidung und Hallenschuhe mitbringen",-1))]),t("li",k,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[3]||(s[3]=t("span",{class:"text-gray-700"},"3x kostenlos Probetraining",-1))]),t("li",v,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[4]||(s[4]=t("span",{class:"text-gray-700"},"Einstieg jederzeit möglich",-1))])])]),t("div",w,[s[7]||(s[7]=l('

Anfängergruppen

Schüler/Jugend (ab 6 Jahre)

Dienstag, 17:30 - 19:30 Uhr

Damen und Herren

Dienstag & Donnerstag, 19:30 - 22:30 Uhr

',2)),e(i,{to:"/kontakt",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:o(()=>[...s[6]||(s[6]=[x(" Zum Probetraining anmelden ",-1)])]),_:1})])])])])}}};export{C as default}; +import{c as a,a as t,b as e,u as r,f as l,w as o,_ as m,o as d,d as x}from"#entry";import{u as p}from"./C_U-NUAd.js";import{C as n}from"./DaSgy0Cl.js";const g={class:"min-h-full py-16 bg-gray-50"},f={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},y={class:"prose prose-lg max-w-none"},u={class:"bg-white p-8 rounded-xl shadow-lg not-prose mb-8"},b={class:"space-y-3"},c={class:"flex items-start"},h={class:"flex items-start"},_={class:"flex items-start"},k={class:"flex items-start"},v={class:"flex items-start"},w={class:"bg-primary-50 p-8 rounded-xl border border-primary-100 not-prose"},C={__name:"anfaenger",setup(z){return p({title:"Für Anfänger - Harheimer TC"}),(D,s)=>{const i=m;return d(),a("div",g,[t("div",f,[s[9]||(s[9]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Tischtennis für Anfänger ",-1)),s[10]||(s[10]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t("div",y,[s[8]||(s[8]=t("p",{class:"text-xl text-gray-600 mb-8"}," Du möchtest mit Tischtennis anfangen? Perfekt! Bei uns bist du richtig. ",-1)),t("div",u,[s[5]||(s[5]=t("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-4"}," Was du wissen solltest ",-1)),t("ul",b,[t("li",c,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[0]||(s[0]=t("span",{class:"text-gray-700"},"Keine Vorkenntnisse nötig",-1))]),t("li",h,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[1]||(s[1]=t("span",{class:"text-gray-700"},"Schläger und Material werden gestellt",-1))]),t("li",_,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[2]||(s[2]=t("span",{class:"text-gray-700"},"Sportkleidung und Hallenschuhe mitbringen",-1))]),t("li",k,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[3]||(s[3]=t("span",{class:"text-gray-700"},"3x kostenlos Probetraining",-1))]),t("li",v,[e(r(n),{size:24,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),s[4]||(s[4]=t("span",{class:"text-gray-700"},"Einstieg jederzeit möglich",-1))])])]),t("div",w,[s[7]||(s[7]=l('

Anfängergruppen

Schüler/Jugend (ab 6 Jahre)

Dienstag, 17:30 - 19:30 Uhr

Damen und Herren

Dienstag & Donnerstag, 19:30 - 22:30 Uhr

',2)),e(i,{to:"/kontakt",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:o(()=>[...s[6]||(s[6]=[x(" Zum Probetraining anmelden ",-1)])]),_:1})])])])])}}};export{C as default}; diff --git a/.output/public/_nuxt/CWgKKRjY.js b/.output/public/_nuxt/C5WkR1xp.js similarity index 77% rename from .output/public/_nuxt/CWgKKRjY.js rename to .output/public/_nuxt/C5WkR1xp.js index cf5a393..5b28ba2 100644 --- a/.output/public/_nuxt/CWgKKRjY.js +++ b/.output/public/_nuxt/C5WkR1xp.js @@ -1 +1 @@ -import{r as d,g as f,x as _,c as a,h as u,o as n,a as e,F as b,i as y,t as m,k as h,b as x,u as w,X as k}from"#entry";import{u as C}from"./C_U-NUAd.js";const L={key:0,id:"gallery",class:"py-16 sm:py-20 bg-gradient-to-b from-white to-gray-50"},$={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},j={class:"grid sm:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8 gap-2"},E=["onClick"],B=["src","alt"],G={class:"absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end"},V={class:"text-white font-semibold text-xs p-1 truncate"},z={class:"relative w-full h-full flex items-center justify-center"},F=["src","alt"],N={class:"absolute bottom-4 left-4 right-4 text-center"},H={class:"text-white font-semibold text-lg bg-black/50 rounded-lg px-4 py-2"},I={__name:"Gallery",setup(g){const s=d([]),t=d(null),p=async()=>{try{const o=await $fetch("/api/galerie");s.value=o||[]}catch(o){console.error("Fehler beim Laden der Galerie-Bilder:",o),s.value=[]}},v=o=>{t.value=o,document.body.style.overflow="hidden"},i=()=>{t.value=null,document.body.style.overflow="auto"},c=o=>{o.key==="Escape"&&t.value&&i()};return f(()=>{p(),document.addEventListener("keydown",c)}),_(()=>{document.removeEventListener("keydown",c),document.body.style.overflow="auto"}),(o,r)=>s.value.length>0?(n(),a("section",L,[e("div",$,[r[1]||(r[1]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Galerie "),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"}," Eindrücke von unserem Verein ")],-1)),e("div",j,[(n(!0),a(b,null,y(s.value,l=>(n(),a("div",{key:l.filename,class:"group relative w-20 h-20 rounded-md overflow-hidden shadow-sm hover:shadow-lg transition-all duration-300 cursor-pointer",onClick:D=>v(l)},[e("img",{src:`/galerie/${l.filename}`,alt:l.title,class:"w-full h-full object-cover group-hover:scale-110 transition-transform duration-700"},null,8,B),e("div",G,[e("p",V,m(l.title),1)])],8,E))),128))]),t.value?(n(),a("div",{key:0,class:"fixed inset-0 z-50 bg-black/90 flex items-center justify-center p-4",onClick:i},[e("div",z,[e("button",{onClick:h(i,["stop"]),class:"absolute top-4 right-4 z-10 w-10 h-10 bg-white/20 hover:bg-white/30 rounded-full flex items-center justify-center text-white transition-colors"},[x(w(k),{size:24})]),e("img",{src:`/galerie/${t.value.filename}`,alt:t.value.title,class:"max-w-[80vw] max-h-[80vh] object-contain rounded-lg",onClick:r[0]||(r[0]=h(()=>{},["stop"]))},null,8,F),e("div",N,[e("p",H,m(t.value.title),1)])])])):u("",!0)])])):u("",!0)}},M={class:"min-h-screen"},T={__name:"galerie",setup(g){return C({title:"Galerie - Harheimer TC"}),(s,t)=>(n(),a("div",M,[x(I)]))}};export{T as default}; +import{r as d,h as f,x as _,c as a,i as u,o as n,a as e,F as b,j as y,t as m,l as h,b as x,u as w,X as k}from"#entry";import{u as C}from"./C_U-NUAd.js";const j={key:0,id:"gallery",class:"py-16 sm:py-20 bg-gradient-to-b from-white to-gray-50"},L={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},$={class:"grid sm:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8 gap-2"},E=["onClick"],B=["src","alt"],G={class:"absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end"},V={class:"text-white font-semibold text-xs p-1 truncate"},z={class:"relative w-full h-full flex items-center justify-center"},F=["src","alt"],N={class:"absolute bottom-4 left-4 right-4 text-center"},H={class:"text-white font-semibold text-lg bg-black/50 rounded-lg px-4 py-2"},I={__name:"Gallery",setup(p){const s=d([]),t=d(null),g=async()=>{try{const o=await $fetch("/api/galerie");s.value=o||[]}catch(o){console.error("Fehler beim Laden der Galerie-Bilder:",o),s.value=[]}},v=o=>{t.value=o,document.body.style.overflow="hidden"},i=()=>{t.value=null,document.body.style.overflow="auto"},c=o=>{o.key==="Escape"&&t.value&&i()};return f(()=>{g(),document.addEventListener("keydown",c)}),_(()=>{document.removeEventListener("keydown",c),document.body.style.overflow="auto"}),(o,r)=>s.value.length>0?(n(),a("section",j,[e("div",L,[r[1]||(r[1]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Galerie "),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"}," Eindrücke von unserem Verein ")],-1)),e("div",$,[(n(!0),a(b,null,y(s.value,l=>(n(),a("div",{key:l.filename,class:"group relative w-20 h-20 rounded-md overflow-hidden shadow-sm hover:shadow-lg transition-all duration-300 cursor-pointer",onClick:D=>v(l)},[e("img",{src:`/galerie/${l.filename}`,alt:l.title,class:"w-full h-full object-cover group-hover:scale-110 transition-transform duration-700"},null,8,B),e("div",G,[e("p",V,m(l.title),1)])],8,E))),128))]),t.value?(n(),a("div",{key:0,class:"fixed inset-0 z-50 bg-black/90 flex items-center justify-center p-4",onClick:i},[e("div",z,[e("button",{onClick:h(i,["stop"]),class:"absolute top-4 right-4 z-10 w-10 h-10 bg-white/20 hover:bg-white/30 rounded-full flex items-center justify-center text-white transition-colors"},[x(w(k),{size:24})]),e("img",{src:`/galerie/${t.value.filename}`,alt:t.value.title,class:"max-w-[80vw] max-h-[80vh] object-contain rounded-lg",onClick:r[0]||(r[0]=h(()=>{},["stop"]))},null,8,F),e("div",N,[e("p",H,m(t.value.title),1)])])])):u("",!0)])])):u("",!0)}},M={class:"min-h-screen"},T={__name:"galerie",setup(p){return C({title:"Galerie - Harheimer TC"}),(s,t)=>(n(),a("div",M,[x(I)]))}};export{T as default}; diff --git a/.output/public/_nuxt/CCK7-3Cn.js b/.output/public/_nuxt/C9UhLsiJ.js similarity index 87% rename from .output/public/_nuxt/CCK7-3Cn.js rename to .output/public/_nuxt/C9UhLsiJ.js index fa4e97e..2e901c4 100644 --- a/.output/public/_nuxt/CCK7-3Cn.js +++ b/.output/public/_nuxt/C9UhLsiJ.js @@ -1 +1 @@ -import{j as _,r as i,g as S,c as p,a as s,b as v,u as c,k as V,h as y,l as u,v as d,d as w,t as g,m as M,o as m}from"#entry";import{u as U}from"./C_U-NUAd.js";import{L as h}from"./CUq_0rkE.js";import{A}from"./C8kQt0fa.js";import{C as B}from"./DaSgy0Cl.js";const C={class:"min-h-full py-16 bg-gray-50"},D={class:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8"},N={class:"bg-white rounded-xl shadow-lg p-8 border border-gray-100"},T={key:0,class:"flex items-center justify-center py-12"},z=["disabled"],L=["disabled"],j=["disabled"],q={class:"border-t border-gray-200 pt-6 mt-6"},E={class:"space-y-4"},F=["disabled"],H=["disabled"],Z=["disabled"],$={key:0,class:"flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm"},I={key:1,class:"flex items-center p-3 rounded-md bg-green-50 text-green-700 text-sm"},G={class:"flex justify-end space-x-4"},J=["disabled"],K=["disabled"],ee={__name:"profil",setup(O){const P=_(),b=i(!0),l=i(!1),o=i(""),f=i(""),t=i({name:"",email:"",phone:""}),r=i({current:"",new:"",confirm:""}),x=async()=>{b.value=!0,o.value="",f.value="";try{const n=await $fetch("/api/profile");t.value={name:n.user.name,email:n.user.email,phone:n.user.phone||""}}catch{o.value="Fehler beim Laden des Profils."}finally{b.value=!1}},k=async()=>{if(l.value=!0,o.value="",f.value="",r.value.current||r.value.new||r.value.confirm){if(!r.value.current){o.value="Bitte geben Sie Ihr aktuelles Passwort ein.",l.value=!1;return}if(!r.value.new){o.value="Bitte geben Sie ein neues Passwort ein.",l.value=!1;return}if(r.value.new!==r.value.confirm){o.value="Die neuen Passwörter stimmen nicht überein.",l.value=!1;return}if(r.value.new.length<6){o.value="Das neue Passwort muss mindestens 6 Zeichen lang sein.",l.value=!1;return}}try{await $fetch("/api/profile",{method:"PUT",body:{name:t.value.name,email:t.value.email,phone:t.value.phone,currentPassword:r.value.current||void 0,newPassword:r.value.new||void 0}}),f.value="Profil erfolgreich aktualisiert!",r.value={current:"",new:"",confirm:""},await P.checkAuth(),window.scrollTo({top:0,behavior:"smooth"})}catch(n){o.value=n.data?.message||"Fehler beim Speichern des Profils."}finally{l.value=!1}};return S(()=>{x()}),U({title:"Mein Profil - Harheimer TC"}),(n,e)=>(m(),p("div",C,[s("div",D,[e[13]||(e[13]=s("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Mein Profil ",-1)),e[14]||(e[14]=s("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),s("div",N,[b.value?(m(),p("div",T,[v(c(h),{size:40,class:"animate-spin text-primary-600"})])):(m(),p("form",{key:1,onSubmit:V(k,["prevent"]),class:"space-y-6"},[s("div",null,[e[6]||(e[6]=s("label",{for:"name",class:"block text-sm font-medium text-gray-700 mb-2"}," Name ",-1)),u(s("input",{id:"name","onUpdate:modelValue":e[0]||(e[0]=a=>t.value.name=a),type:"text",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,z),[[d,t.value.name]])]),s("div",null,[e[7]||(e[7]=s("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),u(s("input",{id:"email","onUpdate:modelValue":e[1]||(e[1]=a=>t.value.email=a),type:"email",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,L),[[d,t.value.email]])]),s("div",null,[e[8]||(e[8]=s("label",{for:"phone",class:"block text-sm font-medium text-gray-700 mb-2"}," Telefonnummer ",-1)),u(s("input",{id:"phone","onUpdate:modelValue":e[2]||(e[2]=a=>t.value.phone=a),type:"tel",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,j),[[d,t.value.phone]])]),s("div",q,[e[12]||(e[12]=s("h3",{class:"text-lg font-semibold text-gray-900 mb-4"},"Passwort ändern",-1)),s("div",E,[s("div",null,[e[9]||(e[9]=s("label",{for:"currentPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Aktuelles Passwort ",-1)),u(s("input",{id:"currentPassword","onUpdate:modelValue":e[3]||(e[3]=a=>r.value.current=a),type:"password",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,F),[[d,r.value.current]])]),s("div",null,[e[10]||(e[10]=s("label",{for:"newPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Neues Passwort ",-1)),u(s("input",{id:"newPassword","onUpdate:modelValue":e[4]||(e[4]=a=>r.value.new=a),type:"password",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,H),[[d,r.value.new]])]),s("div",null,[e[11]||(e[11]=s("label",{for:"confirmPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Passwort bestätigen ",-1)),u(s("input",{id:"confirmPassword","onUpdate:modelValue":e[5]||(e[5]=a=>r.value.confirm=a),type:"password",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,Z),[[d,r.value.confirm]])])])]),o.value?(m(),p("div",$,[v(c(A),{size:20,class:"mr-2"}),w(" "+g(o.value),1)])):y("",!0),f.value?(m(),p("div",I,[v(c(B),{size:20,class:"mr-2"}),w(" "+g(f.value),1)])):y("",!0),s("div",G,[s("button",{type:"button",onClick:x,class:"px-6 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors",disabled:l.value}," Zurücksetzen ",8,J),s("button",{type:"submit",class:"px-6 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors flex items-center",disabled:l.value},[l.value?(m(),M(c(h),{key:0,size:20,class:"animate-spin mr-2"})):y("",!0),s("span",null,g(l.value?"Speichert...":"Speichern"),1)],8,K)])],32))])])]))}};export{ee as default}; +import{k as _,r as i,h as S,c as f,a as s,b as v,u as c,l as V,i as y,m as u,v as d,d as w,t as g,p as M,o as m}from"#entry";import{u as U}from"./C_U-NUAd.js";import{L as h}from"./CUq_0rkE.js";import{A}from"./C8kQt0fa.js";import{C as B}from"./DaSgy0Cl.js";const C={class:"min-h-full py-16 bg-gray-50"},D={class:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8"},N={class:"bg-white rounded-xl shadow-lg p-8 border border-gray-100"},T={key:0,class:"flex items-center justify-center py-12"},z=["disabled"],L=["disabled"],j=["disabled"],q={class:"border-t border-gray-200 pt-6 mt-6"},E={class:"space-y-4"},F=["disabled"],H=["disabled"],Z=["disabled"],$={key:0,class:"flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm"},I={key:1,class:"flex items-center p-3 rounded-md bg-green-50 text-green-700 text-sm"},G={class:"flex justify-end space-x-4"},J=["disabled"],K=["disabled"],ee={__name:"profil",setup(O){const P=_(),b=i(!0),l=i(!1),o=i(""),p=i(""),t=i({name:"",email:"",phone:""}),r=i({current:"",new:"",confirm:""}),x=async()=>{b.value=!0,o.value="",p.value="";try{const n=await $fetch("/api/profile");t.value={name:n.user.name,email:n.user.email,phone:n.user.phone||""}}catch{o.value="Fehler beim Laden des Profils."}finally{b.value=!1}},k=async()=>{if(l.value=!0,o.value="",p.value="",r.value.current||r.value.new||r.value.confirm){if(!r.value.current){o.value="Bitte geben Sie Ihr aktuelles Passwort ein.",l.value=!1;return}if(!r.value.new){o.value="Bitte geben Sie ein neues Passwort ein.",l.value=!1;return}if(r.value.new!==r.value.confirm){o.value="Die neuen Passwörter stimmen nicht überein.",l.value=!1;return}if(r.value.new.length<6){o.value="Das neue Passwort muss mindestens 6 Zeichen lang sein.",l.value=!1;return}}try{await $fetch("/api/profile",{method:"PUT",body:{name:t.value.name,email:t.value.email,phone:t.value.phone,currentPassword:r.value.current||void 0,newPassword:r.value.new||void 0}}),p.value="Profil erfolgreich aktualisiert!",r.value={current:"",new:"",confirm:""},await P.checkAuth(),window.scrollTo({top:0,behavior:"smooth"})}catch(n){o.value=n.data?.message||"Fehler beim Speichern des Profils."}finally{l.value=!1}};return S(()=>{x()}),U({title:"Mein Profil - Harheimer TC"}),(n,e)=>(m(),f("div",C,[s("div",D,[e[13]||(e[13]=s("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Mein Profil ",-1)),e[14]||(e[14]=s("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),s("div",N,[b.value?(m(),f("div",T,[v(c(h),{size:40,class:"animate-spin text-primary-600"})])):(m(),f("form",{key:1,onSubmit:V(k,["prevent"]),class:"space-y-6"},[s("div",null,[e[6]||(e[6]=s("label",{for:"name",class:"block text-sm font-medium text-gray-700 mb-2"}," Name ",-1)),u(s("input",{id:"name","onUpdate:modelValue":e[0]||(e[0]=a=>t.value.name=a),type:"text",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,z),[[d,t.value.name]])]),s("div",null,[e[7]||(e[7]=s("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),u(s("input",{id:"email","onUpdate:modelValue":e[1]||(e[1]=a=>t.value.email=a),type:"email",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,L),[[d,t.value.email]])]),s("div",null,[e[8]||(e[8]=s("label",{for:"phone",class:"block text-sm font-medium text-gray-700 mb-2"}," Telefonnummer ",-1)),u(s("input",{id:"phone","onUpdate:modelValue":e[2]||(e[2]=a=>t.value.phone=a),type:"tel",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,j),[[d,t.value.phone]])]),s("div",q,[e[12]||(e[12]=s("h3",{class:"text-lg font-semibold text-gray-900 mb-4"},"Passwort ändern",-1)),s("div",E,[s("div",null,[e[9]||(e[9]=s("label",{for:"currentPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Aktuelles Passwort ",-1)),u(s("input",{id:"currentPassword","onUpdate:modelValue":e[3]||(e[3]=a=>r.value.current=a),type:"password",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,F),[[d,r.value.current]])]),s("div",null,[e[10]||(e[10]=s("label",{for:"newPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Neues Passwort ",-1)),u(s("input",{id:"newPassword","onUpdate:modelValue":e[4]||(e[4]=a=>r.value.new=a),type:"password",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,H),[[d,r.value.new]])]),s("div",null,[e[11]||(e[11]=s("label",{for:"confirmPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Passwort bestätigen ",-1)),u(s("input",{id:"confirmPassword","onUpdate:modelValue":e[5]||(e[5]=a=>r.value.confirm=a),type:"password",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,Z),[[d,r.value.confirm]])])])]),o.value?(m(),f("div",$,[v(c(A),{size:20,class:"mr-2"}),w(" "+g(o.value),1)])):y("",!0),p.value?(m(),f("div",I,[v(c(B),{size:20,class:"mr-2"}),w(" "+g(p.value),1)])):y("",!0),s("div",G,[s("button",{type:"button",onClick:x,class:"px-6 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors",disabled:l.value}," Zurücksetzen ",8,J),s("button",{type:"submit",class:"px-6 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors flex items-center",disabled:l.value},[l.value?(m(),M(c(h),{key:0,size:20,class:"animate-spin mr-2"})):y("",!0),s("span",null,g(l.value?"Speichert...":"Speichern"),1)],8,K)])],32))])])]))}};export{ee as default}; diff --git a/.output/public/_nuxt/CStFQbHi.js b/.output/public/_nuxt/COK-PGSA.js similarity index 94% rename from .output/public/_nuxt/CStFQbHi.js rename to .output/public/_nuxt/COK-PGSA.js index 7c4de55..8051b62 100644 --- a/.output/public/_nuxt/CStFQbHi.js +++ b/.output/public/_nuxt/COK-PGSA.js @@ -1,2 +1,2 @@ -import{A as M,r as L,g as N,c as l,a as e,t as a,F as z,i as C,h as y,b as x,d as h,u as D,w as _,_ as B,o,n as H}from"#entry";import{u as T}from"./C_U-NUAd.js";import{B as V}from"./jVj3QaoK.js";const F={class:"min-h-full py-16 bg-gray-50"},I={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},S={key:0,class:"space-y-8"},Z={class:"bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white"},E={class:"text-4xl font-display font-bold mb-2"},W={class:"text-primary-100 text-xl"},$={class:"bg-white rounded-xl shadow-lg p-6"},A={class:"grid md:grid-cols-2 gap-6"},Q={class:"space-y-4"},R={class:"flex items-center space-x-3"},j={class:"font-semibold text-gray-900"},q={class:"flex items-center space-x-3"},G={class:"font-semibold text-gray-900"},J={class:"space-y-4"},K={class:"flex items-center space-x-3"},O={class:"font-semibold text-gray-900"},P={class:"flex items-center space-x-3"},U={class:"font-semibold text-gray-900"},X={class:"bg-white rounded-xl shadow-lg p-6"},Y={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4"},tt={class:"font-semibold text-gray-900"},et={key:0,class:"text-xs text-primary-600 font-medium mt-1"},st={class:"bg-white rounded-xl shadow-lg p-6"},nt={class:"text-center"},it=["href"],rt={class:"bg-white rounded-xl shadow-lg p-6"},at={class:"text-sm text-gray-500 text-center"},lt={class:"text-center"},ot={key:1,class:"text-center py-16"},ft={__name:"[slug]",setup(dt){const v=M(),s=L(null),b=async()=>{try{const n=await fetch("/data/mannschaften.csv");if(!n.ok)return;const d=(await n.text()).split(` -`).filter(r=>r.trim()!=="");if(d.length<2)return;const m=d.slice(1).map(r=>{const i=[];let u="",f=!1;for(let p=0;pr!==null),c=v.params.slug;s.value=m.find(r=>r.slug===c)||null,s.value&&T({title:`${s.value.mannschaft} - Harheimer TC`})}catch(n){console.error("Fehler beim Laden der Mannschaften:",n)}},w=n=>n.spieler?n.spieler.split(";").map(t=>t.trim()).filter(t=>t!==""):[],k=n=>{if(!n)return"";if(/^\d{2}\.\d{2}\.\d{4}$/.test(n))return n;const t=new Date(n);return isNaN(t.getTime())?n:t.toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"})};return N(()=>{b()}),(n,t)=>{const d=B;return o(),l("div",F,[e("div",I,[s.value?(o(),l("div",S,[e("div",Z,[e("h1",E,a(s.value.mannschaft),1),e("p",W,a(s.value.liga),1)]),e("div",$,[t[8]||(t[8]=e("h2",{class:"text-2xl font-semibold text-gray-900 mb-6"},"Liga-Informationen",-1)),e("div",A,[e("div",Q,[e("div",R,[t[0]||(t[0]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[1]||(t[1]=e("span",{class:"text-gray-600"},"Staffelleiter:",-1)),e("span",j,a(s.value.staffelleiter),1)]),e("div",q,[t[2]||(t[2]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[3]||(t[3]=e("span",{class:"text-gray-600"},"Telefon:",-1)),e("span",G,a(s.value.telefon),1)])]),e("div",J,[e("div",K,[t[4]||(t[4]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[5]||(t[5]=e("span",{class:"text-gray-600"},"Heimspieltag:",-1)),e("span",O,a(s.value.heimspieltag),1)]),e("div",P,[t[6]||(t[6]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[7]||(t[7]=e("span",{class:"text-gray-600"},"Spielsystem:",-1)),e("span",U,a(s.value.spielsystem),1)])])])]),e("div",X,[t[9]||(t[9]=e("h2",{class:"text-2xl font-semibold text-gray-900 mb-6"}," Mannschaftsaufstellung Saison 2025/26 (Hinrunde) ",-1)),e("div",Y,[(o(!0),l(z,null,C(w(s.value),(m,c)=>(o(),l("div",{key:c,class:H(["bg-gray-50 rounded-lg p-4 text-center",m===s.value.mannschaftsfuehrer?"ring-2 ring-primary-500 bg-primary-50":""])},[e("div",tt,a(m),1),m===s.value.mannschaftsfuehrer?(o(),l("div",et," Mannschaftsführer ")):y("",!0)],2))),128))])]),e("div",st,[t[11]||(t[11]=e("h2",{class:"text-2xl font-semibold text-gray-900 mb-6"},"Weitere Informationen",-1)),e("div",nt,[s.value.weitere_informationen_link&&s.value.weitere_informationen_link!==""?(o(),l("a",{key:0,href:s.value.weitere_informationen_link,target:"_blank",class:"inline-flex items-center px-8 py-4 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},[x(D(V),{size:24,class:"mr-3"}),t[10]||(t[10]=h(" Weitere Informationen ",-1))],8,it)):y("",!0)])]),e("div",rt,[e("p",at," Zuletzt aktualisiert am: "+a(k(s.value.letzte_aktualisierung)),1)]),e("div",lt,[x(d,{to:"/mannschaften",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:_(()=>[...t[12]||(t[12]=[h(" ← Zurück zur Übersicht ",-1)])]),_:1})])])):(o(),l("div",ot,[t[14]||(t[14]=e("h1",{class:"text-4xl font-display font-bold text-gray-900 mb-4"},"Mannschaft nicht gefunden",-1)),t[15]||(t[15]=e("p",{class:"text-gray-600 mb-8"},"Die angeforderte Mannschaft konnte nicht gefunden werden.",-1)),x(d,{to:"/mannschaften",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:_(()=>[...t[13]||(t[13]=[h(" Zur Mannschaftsübersicht ",-1)])]),_:1})]))])])}}};export{ft as default}; +import{A as M,r as L,h as N,c as l,a as e,t as a,F as z,j as C,i as y,b as x,d as h,u as D,w as _,_ as B,o,n as H}from"#entry";import{u as T}from"./C_U-NUAd.js";import{B as V}from"./jVj3QaoK.js";const F={class:"min-h-full py-16 bg-gray-50"},I={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},S={key:0,class:"space-y-8"},Z={class:"bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white"},E={class:"text-4xl font-display font-bold mb-2"},W={class:"text-primary-100 text-xl"},$={class:"bg-white rounded-xl shadow-lg p-6"},j={class:"grid md:grid-cols-2 gap-6"},A={class:"space-y-4"},Q={class:"flex items-center space-x-3"},R={class:"font-semibold text-gray-900"},q={class:"flex items-center space-x-3"},G={class:"font-semibold text-gray-900"},J={class:"space-y-4"},K={class:"flex items-center space-x-3"},O={class:"font-semibold text-gray-900"},P={class:"flex items-center space-x-3"},U={class:"font-semibold text-gray-900"},X={class:"bg-white rounded-xl shadow-lg p-6"},Y={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4"},tt={class:"font-semibold text-gray-900"},et={key:0,class:"text-xs text-primary-600 font-medium mt-1"},st={class:"bg-white rounded-xl shadow-lg p-6"},nt={class:"text-center"},it=["href"],rt={class:"bg-white rounded-xl shadow-lg p-6"},at={class:"text-sm text-gray-500 text-center"},lt={class:"text-center"},ot={key:1,class:"text-center py-16"},ft={__name:"[slug]",setup(dt){const v=M(),s=L(null),b=async()=>{try{const n=await fetch("/data/mannschaften.csv");if(!n.ok)return;const d=(await n.text()).split(` +`).filter(r=>r.trim()!=="");if(d.length<2)return;const m=d.slice(1).map(r=>{const i=[];let u="",f=!1;for(let p=0;pr!==null),c=v.params.slug;s.value=m.find(r=>r.slug===c)||null,s.value&&T({title:`${s.value.mannschaft} - Harheimer TC`})}catch(n){console.error("Fehler beim Laden der Mannschaften:",n)}},w=n=>n.spieler?n.spieler.split(";").map(t=>t.trim()).filter(t=>t!==""):[],k=n=>{if(!n)return"";if(/^\d{2}\.\d{2}\.\d{4}$/.test(n))return n;const t=new Date(n);return isNaN(t.getTime())?n:t.toLocaleDateString("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"})};return N(()=>{b()}),(n,t)=>{const d=B;return o(),l("div",F,[e("div",I,[s.value?(o(),l("div",S,[e("div",Z,[e("h1",E,a(s.value.mannschaft),1),e("p",W,a(s.value.liga),1)]),e("div",$,[t[8]||(t[8]=e("h2",{class:"text-2xl font-semibold text-gray-900 mb-6"},"Liga-Informationen",-1)),e("div",j,[e("div",A,[e("div",Q,[t[0]||(t[0]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[1]||(t[1]=e("span",{class:"text-gray-600"},"Staffelleiter:",-1)),e("span",R,a(s.value.staffelleiter),1)]),e("div",q,[t[2]||(t[2]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[3]||(t[3]=e("span",{class:"text-gray-600"},"Telefon:",-1)),e("span",G,a(s.value.telefon),1)])]),e("div",J,[e("div",K,[t[4]||(t[4]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[5]||(t[5]=e("span",{class:"text-gray-600"},"Heimspieltag:",-1)),e("span",O,a(s.value.heimspieltag),1)]),e("div",P,[t[6]||(t[6]=e("div",{class:"w-2 h-2 bg-primary-600 rounded-full"},null,-1)),t[7]||(t[7]=e("span",{class:"text-gray-600"},"Spielsystem:",-1)),e("span",U,a(s.value.spielsystem),1)])])])]),e("div",X,[t[9]||(t[9]=e("h2",{class:"text-2xl font-semibold text-gray-900 mb-6"}," Mannschaftsaufstellung Saison 2025/26 (Hinrunde) ",-1)),e("div",Y,[(o(!0),l(z,null,C(w(s.value),(m,c)=>(o(),l("div",{key:c,class:H(["bg-gray-50 rounded-lg p-4 text-center",m===s.value.mannschaftsfuehrer?"ring-2 ring-primary-500 bg-primary-50":""])},[e("div",tt,a(m),1),m===s.value.mannschaftsfuehrer?(o(),l("div",et," Mannschaftsführer ")):y("",!0)],2))),128))])]),e("div",st,[t[11]||(t[11]=e("h2",{class:"text-2xl font-semibold text-gray-900 mb-6"},"Weitere Informationen",-1)),e("div",nt,[s.value.weitere_informationen_link&&s.value.weitere_informationen_link!==""?(o(),l("a",{key:0,href:s.value.weitere_informationen_link,target:"_blank",class:"inline-flex items-center px-8 py-4 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},[x(D(V),{size:24,class:"mr-3"}),t[10]||(t[10]=h(" Weitere Informationen ",-1))],8,it)):y("",!0)])]),e("div",rt,[e("p",at," Zuletzt aktualisiert am: "+a(k(s.value.letzte_aktualisierung)),1)]),e("div",lt,[x(d,{to:"/mannschaften",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:_(()=>[...t[12]||(t[12]=[h(" ← Zurück zur Übersicht ",-1)])]),_:1})])])):(o(),l("div",ot,[t[14]||(t[14]=e("h1",{class:"text-4xl font-display font-bold text-gray-900 mb-4"},"Mannschaft nicht gefunden",-1)),t[15]||(t[15]=e("p",{class:"text-gray-600 mb-8"},"Die angeforderte Mannschaft konnte nicht gefunden werden.",-1)),x(d,{to:"/mannschaften",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:_(()=>[...t[13]||(t[13]=[h(" Zur Mannschaftsübersicht ",-1)])]),_:1})]))])])}}};export{ft as default}; diff --git a/.output/public/_nuxt/DI-K9rkb.js b/.output/public/_nuxt/CQbOfyWX.js similarity index 88% rename from .output/public/_nuxt/DI-K9rkb.js rename to .output/public/_nuxt/CQbOfyWX.js index f2cb4f1..d87fd24 100644 --- a/.output/public/_nuxt/DI-K9rkb.js +++ b/.output/public/_nuxt/CQbOfyWX.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./B2cfq_o5.js","./YJHbYJtA.js","./DlAUqK2U.js","./index.DqdQJZen.css","./C3ZC2MBN.js","./C_U-NUAd.js","./C8kQt0fa.js","./DaSgy0Cl.js","./CUq_0rkE.js","./DjQJos7H.js","./CWgKKRjY.js","./OKH0iApX.js","./C5SyyWEb.js","./SRZHqrjk.js","./C7t1i8dL.js","./BteKZQ9T.js","./CUUerAfc.js","./B7gCv9SJ.js","./DCs9V8J_.js","./DAACT36i.js","./DkeYb0_S.js","./BStiaRgF.js","./Czdc6-TI.js","./BXPpCwtT.js","./KxVBmS-6.js","./B4mSF5Ac.js","./CrCcIvVp.js","./CkzaQq3X.js","./DMxhMw0T.js","./CWEkTB1z.js","./QJE7pTvy.js","./BN9lzb-3.js","./B7YOuq0i.js","./BVFhdtwe.js","./XZ6RV9KH.js","./Cx4UcKGu.js","./C0ltx_3z.js","./CI8YYLGa.js","./CNPVZmuq.js","./LPF2GIYR.js","./BFexRfL9.js","./jVj3QaoK.js","./DjHhXTxu.js","./DDTUZ4Th.js","./CStFQbHi.js","./DQLCaib_.js","./RzC6IeuO.js","./YTUQ4PrF.js","./CGpRzXRB.js","./DBnABJGp.js","./CswPsggF.js","./Nh9QSW5G.js","./CCK7-3Cn.js","./BkmncYmZ.js","./C9SglkVL.js","./error-404.CbXQcqJW.css","./CW9krljs.js","./error-500.L485xXhD.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./KD1G0xGW.js","./DlAUqK2U.js","./YJHbYJtA.js","./oN0_bS6A.js","./BC4PNGtJ.js","./index.cxXLuf7u.css","./B6TEfPSg.js","./C_U-NUAd.js","./C8kQt0fa.js","./DaSgy0Cl.js","./CUq_0rkE.js","./CvtlfSR0.js","./C5WkR1xp.js","./BGsE9M8w.js","./C5SyyWEb.js","./DdHhmCne.js","./CTuRK0lH.js","./BteKZQ9T.js","./DvrqIJw1.js","./B3KXwwdt.js","./Bdk8d7qx.js","./DAACT36i.js","./DkeYb0_S.js","./D99LnZYi.js","./Czdc6-TI.js","./DjcJk1g8.js","./KxVBmS-6.js","./B4mSF5Ac.js","./CrCcIvVp.js","./CkzaQq3X.js","./CT6VfTlB.js","./CWEkTB1z.js","./B23trXK4.js","./D11oUMHK.js","./Bn7G3VMx.js","./BASo1Rw1.js","./XZ6RV9KH.js","./Cx4UcKGu.js","./BjiYAScN.js","./CI8YYLGa.js","./BxR6w-Hd.js","./LPF2GIYR.js","./BU5mk92E.js","./jVj3QaoK.js","./DxIIJuzj.js","./C1eD6HzQ.js","./COK-PGSA.js","./sVyj_WZX.js","./BZLaJF8o.js","./Dx1KRsmK.js","./CGpRzXRB.js","./DHQur1V-.js","./rgKTeSYE.js","./BRhWghMt.js","./C9UhLsiJ.js","./nrzLFm_7.js","./C9SglkVL.js","./error-404.CbXQcqJW.css","./CW9krljs.js","./error-500.L485xXhD.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();/** * @vue/shared v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors @@ -28,7 +28,7 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./B2cfq_o5.js","./YJHb * vue-router v4.6.3 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Sg=()=>location.protocol+"//"+location.host;function $c(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(i);return l[0]!=="/"&&(l="/"+l),cl(l,"")}return cl(n,e)+r+s}function Ag(e,t,n,r){let s=[],o=[],i=null;const l=({state:p})=>{const h=$c(e,location),y=n.value,u=t.value;let b=0;if(p){if(n.value=h,t.value=p,i&&i===y){i=null;return}b=u?p.position-u.position:0}else r(h);s.forEach(w=>{w(n.value,y,{delta:b,type:uo.pop,direction:b?b>0?Ns.forward:Ns.back:Ns.unknown})})};function a(){i=n.value}function f(p){s.push(p);const h=()=>{const y=s.indexOf(p);y>-1&&s.splice(y,1)};return o.push(h),h}function c(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(fe({},p.state,{scroll:ds()}),"")}}function d(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:f,destroy:d}}function pl(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?ds():null}}function kg(e){const{history:t,location:n}=window,r={value:$c(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,f,c){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+a:Sg()+e+a;try{t[c?"replaceState":"pushState"](f,"",p),s.value=f}catch(h){console.error(h),n[c?"replace":"assign"](p)}}function i(a,f){o(a,fe({},t.state,pl(s.value.back,a,s.value.forward,!0),f,{position:s.value.position}),!0),r.value=a}function l(a,f){const c=fe({},s.value,t.state,{forward:a,scroll:ds()});o(c.current,c,!0),o(a,fe({},pl(r.value,a,null),{position:c.position+1},f),!1),r.value=a}return{location:r,state:s,push:l,replace:i}}function Pg(e){e=hg(e);const t=kg(e),n=Ag(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=fe({location:"",base:e,go:r,createHref:gg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Yt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Se=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Se||{});const Og={type:Yt.Static,value:""},Ig=/[a-zA-Z0-9_]/;function Mg(e){if(!e)return[[]];if(e==="/")return[[Og]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${f}": ${h}`)}let n=Se.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,a,f="",c="";function d(){f&&(n===Se.Static?o.push({type:Yt.Static,value:f}):n===Se.Param||n===Se.ParamRegExp||n===Se.ParamRegExpEnd?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Yt.Param,value:f,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),f="")}function p(){f+=a}for(;lt.length?t.length===1&&t[0]===Be.Static+Be.Segment?1:-1:0}function jc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const $g={strict:!1,end:!0,sensitive:!1};function jg(e,t,n){const r=Hg(Mg(e.path),n),s=fe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function Fg(e,t){const n=[],r=new Map;t=al($g,t);function s(d){return r.get(d)}function o(d,p,h){const y=!h,u=vl(d);u.aliasOf=h&&h.record;const b=al(t,d),w=[u];if("alias"in d){const _=typeof d.alias=="string"?[d.alias]:d.alias;for(const x of _)w.push(vl(fe({},u,{components:h?h.record.components:u.components,path:x,aliasOf:h?h.record:u})))}let E,m;for(const _ of w){const{path:x}=_;if(p&&x[0]!=="/"){const A=p.record.path,L=A[A.length-1]==="/"?"":"/";_.path=p.record.path+(x&&L+x)}if(E=jg(_,p,b),h?h.alias.push(E):(m=m||E,m!==E&&m.alias.push(E),y&&d.name&&!_l(E)&&i(d.name)),Fc(E)&&a(E),u.children){const A=u.children;for(let L=0;L{i(m)}:Zn}function i(d){if(Hc(d)){const p=r.get(d);p&&(r.delete(d),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(d);p>-1&&(n.splice(p,1),d.record.name&&r.delete(d.record.name),d.children.forEach(i),d.alias.forEach(i))}}function l(){return n}function a(d){const p=Vg(d,n);n.splice(p,0,d),d.record.name&&!_l(d)&&r.set(d.record.name,d)}function f(d,p){let h,y={},u,b;if("name"in d&&d.name){if(h=r.get(d.name),!h)throw In(Ce.MATCHER_NOT_FOUND,{location:d});b=h.record.name,y=fe(yl(p.params,h.keys.filter(m=>!m.optional).concat(h.parent?h.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),d.params&&yl(d.params,h.keys.map(m=>m.name))),u=h.stringify(y)}else if(d.path!=null)u=d.path,h=n.find(m=>m.re.test(u)),h&&(y=h.parse(u),b=h.record.name);else{if(h=p.name?r.get(p.name):n.find(m=>m.re.test(p.path)),!h)throw In(Ce.MATCHER_NOT_FOUND,{location:d,currentLocation:p});b=h.record.name,y=fe({},p.params,d.params),u=h.stringify(y)}const w=[];let E=h;for(;E;)w.unshift(E.record),E=E.parent;return{name:b,path:u,params:y,matched:w,meta:Ug(w)}}e.forEach(d=>o(d));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:s}}function yl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function vl(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Bg(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Bg(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function _l(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ug(e){return e.reduce((t,n)=>fe(t,n.meta),{})}function Vg(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;jc(e,t[o])<0?r=o:n=o+1}const s=Wg(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Wg(e){let t=e;for(;t=t.parent;)if(Fc(t)&&jc(e,t)===0)return t}function Fc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function bl(e){const t=je(hs),n=je(qo),r=ve(()=>{const a=ne(e.to);return t.resolve(a)}),s=ve(()=>{const{matched:a}=r.value,{length:f}=a,c=a[f-1],d=n.matched;if(!c||!d.length)return-1;const p=d.findIndex(On.bind(null,c));if(p>-1)return p;const h=wl(a[f-2]);return f>1&&wl(c)===h&&d[d.length-1].path!==h?d.findIndex(On.bind(null,a[f-2])):p}),o=ve(()=>s.value>-1&&Jg(n.params,r.value.params)),i=ve(()=>s.value>-1&&s.value===n.matched.length-1&&Nc(n.params,r.value.params));function l(a={}){if(zg(a)){const f=t[ne(e.replace)?"replace":"push"](ne(e.to)).catch(Zn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:r,href:ve(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}function Kg(e){return e.length===1?e[0]:e}const Gg=Hn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:bl,setup(e,{slots:t}){const n=Ot(bl(e)),{options:r}=je(hs),s=ve(()=>({[xl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Kg(t.default(n));return e.custom?o:$e("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),qg=Gg;function zg(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Jg(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!ct(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function wl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xl=(e,t,n)=>e??t??n,Yg=Hn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=je(ho),s=ve(()=>e.route||r.value),o=je(hl,0),i=ve(()=>{let f=ne(o);const{matched:c}=s.value;let d;for(;(d=c[f])&&!d.components;)f++;return f}),l=ve(()=>s.value.matched[i.value]);En(hl,ve(()=>i.value+1)),En(Rg,l),En(ho,s);const a=ke();return en(()=>[a.value,l.value,e.name],([f,c,d],[p,h,y])=>{c&&(c.instances[d]=f,h&&h!==c&&f&&f===p&&(c.leaveGuards.size||(c.leaveGuards=h.leaveGuards),c.updateGuards.size||(c.updateGuards=h.updateGuards))),f&&c&&(!h||!On(c,h)||!p)&&(c.enterCallbacks[d]||[]).forEach(u=>u(f))},{flush:"post"}),()=>{const f=s.value,c=e.name,d=l.value,p=d&&d.components[c];if(!p)return El(n.default,{Component:p,route:f});const h=d.props[c],y=h?h===!0?f.params:typeof h=="function"?h(f):h:null,b=$e(p,fe({},y,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(d.instances[c]=null)},ref:a}));return El(n.default,{Component:b,route:f})||b}}});function El(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Bc=Yg;function Qg(e){const t=Fg(e.routes,e),n=e.parseQuery||Eg,r=e.stringifyQuery||dl,s=e.history,o=Vn(),i=Vn(),l=Vn(),a=Rn(nt);let f=nt;pn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Ms.bind(null,T=>""+T),d=Ms.bind(null,ig),p=Ms.bind(null,lr);function h(T,V){let F,X;return Hc(T)?(F=t.getRecordMatcher(T),X=V):X=T,t.addRoute(X,F)}function y(T){const V=t.getRecordMatcher(T);V&&t.removeRoute(V)}function u(){return t.getRoutes().map(T=>T.record)}function b(T){return!!t.getRecordMatcher(T)}function w(T,V){if(V=fe({},V||a.value),typeof T=="string"){const v=Ls(n,T,V.path),C=t.resolve({path:v.path},V),O=s.createHref(v.fullPath);return fe(v,C,{params:p(C.params),hash:lr(v.hash),redirectedFrom:void 0,href:O})}let F;if(T.path!=null)F=fe({},T,{path:Ls(n,T.path,V.path).path});else{const v=fe({},T.params);for(const C in v)v[C]==null&&delete v[C];F=fe({},T,{params:d(v)}),V.params=d(V.params)}const X=t.resolve(F,V),se=T.hash||"";X.params=c(p(X.params));const _e=cg(r,fe({},T,{hash:rg(se),path:X.path})),g=s.createHref(_e);return fe({fullPath:_e,hash:se,query:r===dl?Cg(T.query):T.query||{}},X,{redirectedFrom:void 0,href:g})}function E(T){return typeof T=="string"?Ls(n,T,a.value.path):fe({},T)}function m(T,V){if(f!==T)return In(Ce.NAVIGATION_CANCELLED,{from:V,to:T})}function _(T){return L(T)}function x(T){return _(fe(E(T),{replace:!0}))}function A(T,V){const F=T.matched[T.matched.length-1];if(F&&F.redirect){const{redirect:X}=F;let se=typeof X=="function"?X(T,V):X;return typeof se=="string"&&(se=se.includes("?")||se.includes("#")?se=E(se):{path:se},se.params={}),fe({query:T.query,hash:T.hash,params:se.path!=null?{}:T.params},se)}}function L(T,V){const F=f=w(T),X=a.value,se=T.state,_e=T.force,g=T.replace===!0,v=A(F,X);if(v)return L(fe(E(v),{state:typeof v=="object"?fe({},se,v.state):se,force:_e,replace:g}),V||F);const C=F;C.redirectedFrom=V;let O;return!_e&&ug(r,X,F)&&(O=In(Ce.NAVIGATION_DUPLICATED,{to:C,from:X}),ft(X,X,!0,!1)),(O?Promise.resolve(O):k(C,X)).catch(R=>_t(R)?_t(R,Ce.NAVIGATION_GUARD_REDIRECT)?R:Lt(R):G(R,C,X)).then(R=>{if(R){if(_t(R,Ce.NAVIGATION_GUARD_REDIRECT))return L(fe({replace:g},E(R.to),{state:typeof R.to=="object"?fe({},se,R.to.state):se,force:_e}),V||C)}else R=P(C,X,!0,g,se);return W(C,X,R),R})}function D(T,V){const F=m(T,V);return F?Promise.reject(F):Promise.resolve()}function S(T){const V=cn.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(T):T()}function k(T,V){let F;const[X,se,_e]=Tg(T,V);F=Hs(X.reverse(),"beforeRouteLeave",T,V);for(const v of X)v.leaveGuards.forEach(C=>{F.push(Ft(C,T,V))});const g=D.bind(null,T,V);return F.push(g),et(F).then(()=>{F=[];for(const v of o.list())F.push(Ft(v,T,V));return F.push(g),et(F)}).then(()=>{F=Hs(se,"beforeRouteUpdate",T,V);for(const v of se)v.updateGuards.forEach(C=>{F.push(Ft(C,T,V))});return F.push(g),et(F)}).then(()=>{F=[];for(const v of _e)if(v.beforeEnter)if(ct(v.beforeEnter))for(const C of v.beforeEnter)F.push(Ft(C,T,V));else F.push(Ft(v.beforeEnter,T,V));return F.push(g),et(F)}).then(()=>(T.matched.forEach(v=>v.enterCallbacks={}),F=Hs(_e,"beforeRouteEnter",T,V,S),F.push(g),et(F))).then(()=>{F=[];for(const v of i.list())F.push(Ft(v,T,V));return F.push(g),et(F)}).catch(v=>_t(v,Ce.NAVIGATION_CANCELLED)?v:Promise.reject(v))}function W(T,V,F){l.list().forEach(X=>S(()=>X(T,V,F)))}function P(T,V,F,X,se){const _e=m(T,V);if(_e)return _e;const g=V===nt,v=pn?history.state:{};F&&(X||g?s.replace(T.fullPath,fe({scroll:g&&v&&v.scroll},se)):s.push(T.fullPath,se)),a.value=T,ft(T,V,F,g),Lt()}let K;function ie(){K||(K=s.listen((T,V,F)=>{if(!Vt.listening)return;const X=w(T),se=A(X,Vt.currentRoute.value);if(se){L(fe(se,{replace:!0,force:!0}),X).catch(Zn);return}f=X;const _e=a.value;pn&&vg(fl(_e.fullPath,F.delta),ds()),k(X,_e).catch(g=>_t(g,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_CANCELLED)?g:_t(g,Ce.NAVIGATION_GUARD_REDIRECT)?(L(fe(E(g.to),{force:!0}),X).then(v=>{_t(v,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_DUPLICATED)&&!F.delta&&F.type===uo.pop&&s.go(-1,!1)}).catch(Zn),Promise.reject()):(F.delta&&s.go(-F.delta,!1),G(g,X,_e))).then(g=>{g=g||P(X,_e,!1),g&&(F.delta&&!_t(g,Ce.NAVIGATION_CANCELLED)?s.go(-F.delta,!1):F.type===uo.pop&&_t(g,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),W(X,_e,g)}).catch(Zn)}))}let ue=Vn(),U=Vn(),J;function G(T,V,F){Lt(T);const X=U.list();return X.length?X.forEach(se=>se(T,V,F)):console.error(T),Promise.reject(T)}function Ee(){return J&&a.value!==nt?Promise.resolve():new Promise((T,V)=>{ue.add([T,V])})}function Lt(T){return J||(J=!T,ie(),ue.list().forEach(([V,F])=>T?F(T):V()),ue.reset()),T}function ft(T,V,F,X){const{scrollBehavior:se}=e;if(!pn||!se)return Promise.resolve();const _e=!F&&_g(fl(T.fullPath,0))||(X||!F)&&history.state&&history.state.scroll||null;return sn().then(()=>se(T,V,_e)).then(g=>g&&yg(g)).catch(g=>G(g,T,V))}const Ve=T=>s.go(T);let an;const cn=new Set,Vt={currentRoute:a,listening:!0,addRoute:h,removeRoute:y,clearRoutes:t.clearRoutes,hasRoute:b,getRoutes:u,resolve:w,options:e,push:_,replace:x,go:Ve,back:()=>Ve(-1),forward:()=>Ve(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:U.add,isReady:Ee,install(T){T.component("RouterLink",qg),T.component("RouterView",Bc),T.config.globalProperties.$router=Vt,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>ne(a)}),pn&&!an&&a.value===nt&&(an=!0,_(s.location).catch(X=>{}));const V={};for(const X in nt)Object.defineProperty(V,X,{get:()=>a.value[X],enumerable:!0});T.provide(hs,Vt),T.provide(qo,Ct(V)),T.provide(ho,a);const F=T.unmount;cn.add(T),T.unmount=function(){cn.delete(T),cn.size<1&&(f=nt,K&&K(),K=null,a.value=nt,an=!1,J=!1),F()}}};function et(T){return T.reduce((V,F)=>V.then(()=>S(F)),Promise.resolve())}return Vt}function Xg(){return je(hs)}function Zg(e){return je(qo)}const em=/(:\w+)\([^)]+\)/g,tm=/(:\w+)[?+*]/g,nm=/:\w+/g,rm=(e,t)=>t.path.replace(em,"$1").replace(tm,"$1").replace(nm,n=>e.params[n.slice(1)]?.toString()||""),po=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&rm(e.route,n));return typeof r=="function"?r(e.route):r},sm=(e,t)=>({default:()=>e?$e(zu,e===!0?{}:e,t):t});function zo(e){return Array.isArray(e)?e:[e]}const om={layout:"default"},im={layout:"default"},lm={layout:"default"},am={layout:"default"},cm={layout:"default"},Ds=[{name:"index",path:"/",component:()=>le(()=>import("./B2cfq_o5.js"),__vite__mapDeps([0,1,2,3]),import.meta.url)},{name:"login",path:"/login",meta:om||{},component:()=>le(()=>import("./C3ZC2MBN.js"),__vite__mapDeps([4,5,6,7,8]),import.meta.url)},{name:"anlagen",path:"/anlagen",component:()=>le(()=>import("./DjQJos7H.js"),__vite__mapDeps([9,5]),import.meta.url)},{name:"galerie",path:"/galerie",component:()=>le(()=>import("./CWgKKRjY.js"),__vite__mapDeps([10,5]),import.meta.url)},{name:"kontakt",path:"/kontakt",component:()=>le(()=>import("./OKH0iApX.js"),__vite__mapDeps([11,12,13,6,5]),import.meta.url)},{name:"satzung",path:"/satzung",component:()=>le(()=>import("./C7t1i8dL.js"),__vite__mapDeps([14,5,15]),import.meta.url)},{name:"termine",path:"/termine",component:()=>le(()=>import("./CUUerAfc.js"),__vite__mapDeps([16,5,1]),import.meta.url)},{name:"vorstand",path:"/vorstand",component:()=>le(()=>import("./B7gCv9SJ.js"),__vite__mapDeps([17,5]),import.meta.url)},{name:"cms",path:"/cms",meta:{middleware:"auth"},component:()=>le(()=>import("./DCs9V8J_.js"),__vite__mapDeps([18,5,1,19,15,20]),import.meta.url)},{name:"impressum",path:"/impressum",component:()=>le(()=>import("./BStiaRgF.js"),__vite__mapDeps([21,5,15,22]),import.meta.url)},{name:"tt-regeln",path:"/tt-regeln",component:()=>le(()=>import("./BXPpCwtT.js"),__vite__mapDeps([23,5,24,15,25,26,20,27]),import.meta.url)},{name:"ueber-uns",path:"/ueber-uns",component:()=>le(()=>import("./DMxhMw0T.js"),__vite__mapDeps([28,29,25,5]),import.meta.url)},{name:"geschichte",path:"/geschichte",component:()=>le(()=>import("./QJE7pTvy.js"),__vite__mapDeps([30,5]),import.meta.url)},{name:"cms-benutzer",path:"/cms/benutzer",meta:{middleware:"auth"},component:()=>le(()=>import("./BN9lzb-3.js"),__vite__mapDeps([31,5,6,7]),import.meta.url)},{name:"registrieren",path:"/registrieren",component:()=>le(()=>import("./B7YOuq0i.js"),__vite__mapDeps([32,5,6,7,8]),import.meta.url)},{name:"spielsysteme",path:"/spielsysteme",component:()=>le(()=>import("./BVFhdtwe.js"),__vite__mapDeps([33,5,20,1,34,27,35]),import.meta.url)},{name:"mitgliedschaft",path:"/mitgliedschaft",component:()=>le(()=>import("./C0ltx_3z.js"),__vite__mapDeps([36,7,34,29,15,22,5]),import.meta.url)},{name:"training",path:"/training",component:()=>le(()=>import("./CI8YYLGa.js"),__vite__mapDeps([37,5,12]),import.meta.url)},{name:"training-trainer",path:"/training/trainer",component:()=>le(()=>import("./CNPVZmuq.js"),__vite__mapDeps([38,5]),import.meta.url)},{name:"mannschaften-damen",path:"/mannschaften/damen",component:()=>le(()=>import("./LPF2GIYR.js"),__vite__mapDeps([39,5]),import.meta.url)},{name:"mannschaften",path:"/mannschaften",component:()=>le(()=>import("./BFexRfL9.js"),__vite__mapDeps([40,41,20,5]),import.meta.url)},{name:"passwort-vergessen",path:"/passwort-vergessen",component:()=>le(()=>import("./DjHhXTxu.js"),__vite__mapDeps([42,5,6,7,8]),import.meta.url)},{name:"training-anfaenger",path:"/training/anfaenger",component:()=>le(()=>import("./DDTUZ4Th.js"),__vite__mapDeps([43,5,7]),import.meta.url)},{name:"mannschaften-slug",path:"/mannschaften/:slug()",component:()=>le(()=>import("./CStFQbHi.js"),__vite__mapDeps([44,5,41]),import.meta.url)},{name:"mannschaften-herren",path:"/mannschaften/herren",component:()=>le(()=>import("./DQLCaib_.js"),__vite__mapDeps([45,5]),import.meta.url)},{name:"mannschaften-jugend",path:"/mannschaften/jugend",component:()=>le(()=>import("./RzC6IeuO.js"),__vite__mapDeps([46,5]),import.meta.url)},{name:"mitgliederbereich-news",path:"/mitgliederbereich/news",meta:{...im||{},middleware:"auth"},component:()=>le(()=>import("./YTUQ4PrF.js"),__vite__mapDeps([47,5,8,24,1,48,19,6]),import.meta.url)},{name:"vereinsmeisterschaften",path:"/vereinsmeisterschaften",component:()=>le(()=>import("./DBnABJGp.js"),__vite__mapDeps([49,5,26]),import.meta.url)},{name:"mitgliederbereich",path:"/mitgliederbereich",meta:{...lm||{},middleware:"auth"},component:()=>le(()=>import("./CswPsggF.js"),__vite__mapDeps([50,5,20,19,7]),import.meta.url)},{name:"mannschaften-spielplaene",path:"/mannschaften/spielplaene",component:()=>le(()=>import("./Nh9QSW5G.js"),__vite__mapDeps([51,5,15,35]),import.meta.url)},{name:"mitgliederbereich-profil",path:"/mitgliederbereich/profil",meta:{...am||{},middleware:"auth"},component:()=>le(()=>import("./CCK7-3Cn.js"),__vite__mapDeps([52,5,8,6,7]),import.meta.url)},{name:"mitgliederbereich-mitglieder",path:"/mitgliederbereich/mitglieder",meta:{...cm||{},middleware:"auth"},component:()=>le(()=>import("./BkmncYmZ.js"),__vite__mapDeps([53,5,8,48,13,12,15,6]),import.meta.url)}],um=(e,t)=>({default:()=>e?$e(jo,e===!0?{}:e,t):t.default?.()}),fm=/(:\w+)\([^)]+\)/g,dm=/(:\w+)[?+*]/g,hm=/:\w+/g;function Cl(e){const t=e?.meta.key??e.path.replace(fm,"$1").replace(dm,"$1").replace(hm,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function pm(e,t){return e===t||t===nt?!1:Cl(e)!==Cl(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}const gm={scrollBehavior(e,t,n){const r=Te(),s=qe().options?.scrollBehaviorType??"auto";if(e.path.replace(/\/$/,"")===t.path.replace(/\/$/,""))return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:Uc(e.hash),behavior:s}:!1;if((typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1)return!1;const i=r._runningTransition?"page:transition:finish":"page:loading:end";return new Promise(l=>{if(t===nt){l(Rl(e,t,n,s));return}r.hooks.hookOnce(i,()=>{requestAnimationFrame(()=>l(Rl(e,t,n,s)))})})}};function Uc(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function Rl(e,t,n,r){if(n)return n;const s=pm(e,t);return e.hash?{el:e.hash,top:Uc(e.hash),behavior:s?r:"instant"}:{left:0,top:0}}const mm={hashMode:!1,scrollBehaviorType:"auto"},Ht={...mm,...gm},ym=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=nn(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=rn({fatal:!0,statusCode:s&&s.statusCode||404,statusMessage:s&&s.statusMessage||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},Jo=tp("auth",{state:()=>({isLoggedIn:!1,user:null,role:null}),getters:{isAdmin:e=>e.role==="admin"||e.role==="vorstand"},actions:{async checkAuth(){try{const e=await $fetch("/api/auth/status");return this.isLoggedIn=e.isLoggedIn,this.user=e.user,this.role=e.role,e}catch{return this.isLoggedIn=!1,this.user=null,this.role=null,{isLoggedIn:!1}}},async login(e,t){const n=await $fetch("/api/auth/login",{method:"POST",body:{email:e,password:t}});return n.success&&await this.checkAuth(),n},async logout(){try{await $fetch("/api/auth/logout",{method:"POST"}),this.isLoggedIn=!1,this.user=null,this.role=null}catch(e){throw console.error("Logout fehlgeschlagen:",e),e}}}}),vm=async(e,t)=>{let n,r;const s=Jo();if(e.meta.middleware==="auth"&&(s.isLoggedIn||([n,r]=nn(()=>s.checkAuth()),await n,r()),!s.isLoggedIn))return mn("/login")},_m=async e=>{let t,n;const r=([t,n]=nn(()=>Wo({path:e.path})),t=await t,n(),t);if(r.redirect)return Mt(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},bm=[ym,vm,_m],go={auth:()=>le(()=>import("./BdCoUFEM.js"),[],import.meta.url)};function wm(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const f=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(f);return c[0]!=="/"&&(c="/"+c),Bi(c,"")}const l=Bi(r,e),a=!n||Xd(l,n)?l:n;return a+(a.includes("?")?"":s)+o}const xm=ut({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=hr().app.baseURL;const s=Ht.history?.(r)??Pg(r),o=Ht.routes?([t,n]=nn(()=>Ht.routes(Ds)),t=await t,n(),t??Ds):Ds;let i;const l=Qg({...Ht,scrollBehavior:(b,w,E)=>{if(w===nt){i=E;return}if(Ht.scrollBehavior){if(l.options.scrollBehavior=Ht.scrollBehavior,"scrollRestoration"in window.history){const m=l.beforeEach(()=>{m(),window.history.scrollRestoration="manual"})}return Ht.scrollBehavior(b,nt,i||E)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(l);const a=Rn(l.currentRoute.value);l.afterEach((b,w)=>{a.value=w}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>a.value});const f=wm(r,window.location,e.payload.path),c=Rn(l.currentRoute.value),d=()=>{c.value=l.currentRoute.value};e.hook("page:finish",d),l.afterEach((b,w)=>{b.matched[b.matched.length-1]?.components?.default===w.matched[w.matched.length-1]?.components?.default&&d()});const p={};for(const b in c.value)Object.defineProperty(p,b,{get:()=>c.value[b],enumerable:!0});e._route=Ct(p),e._middleware||={global:[],named:{}};const h=us();l.afterEach(async(b,w,E)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(zh),E&&await e.callHook("page:loading:end")});try{[t,n]=nn(()=>l.isReady()),await t,n()}catch(b){[t,n]=nn(()=>e.runWithContext(()=>Jt(b))),await t,n()}const y=f!==l.currentRoute.value.fullPath?l.resolve(f):l.currentRoute.value;d();const u=e.payload.state._layout;return l.beforeEach(async(b,w)=>{await e.callHook("page:loading:start"),b.meta=Ot(b.meta),e.isHydrating&&u&&!kt(b.meta.layout)&&(b.meta.layout=u),e._processingMiddleware=!0;{const E=new Set([...bm,...e._middleware.global]);for(const m of b.matched){const _=m.meta.middleware;if(_)for(const x of zo(_))E.add(x)}{const m=await e.runWithContext(()=>Wo({path:b.path}));if(m.appMiddleware)for(const _ in m.appMiddleware)m.appMiddleware[_]?E.add(_):E.delete(_)}for(const m of E){const _=typeof m=="string"?e._middleware.named[m]||await go[m]?.().then(x=>x.default||x):m;if(!_)throw new Error(`Unknown route middleware: '${m}'.`);try{const x=await e.runWithContext(()=>_(b,w));if(!e.payload.serverRendered&&e.isHydrating&&(x===!1||x instanceof Error)){const A=x||rn({statusCode:404,statusMessage:`Page Not Found: ${f}`});return await e.runWithContext(()=>Jt(A)),!1}if(x===!0)continue;if(x===!1)return x;if(x)return yc(x)&&x.fatal&&await e.runWithContext(()=>Jt(x)),x}catch(x){const A=rn(x);return A.fatal&&await e.runWithContext(()=>Jt(A)),A}}}}),l.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),l.afterEach(b=>{if(b.matched.length===0)return e.runWithContext(()=>Jt(rn({statusCode:404,fatal:!1,statusMessage:`Page not found: ${b.fullPath}`,data:{path:b.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{"name"in y&&(y.name=void 0),await l.replace({...y,force:!0}),l.options.scrollBehavior=Ht.scrollBehavior}catch(b){await e.runWithContext(()=>Jt(b))}}),{provide:{router:l}}}}),mo=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Em=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),ps=e=>{const t=Te();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{mo(()=>e())}):mo(()=>e())},Cm=ut({name:"nuxt:payload",setup(e){const t=new Set;qe().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await ll(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),ps(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await ll(n).catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(fs,1e3)})}}),Rm=ut(()=>{const e=qe();ps(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Tm=ut(e=>{let t;async function n(){let r;try{r=await fs()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,zi);try{const s=await $fetch(Vo("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}ps(()=>{t=setTimeout(n,zi)})});function Sm(e={}){const t=e.path||window.location.pathname;let n={};try{n=qr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||n?.path!==t||n?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=as(n.app.baseURL,o.fullPath);Sm({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function km(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Vc(e,t=qe()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;const s=t._preloadPromises||=[];if(s.length>4)return Promise.all(s).then(()=>Vc(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const l=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(l)));s.push(l)}await Promise.all(s)}const Pm=(...e)=>e.find(t=>t!==void 0);function Om(e){const t=e.componentName||"NuxtLink";function n(o){return typeof o=="string"&&o.startsWith("#")}function r(o,i,l){const a=l??e.trailingSlash;if(!o||a!=="append"&&a!=="remove")return o;if(typeof o=="string")return Rr(o,a);const f="path"in o&&o.path!==void 0?o.path:i(o).path;return{...o,name:void 0,path:Rr(f,a)}}function s(o){const i=qe(),l=hr(),a=ve(()=>!!o.target&&o.target!=="_self"),f=ve(()=>{const b=o.to||o.href||"";return typeof b=="string"&&Mt(b,{acceptRelative:!0})}),c=ci("RouterLink"),d=typeof c!="string"?c.useLink:void 0,p=ve(()=>{if(o.external)return!0;const b=o.to||o.href||"";return typeof b=="object"?!1:b===""||f.value}),h=ve(()=>{const b=o.to||o.href||"";return p.value?b:r(b,i.resolve,o.trailingSlash)}),y=p.value?void 0:d?.({...o,to:h}),u=ve(()=>{const b=o.trailingSlash??e.trailingSlash;if(!h.value||f.value||n(h.value))return h.value;if(p.value){const w=typeof h.value=="object"&&"path"in h.value?oo(h.value):h.value,E=typeof w=="object"?i.resolve(w).href:w;return Rr(E,b)}return typeof h.value=="object"?i.resolve(h.value)?.href??null:Rr(as(l.app.baseURL,h.value),b)});return{to:h,hasTarget:a,isAbsoluteUrl:f,isExternal:p,href:u,isActive:y?.isActive??ve(()=>h.value===i.currentRoute.value.path),isExactActive:y?.isExactActive??ve(()=>h.value===i.currentRoute.value.path),route:y?.route??ve(()=>i.resolve(h.value)),async navigate(b){await mn(u.value,{replace:o.replace,external:p.value||a.value})}}}return Hn({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:s,setup(o,{slots:i}){const l=qe(),{to:a,href:f,navigate:c,isExternal:d,hasTarget:p,isAbsoluteUrl:h}=s(o),y=Rn(!1),u=ke(null),b=m=>{u.value=o.custom?m?.$el?.nextElementSibling:m?.$el};function w(m){return!y.value&&(typeof o.prefetchOn=="string"?o.prefetchOn===m:o.prefetchOn?.[m]??e.prefetchOn?.[m])&&(o.prefetch??e.prefetch)!==!1&&o.noPrefetch!==!0&&o.target!=="_blank"&&!Lm()}async function E(m=Te()){if(y.value)return;y.value=!0;const _=typeof a.value=="string"?a.value:d.value?oo(a.value):l.resolve(a.value).fullPath,x=d.value?new URL(_,window.location.href).href:_;await Promise.all([m.hooks.callHook("link:prefetch",x).catch(()=>{}),!d.value&&!p.value&&Vc(a.value,l).catch(()=>{})])}if(w("visibility")){const m=Te();let _,x=null;on(()=>{const A=Im();ps(()=>{_=mo(()=>{u?.value?.tagName&&(x=A.observe(u.value,async()=>{x?.(),x=null,await E(m)}))})})}),Dn(()=>{_&&Em(_),x?.(),x=null})}return()=>{if(!d.value&&!p.value&&!n(a.value)){const x={ref:b,to:a.value,activeClass:o.activeClass||e.activeClass,exactActiveClass:o.exactActiveClass||e.exactActiveClass,replace:o.replace,ariaCurrentValue:o.ariaCurrentValue,custom:o.custom};return o.custom||(w("interaction")&&(x.onPointerenter=E.bind(null,void 0),x.onFocus=E.bind(null,void 0)),y.value&&(x.class=o.prefetchedClass||e.prefetchedClass),x.rel=o.rel||void 0),$e(ci("RouterLink"),x,i.default)}const m=o.target||null,_=Pm(o.noRel?"":o.rel,e.externalRelAttribute,h.value||p.value?"noopener noreferrer":"")||null;return o.custom?i.default?i.default({href:f.value,navigate:c,prefetch:E,get route(){if(!f.value)return;const x=new URL(f.value,window.location.href);return{path:x.pathname,fullPath:x.pathname,get query(){return Bo(x.search)},hash:x.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:f.value}},rel:_,target:m,isExternal:d.value||p.value,isActive:!1,isExactActive:!1}):null:$e("a",{ref:u,href:f.value||null,rel:_,target:m,onClick:x=>{if(!(d.value||p.value))return x.preventDefault(),o.replace?l.replace(f.value):l.push(f.value)}},i.default?.())}}})}const Wc=Om(kh);function Rr(e,t){const n=t==="append"?Za:ir;return Mt(e)&&!e.startsWith("http")?e:n(e,!0)}function Im(){const e=Te();if(e._observer)return e._observer;let t=null;const n=new Map,r=(o,i)=>(t||=new IntersectionObserver(l=>{for(const a of l){const f=n.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&f&&f()}}),n.set(o,i),t.observe(o),()=>{n.delete(o),t?.unobserve(o),n.size===0&&(t?.disconnect(),t=null)});return e._observer={observe:r}}const Mm=/2g/;function Lm(){const e=navigator.connection;return!!(e&&(e.saveData||Mm.test(e.effectiveType)))}const Nm=ut({name:"pinia",setup(e){const t=Jh();return e.vueApp.use(t),pr(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}}}),Hm=ut({name:"nuxt:global-components"}),Tr={},Dm=ut({name:"nuxt:prefetch",setup(e){const t=qe();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof Tr[r]=="function"&&await Tr[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Mt(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=zo(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof go[i]=="function"&&go[i]();typeof s=="string"&&s in Tr&&km(Tr[s])})}}),$m=[jp,Bp,Gp,xm,Cm,Rm,Tm,Am,Nm,Hm,Dm],Kc=(e="RouteProvider")=>Hn({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return En(cs,Ct(s)),()=>t.vnode?$e(t.vnode,{ref:t.vnodeRef}):t.vnode}}),jm=Kc(),Tl=new WeakMap,Fm=Hn({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=Te(),o=ke(),i=je(cs,null);let l;r({pageRef:o});const a=je(Gh,null);let f;const c=s.deferHydration();if(s.isHydrating){const p=s.hooks.hookOnce("app:error",c);qe().beforeEach(p)}e.pageKey&&en(()=>e.pageKey,(p,h)=>{p!==h&&s.callHook("page:loading:start")});let d=!1;{const p=qe().beforeResolve(()=>{d=!1});Dn(()=>{p()})}return()=>$e(Bc,{name:e.name,route:e.route,...t},{default:p=>{const h=Um(i,p.route,p.Component),y=i&&i.matched.length===p.route.matched.length;if(!p.Component){if(f&&!y)return f;c();return}if(f&&a&&!a.isCurrent(p.route))return f;if(h&&i&&(!a||a?.isCurrent(i)))return y?f:null;const u=po(p,e.pageKey),b=Vm(i,p.route,p.Component);!s.isHydrating&&l===u&&!b&&sn(()=>{d=!0,s.callHook("page:loading:end")}),l=u;const w=!!(e.transition??p.route.meta.pageTransition??Gi),E=w&&Bm([e.transition,p.route.meta.pageTransition,Gi,{onAfterLeave(){delete s._runningTransition,s.callHook("page:transition:finish",p.Component)}}]),m=e.keepalive??p.route.meta.keepalive??Ah;return f=um(w&&E,sm(m,$e($a,{suspensible:!0,onPending:()=>{w&&(s._runningTransition=!0),s.callHook("page:start",p.Component)},onResolve:()=>{sn(()=>s.callHook("page:finish",p.Component).then(()=>{if(delete s._runningTransition,!d&&!b)return d=!0,s.callHook("page:loading:end")}).finally(c))}},{default:()=>{const _={key:u||void 0,vnode:n.default?Wm(n.default,p):p.Component,route:p.route,renderKey:u||void 0,trackRootNodes:w,vnodeRef:o};if(!m)return $e(jm,_);const x=p.Component.type,A=x;let L=Tl.get(A);return L||(L=Kc(x.name||x.__name),Tl.set(A,L)),$e(L,_)}}))).default(),f}})}});function Bm(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?zo(n.onAfterLeave):void 0});return hc(...t)}function Um(e,t,n){if(!e)return!1;const r=t.matched.findIndex(s=>s.components?.default===n?.type);return!r||r===-1?!1:t.matched.slice(0,r).some((s,o)=>s.components?.default!==e.matched[o]?.components?.default)||n&&po({route:t,Component:n})!==po({route:e,Component:n})}function Vm(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)location.protocol+"//"+location.host;function $c(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(i);return l[0]!=="/"&&(l="/"+l),cl(l,"")}return cl(n,e)+r+s}function Ag(e,t,n,r){let s=[],o=[],i=null;const l=({state:p})=>{const h=$c(e,location),y=n.value,u=t.value;let b=0;if(p){if(n.value=h,t.value=p,i&&i===y){i=null;return}b=u?p.position-u.position:0}else r(h);s.forEach(w=>{w(n.value,y,{delta:b,type:uo.pop,direction:b?b>0?Ns.forward:Ns.back:Ns.unknown})})};function a(){i=n.value}function f(p){s.push(p);const h=()=>{const y=s.indexOf(p);y>-1&&s.splice(y,1)};return o.push(h),h}function c(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(fe({},p.state,{scroll:ds()}),"")}}function d(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:f,destroy:d}}function pl(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?ds():null}}function kg(e){const{history:t,location:n}=window,r={value:$c(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,f,c){const d=e.indexOf("#"),p=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+a:Sg()+e+a;try{t[c?"replaceState":"pushState"](f,"",p),s.value=f}catch(h){console.error(h),n[c?"replace":"assign"](p)}}function i(a,f){o(a,fe({},t.state,pl(s.value.back,a,s.value.forward,!0),f,{position:s.value.position}),!0),r.value=a}function l(a,f){const c=fe({},s.value,t.state,{forward:a,scroll:ds()});o(c.current,c,!0),o(a,fe({},pl(r.value,a,null),{position:c.position+1},f),!1),r.value=a}return{location:r,state:s,push:l,replace:i}}function Pg(e){e=hg(e);const t=kg(e),n=Ag(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=fe({location:"",base:e,go:r,createHref:gg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Yt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Se=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(Se||{});const Og={type:Yt.Static,value:""},Ig=/[a-zA-Z0-9_]/;function Mg(e){if(!e)return[[]];if(e==="/")return[[Og]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${f}": ${h}`)}let n=Se.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,a,f="",c="";function d(){f&&(n===Se.Static?o.push({type:Yt.Static,value:f}):n===Se.Param||n===Se.ParamRegExp||n===Se.ParamRegExpEnd?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Yt.Param,value:f,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),f="")}function p(){f+=a}for(;lt.length?t.length===1&&t[0]===Be.Static+Be.Segment?1:-1:0}function jc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const $g={strict:!1,end:!0,sensitive:!1};function jg(e,t,n){const r=Hg(Mg(e.path),n),s=fe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function Fg(e,t){const n=[],r=new Map;t=al($g,t);function s(d){return r.get(d)}function o(d,p,h){const y=!h,u=vl(d);u.aliasOf=h&&h.record;const b=al(t,d),w=[u];if("alias"in d){const _=typeof d.alias=="string"?[d.alias]:d.alias;for(const x of _)w.push(vl(fe({},u,{components:h?h.record.components:u.components,path:x,aliasOf:h?h.record:u})))}let E,m;for(const _ of w){const{path:x}=_;if(p&&x[0]!=="/"){const A=p.record.path,L=A[A.length-1]==="/"?"":"/";_.path=p.record.path+(x&&L+x)}if(E=jg(_,p,b),h?h.alias.push(E):(m=m||E,m!==E&&m.alias.push(E),y&&d.name&&!_l(E)&&i(d.name)),Fc(E)&&a(E),u.children){const A=u.children;for(let L=0;L{i(m)}:Zn}function i(d){if(Hc(d)){const p=r.get(d);p&&(r.delete(d),n.splice(n.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=n.indexOf(d);p>-1&&(n.splice(p,1),d.record.name&&r.delete(d.record.name),d.children.forEach(i),d.alias.forEach(i))}}function l(){return n}function a(d){const p=Vg(d,n);n.splice(p,0,d),d.record.name&&!_l(d)&&r.set(d.record.name,d)}function f(d,p){let h,y={},u,b;if("name"in d&&d.name){if(h=r.get(d.name),!h)throw In(Ce.MATCHER_NOT_FOUND,{location:d});b=h.record.name,y=fe(yl(p.params,h.keys.filter(m=>!m.optional).concat(h.parent?h.parent.keys.filter(m=>m.optional):[]).map(m=>m.name)),d.params&&yl(d.params,h.keys.map(m=>m.name))),u=h.stringify(y)}else if(d.path!=null)u=d.path,h=n.find(m=>m.re.test(u)),h&&(y=h.parse(u),b=h.record.name);else{if(h=p.name?r.get(p.name):n.find(m=>m.re.test(p.path)),!h)throw In(Ce.MATCHER_NOT_FOUND,{location:d,currentLocation:p});b=h.record.name,y=fe({},p.params,d.params),u=h.stringify(y)}const w=[];let E=h;for(;E;)w.unshift(E.record),E=E.parent;return{name:b,path:u,params:y,matched:w,meta:Ug(w)}}e.forEach(d=>o(d));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:f,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:s}}function yl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function vl(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Bg(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Bg(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function _l(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ug(e){return e.reduce((t,n)=>fe(t,n.meta),{})}function Vg(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;jc(e,t[o])<0?r=o:n=o+1}const s=Wg(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Wg(e){let t=e;for(;t=t.parent;)if(Fc(t)&&jc(e,t)===0)return t}function Fc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function bl(e){const t=je(hs),n=je(qo),r=ve(()=>{const a=ne(e.to);return t.resolve(a)}),s=ve(()=>{const{matched:a}=r.value,{length:f}=a,c=a[f-1],d=n.matched;if(!c||!d.length)return-1;const p=d.findIndex(On.bind(null,c));if(p>-1)return p;const h=wl(a[f-2]);return f>1&&wl(c)===h&&d[d.length-1].path!==h?d.findIndex(On.bind(null,a[f-2])):p}),o=ve(()=>s.value>-1&&Jg(n.params,r.value.params)),i=ve(()=>s.value>-1&&s.value===n.matched.length-1&&Nc(n.params,r.value.params));function l(a={}){if(zg(a)){const f=t[ne(e.replace)?"replace":"push"](ne(e.to)).catch(Zn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:r,href:ve(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}function Kg(e){return e.length===1?e[0]:e}const Gg=Hn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:bl,setup(e,{slots:t}){const n=Ot(bl(e)),{options:r}=je(hs),s=ve(()=>({[xl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Kg(t.default(n));return e.custom?o:$e("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),qg=Gg;function zg(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Jg(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!ct(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function wl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xl=(e,t,n)=>e??t??n,Yg=Hn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=je(ho),s=ve(()=>e.route||r.value),o=je(hl,0),i=ve(()=>{let f=ne(o);const{matched:c}=s.value;let d;for(;(d=c[f])&&!d.components;)f++;return f}),l=ve(()=>s.value.matched[i.value]);En(hl,ve(()=>i.value+1)),En(Rg,l),En(ho,s);const a=ke();return en(()=>[a.value,l.value,e.name],([f,c,d],[p,h,y])=>{c&&(c.instances[d]=f,h&&h!==c&&f&&f===p&&(c.leaveGuards.size||(c.leaveGuards=h.leaveGuards),c.updateGuards.size||(c.updateGuards=h.updateGuards))),f&&c&&(!h||!On(c,h)||!p)&&(c.enterCallbacks[d]||[]).forEach(u=>u(f))},{flush:"post"}),()=>{const f=s.value,c=e.name,d=l.value,p=d&&d.components[c];if(!p)return El(n.default,{Component:p,route:f});const h=d.props[c],y=h?h===!0?f.params:typeof h=="function"?h(f):h:null,b=$e(p,fe({},y,t,{onVnodeUnmounted:w=>{w.component.isUnmounted&&(d.instances[c]=null)},ref:a}));return El(n.default,{Component:b,route:f})||b}}});function El(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Bc=Yg;function Qg(e){const t=Fg(e.routes,e),n=e.parseQuery||Eg,r=e.stringifyQuery||dl,s=e.history,o=Vn(),i=Vn(),l=Vn(),a=Rn(nt);let f=nt;pn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Ms.bind(null,T=>""+T),d=Ms.bind(null,ig),p=Ms.bind(null,lr);function h(T,V){let F,X;return Hc(T)?(F=t.getRecordMatcher(T),X=V):X=T,t.addRoute(X,F)}function y(T){const V=t.getRecordMatcher(T);V&&t.removeRoute(V)}function u(){return t.getRoutes().map(T=>T.record)}function b(T){return!!t.getRecordMatcher(T)}function w(T,V){if(V=fe({},V||a.value),typeof T=="string"){const v=Ls(n,T,V.path),C=t.resolve({path:v.path},V),O=s.createHref(v.fullPath);return fe(v,C,{params:p(C.params),hash:lr(v.hash),redirectedFrom:void 0,href:O})}let F;if(T.path!=null)F=fe({},T,{path:Ls(n,T.path,V.path).path});else{const v=fe({},T.params);for(const C in v)v[C]==null&&delete v[C];F=fe({},T,{params:d(v)}),V.params=d(V.params)}const X=t.resolve(F,V),se=T.hash||"";X.params=c(p(X.params));const _e=cg(r,fe({},T,{hash:rg(se),path:X.path})),g=s.createHref(_e);return fe({fullPath:_e,hash:se,query:r===dl?Cg(T.query):T.query||{}},X,{redirectedFrom:void 0,href:g})}function E(T){return typeof T=="string"?Ls(n,T,a.value.path):fe({},T)}function m(T,V){if(f!==T)return In(Ce.NAVIGATION_CANCELLED,{from:V,to:T})}function _(T){return L(T)}function x(T){return _(fe(E(T),{replace:!0}))}function A(T,V){const F=T.matched[T.matched.length-1];if(F&&F.redirect){const{redirect:X}=F;let se=typeof X=="function"?X(T,V):X;return typeof se=="string"&&(se=se.includes("?")||se.includes("#")?se=E(se):{path:se},se.params={}),fe({query:T.query,hash:T.hash,params:se.path!=null?{}:T.params},se)}}function L(T,V){const F=f=w(T),X=a.value,se=T.state,_e=T.force,g=T.replace===!0,v=A(F,X);if(v)return L(fe(E(v),{state:typeof v=="object"?fe({},se,v.state):se,force:_e,replace:g}),V||F);const C=F;C.redirectedFrom=V;let O;return!_e&&ug(r,X,F)&&(O=In(Ce.NAVIGATION_DUPLICATED,{to:C,from:X}),ft(X,X,!0,!1)),(O?Promise.resolve(O):k(C,X)).catch(R=>_t(R)?_t(R,Ce.NAVIGATION_GUARD_REDIRECT)?R:Lt(R):G(R,C,X)).then(R=>{if(R){if(_t(R,Ce.NAVIGATION_GUARD_REDIRECT))return L(fe({replace:g},E(R.to),{state:typeof R.to=="object"?fe({},se,R.to.state):se,force:_e}),V||C)}else R=P(C,X,!0,g,se);return W(C,X,R),R})}function D(T,V){const F=m(T,V);return F?Promise.reject(F):Promise.resolve()}function S(T){const V=cn.values().next().value;return V&&typeof V.runWithContext=="function"?V.runWithContext(T):T()}function k(T,V){let F;const[X,se,_e]=Tg(T,V);F=Hs(X.reverse(),"beforeRouteLeave",T,V);for(const v of X)v.leaveGuards.forEach(C=>{F.push(Ft(C,T,V))});const g=D.bind(null,T,V);return F.push(g),et(F).then(()=>{F=[];for(const v of o.list())F.push(Ft(v,T,V));return F.push(g),et(F)}).then(()=>{F=Hs(se,"beforeRouteUpdate",T,V);for(const v of se)v.updateGuards.forEach(C=>{F.push(Ft(C,T,V))});return F.push(g),et(F)}).then(()=>{F=[];for(const v of _e)if(v.beforeEnter)if(ct(v.beforeEnter))for(const C of v.beforeEnter)F.push(Ft(C,T,V));else F.push(Ft(v.beforeEnter,T,V));return F.push(g),et(F)}).then(()=>(T.matched.forEach(v=>v.enterCallbacks={}),F=Hs(_e,"beforeRouteEnter",T,V,S),F.push(g),et(F))).then(()=>{F=[];for(const v of i.list())F.push(Ft(v,T,V));return F.push(g),et(F)}).catch(v=>_t(v,Ce.NAVIGATION_CANCELLED)?v:Promise.reject(v))}function W(T,V,F){l.list().forEach(X=>S(()=>X(T,V,F)))}function P(T,V,F,X,se){const _e=m(T,V);if(_e)return _e;const g=V===nt,v=pn?history.state:{};F&&(X||g?s.replace(T.fullPath,fe({scroll:g&&v&&v.scroll},se)):s.push(T.fullPath,se)),a.value=T,ft(T,V,F,g),Lt()}let K;function ie(){K||(K=s.listen((T,V,F)=>{if(!Vt.listening)return;const X=w(T),se=A(X,Vt.currentRoute.value);if(se){L(fe(se,{replace:!0,force:!0}),X).catch(Zn);return}f=X;const _e=a.value;pn&&vg(fl(_e.fullPath,F.delta),ds()),k(X,_e).catch(g=>_t(g,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_CANCELLED)?g:_t(g,Ce.NAVIGATION_GUARD_REDIRECT)?(L(fe(E(g.to),{force:!0}),X).then(v=>{_t(v,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_DUPLICATED)&&!F.delta&&F.type===uo.pop&&s.go(-1,!1)}).catch(Zn),Promise.reject()):(F.delta&&s.go(-F.delta,!1),G(g,X,_e))).then(g=>{g=g||P(X,_e,!1),g&&(F.delta&&!_t(g,Ce.NAVIGATION_CANCELLED)?s.go(-F.delta,!1):F.type===uo.pop&&_t(g,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),W(X,_e,g)}).catch(Zn)}))}let ue=Vn(),U=Vn(),J;function G(T,V,F){Lt(T);const X=U.list();return X.length?X.forEach(se=>se(T,V,F)):console.error(T),Promise.reject(T)}function Ee(){return J&&a.value!==nt?Promise.resolve():new Promise((T,V)=>{ue.add([T,V])})}function Lt(T){return J||(J=!T,ie(),ue.list().forEach(([V,F])=>T?F(T):V()),ue.reset()),T}function ft(T,V,F,X){const{scrollBehavior:se}=e;if(!pn||!se)return Promise.resolve();const _e=!F&&_g(fl(T.fullPath,0))||(X||!F)&&history.state&&history.state.scroll||null;return sn().then(()=>se(T,V,_e)).then(g=>g&&yg(g)).catch(g=>G(g,T,V))}const Ve=T=>s.go(T);let an;const cn=new Set,Vt={currentRoute:a,listening:!0,addRoute:h,removeRoute:y,clearRoutes:t.clearRoutes,hasRoute:b,getRoutes:u,resolve:w,options:e,push:_,replace:x,go:Ve,back:()=>Ve(-1),forward:()=>Ve(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:U.add,isReady:Ee,install(T){T.component("RouterLink",qg),T.component("RouterView",Bc),T.config.globalProperties.$router=Vt,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>ne(a)}),pn&&!an&&a.value===nt&&(an=!0,_(s.location).catch(X=>{}));const V={};for(const X in nt)Object.defineProperty(V,X,{get:()=>a.value[X],enumerable:!0});T.provide(hs,Vt),T.provide(qo,Ct(V)),T.provide(ho,a);const F=T.unmount;cn.add(T),T.unmount=function(){cn.delete(T),cn.size<1&&(f=nt,K&&K(),K=null,a.value=nt,an=!1,J=!1),F()}}};function et(T){return T.reduce((V,F)=>V.then(()=>S(F)),Promise.resolve())}return Vt}function Xg(){return je(hs)}function Zg(e){return je(qo)}const em=/(:\w+)\([^)]+\)/g,tm=/(:\w+)[?+*]/g,nm=/:\w+/g,rm=(e,t)=>t.path.replace(em,"$1").replace(tm,"$1").replace(nm,n=>e.params[n.slice(1)]?.toString()||""),po=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&rm(e.route,n));return typeof r=="function"?r(e.route):r},sm=(e,t)=>({default:()=>e?$e(zu,e===!0?{}:e,t):t});function zo(e){return Array.isArray(e)?e:[e]}const om={layout:"default"},im={layout:"default"},lm={layout:"default"},am={layout:"default"},cm={layout:"default"},Ds=[{name:"index",path:"/",component:()=>le(()=>import("./KD1G0xGW.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{name:"login",path:"/login",meta:om||{},component:()=>le(()=>import("./B6TEfPSg.js"),__vite__mapDeps([6,7,8,9,10]),import.meta.url)},{name:"anlagen",path:"/anlagen",component:()=>le(()=>import("./CvtlfSR0.js"),__vite__mapDeps([11,7]),import.meta.url)},{name:"galerie",path:"/galerie",component:()=>le(()=>import("./C5WkR1xp.js"),__vite__mapDeps([12,7]),import.meta.url)},{name:"kontakt",path:"/kontakt",component:()=>le(()=>import("./BGsE9M8w.js"),__vite__mapDeps([13,14,15,4,8,7]),import.meta.url)},{name:"satzung",path:"/satzung",component:()=>le(()=>import("./CTuRK0lH.js"),__vite__mapDeps([16,7,17]),import.meta.url)},{name:"termine",path:"/termine",component:()=>le(()=>import("./DvrqIJw1.js"),__vite__mapDeps([18,7,2]),import.meta.url)},{name:"vorstand",path:"/vorstand",component:()=>le(()=>import("./B3KXwwdt.js"),__vite__mapDeps([19,7]),import.meta.url)},{name:"cms",path:"/cms",meta:{middleware:"auth"},component:()=>le(()=>import("./Bdk8d7qx.js"),__vite__mapDeps([20,7,2,21,17,22]),import.meta.url)},{name:"impressum",path:"/impressum",component:()=>le(()=>import("./D99LnZYi.js"),__vite__mapDeps([23,7,17,24]),import.meta.url)},{name:"tt-regeln",path:"/tt-regeln",component:()=>le(()=>import("./DjcJk1g8.js"),__vite__mapDeps([25,7,26,17,27,28,22,29]),import.meta.url)},{name:"ueber-uns",path:"/ueber-uns",component:()=>le(()=>import("./CT6VfTlB.js"),__vite__mapDeps([30,31,27,7]),import.meta.url)},{name:"geschichte",path:"/geschichte",component:()=>le(()=>import("./B23trXK4.js"),__vite__mapDeps([32,7]),import.meta.url)},{name:"cms-benutzer",path:"/cms/benutzer",meta:{middleware:"auth"},component:()=>le(()=>import("./D11oUMHK.js"),__vite__mapDeps([33,7,8,9]),import.meta.url)},{name:"registrieren",path:"/registrieren",component:()=>le(()=>import("./Bn7G3VMx.js"),__vite__mapDeps([34,7,8,9,10]),import.meta.url)},{name:"spielsysteme",path:"/spielsysteme",component:()=>le(()=>import("./BASo1Rw1.js"),__vite__mapDeps([35,7,22,2,36,29,37]),import.meta.url)},{name:"mitgliedschaft",path:"/mitgliedschaft",component:()=>le(()=>import("./BjiYAScN.js"),__vite__mapDeps([38,9,36,31,17,24,7]),import.meta.url)},{name:"training",path:"/training",component:()=>le(()=>import("./CI8YYLGa.js"),__vite__mapDeps([39,7,14]),import.meta.url)},{name:"training-trainer",path:"/training/trainer",component:()=>le(()=>import("./BxR6w-Hd.js"),__vite__mapDeps([40,7]),import.meta.url)},{name:"mannschaften-damen",path:"/mannschaften/damen",component:()=>le(()=>import("./LPF2GIYR.js"),__vite__mapDeps([41,7]),import.meta.url)},{name:"mannschaften",path:"/mannschaften",component:()=>le(()=>import("./BU5mk92E.js"),__vite__mapDeps([42,43,22,7]),import.meta.url)},{name:"passwort-vergessen",path:"/passwort-vergessen",component:()=>le(()=>import("./DxIIJuzj.js"),__vite__mapDeps([44,7,8,9,10]),import.meta.url)},{name:"training-anfaenger",path:"/training/anfaenger",component:()=>le(()=>import("./C1eD6HzQ.js"),__vite__mapDeps([45,7,9]),import.meta.url)},{name:"mannschaften-slug",path:"/mannschaften/:slug()",component:()=>le(()=>import("./COK-PGSA.js"),__vite__mapDeps([46,7,43]),import.meta.url)},{name:"mannschaften-herren",path:"/mannschaften/herren",component:()=>le(()=>import("./sVyj_WZX.js"),__vite__mapDeps([47,7]),import.meta.url)},{name:"mannschaften-jugend",path:"/mannschaften/jugend",component:()=>le(()=>import("./BZLaJF8o.js"),__vite__mapDeps([48,7]),import.meta.url)},{name:"mitgliederbereich-news",path:"/mitgliederbereich/news",meta:{...im||{},middleware:"auth"},component:()=>le(()=>import("./Dx1KRsmK.js"),__vite__mapDeps([49,7,10,26,2,50,21,8]),import.meta.url)},{name:"vereinsmeisterschaften",path:"/vereinsmeisterschaften",component:()=>le(()=>import("./DHQur1V-.js"),__vite__mapDeps([51,7,28]),import.meta.url)},{name:"mitgliederbereich",path:"/mitgliederbereich",meta:{...lm||{},middleware:"auth"},component:()=>le(()=>import("./rgKTeSYE.js"),__vite__mapDeps([52,7,22,21,9]),import.meta.url)},{name:"mannschaften-spielplaene",path:"/mannschaften/spielplaene",component:()=>le(()=>import("./BRhWghMt.js"),__vite__mapDeps([53,7,17,37]),import.meta.url)},{name:"mitgliederbereich-profil",path:"/mitgliederbereich/profil",meta:{...am||{},middleware:"auth"},component:()=>le(()=>import("./C9UhLsiJ.js"),__vite__mapDeps([54,7,10,8,9]),import.meta.url)},{name:"mitgliederbereich-mitglieder",path:"/mitgliederbereich/mitglieder",meta:{...cm||{},middleware:"auth"},component:()=>le(()=>import("./nrzLFm_7.js"),__vite__mapDeps([55,7,3,10,50,4,15,14,17,8]),import.meta.url)}],um=(e,t)=>({default:()=>e?$e(jo,e===!0?{}:e,t):t.default?.()}),fm=/(:\w+)\([^)]+\)/g,dm=/(:\w+)[?+*]/g,hm=/:\w+/g;function Cl(e){const t=e?.meta.key??e.path.replace(fm,"$1").replace(dm,"$1").replace(hm,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function pm(e,t){return e===t||t===nt?!1:Cl(e)!==Cl(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}const gm={scrollBehavior(e,t,n){const r=Te(),s=qe().options?.scrollBehaviorType??"auto";if(e.path.replace(/\/$/,"")===t.path.replace(/\/$/,""))return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:Uc(e.hash),behavior:s}:!1;if((typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1)return!1;const i=r._runningTransition?"page:transition:finish":"page:loading:end";return new Promise(l=>{if(t===nt){l(Rl(e,t,n,s));return}r.hooks.hookOnce(i,()=>{requestAnimationFrame(()=>l(Rl(e,t,n,s)))})})}};function Uc(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function Rl(e,t,n,r){if(n)return n;const s=pm(e,t);return e.hash?{el:e.hash,top:Uc(e.hash),behavior:s?r:"instant"}:{left:0,top:0}}const mm={hashMode:!1,scrollBehaviorType:"auto"},Ht={...mm,...gm},ym=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=nn(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=rn({fatal:!0,statusCode:s&&s.statusCode||404,statusMessage:s&&s.statusMessage||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},Jo=tp("auth",{state:()=>({isLoggedIn:!1,user:null,role:null}),getters:{isAdmin:e=>e.role==="admin"||e.role==="vorstand"},actions:{async checkAuth(){try{const e=await $fetch("/api/auth/status");return this.isLoggedIn=e.isLoggedIn,this.user=e.user,this.role=e.role,e}catch{return this.isLoggedIn=!1,this.user=null,this.role=null,{isLoggedIn:!1}}},async login(e,t){const n=await $fetch("/api/auth/login",{method:"POST",body:{email:e,password:t}});return n.success&&await this.checkAuth(),n},async logout(){try{await $fetch("/api/auth/logout",{method:"POST"}),this.isLoggedIn=!1,this.user=null,this.role=null}catch(e){throw console.error("Logout fehlgeschlagen:",e),e}}}}),vm=async(e,t)=>{let n,r;const s=Jo();if(e.meta.middleware==="auth"&&(s.isLoggedIn||([n,r]=nn(()=>s.checkAuth()),await n,r()),!s.isLoggedIn))return mn("/login")},_m=async e=>{let t,n;const r=([t,n]=nn(()=>Wo({path:e.path})),t=await t,n(),t);if(r.redirect)return Mt(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},bm=[ym,vm,_m],go={auth:()=>le(()=>import("./C-bqeYjt.js"),[],import.meta.url)};function wm(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const f=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(f);return c[0]!=="/"&&(c="/"+c),Bi(c,"")}const l=Bi(r,e),a=!n||Xd(l,n)?l:n;return a+(a.includes("?")?"":s)+o}const xm=ut({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=hr().app.baseURL;const s=Ht.history?.(r)??Pg(r),o=Ht.routes?([t,n]=nn(()=>Ht.routes(Ds)),t=await t,n(),t??Ds):Ds;let i;const l=Qg({...Ht,scrollBehavior:(b,w,E)=>{if(w===nt){i=E;return}if(Ht.scrollBehavior){if(l.options.scrollBehavior=Ht.scrollBehavior,"scrollRestoration"in window.history){const m=l.beforeEach(()=>{m(),window.history.scrollRestoration="manual"})}return Ht.scrollBehavior(b,nt,i||E)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(l);const a=Rn(l.currentRoute.value);l.afterEach((b,w)=>{a.value=w}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>a.value});const f=wm(r,window.location,e.payload.path),c=Rn(l.currentRoute.value),d=()=>{c.value=l.currentRoute.value};e.hook("page:finish",d),l.afterEach((b,w)=>{b.matched[b.matched.length-1]?.components?.default===w.matched[w.matched.length-1]?.components?.default&&d()});const p={};for(const b in c.value)Object.defineProperty(p,b,{get:()=>c.value[b],enumerable:!0});e._route=Ct(p),e._middleware||={global:[],named:{}};const h=us();l.afterEach(async(b,w,E)=>{delete e._processingMiddleware,!e.isHydrating&&h.value&&await e.runWithContext(zh),E&&await e.callHook("page:loading:end")});try{[t,n]=nn(()=>l.isReady()),await t,n()}catch(b){[t,n]=nn(()=>e.runWithContext(()=>Jt(b))),await t,n()}const y=f!==l.currentRoute.value.fullPath?l.resolve(f):l.currentRoute.value;d();const u=e.payload.state._layout;return l.beforeEach(async(b,w)=>{await e.callHook("page:loading:start"),b.meta=Ot(b.meta),e.isHydrating&&u&&!kt(b.meta.layout)&&(b.meta.layout=u),e._processingMiddleware=!0;{const E=new Set([...bm,...e._middleware.global]);for(const m of b.matched){const _=m.meta.middleware;if(_)for(const x of zo(_))E.add(x)}{const m=await e.runWithContext(()=>Wo({path:b.path}));if(m.appMiddleware)for(const _ in m.appMiddleware)m.appMiddleware[_]?E.add(_):E.delete(_)}for(const m of E){const _=typeof m=="string"?e._middleware.named[m]||await go[m]?.().then(x=>x.default||x):m;if(!_)throw new Error(`Unknown route middleware: '${m}'.`);try{const x=await e.runWithContext(()=>_(b,w));if(!e.payload.serverRendered&&e.isHydrating&&(x===!1||x instanceof Error)){const A=x||rn({statusCode:404,statusMessage:`Page Not Found: ${f}`});return await e.runWithContext(()=>Jt(A)),!1}if(x===!0)continue;if(x===!1)return x;if(x)return yc(x)&&x.fatal&&await e.runWithContext(()=>Jt(x)),x}catch(x){const A=rn(x);return A.fatal&&await e.runWithContext(()=>Jt(A)),A}}}}),l.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),l.afterEach(b=>{if(b.matched.length===0)return e.runWithContext(()=>Jt(rn({statusCode:404,fatal:!1,statusMessage:`Page not found: ${b.fullPath}`,data:{path:b.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{"name"in y&&(y.name=void 0),await l.replace({...y,force:!0}),l.options.scrollBehavior=Ht.scrollBehavior}catch(b){await e.runWithContext(()=>Jt(b))}}),{provide:{router:l}}}}),mo=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Em=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),ps=e=>{const t=Te();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{mo(()=>e())}):mo(()=>e())},Cm=ut({name:"nuxt:payload",setup(e){const t=new Set;qe().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await ll(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),ps(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await ll(n).catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(fs,1e3)})}}),Rm=ut(()=>{const e=qe();ps(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Tm=ut(e=>{let t;async function n(){let r;try{r=await fs()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,zi);try{const s=await $fetch(Vo("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}ps(()=>{t=setTimeout(n,zi)})});function Sm(e={}){const t=e.path||window.location.pathname;let n={};try{n=qr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||n?.path!==t||n?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=as(n.app.baseURL,o.fullPath);Sm({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function km(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Vc(e,t=qe()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;const s=t._preloadPromises||=[];if(s.length>4)return Promise.all(s).then(()=>Vc(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const l=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(l)));s.push(l)}await Promise.all(s)}const Pm=(...e)=>e.find(t=>t!==void 0);function Om(e){const t=e.componentName||"NuxtLink";function n(o){return typeof o=="string"&&o.startsWith("#")}function r(o,i,l){const a=l??e.trailingSlash;if(!o||a!=="append"&&a!=="remove")return o;if(typeof o=="string")return Rr(o,a);const f="path"in o&&o.path!==void 0?o.path:i(o).path;return{...o,name:void 0,path:Rr(f,a)}}function s(o){const i=qe(),l=hr(),a=ve(()=>!!o.target&&o.target!=="_self"),f=ve(()=>{const b=o.to||o.href||"";return typeof b=="string"&&Mt(b,{acceptRelative:!0})}),c=ci("RouterLink"),d=typeof c!="string"?c.useLink:void 0,p=ve(()=>{if(o.external)return!0;const b=o.to||o.href||"";return typeof b=="object"?!1:b===""||f.value}),h=ve(()=>{const b=o.to||o.href||"";return p.value?b:r(b,i.resolve,o.trailingSlash)}),y=p.value?void 0:d?.({...o,to:h}),u=ve(()=>{const b=o.trailingSlash??e.trailingSlash;if(!h.value||f.value||n(h.value))return h.value;if(p.value){const w=typeof h.value=="object"&&"path"in h.value?oo(h.value):h.value,E=typeof w=="object"?i.resolve(w).href:w;return Rr(E,b)}return typeof h.value=="object"?i.resolve(h.value)?.href??null:Rr(as(l.app.baseURL,h.value),b)});return{to:h,hasTarget:a,isAbsoluteUrl:f,isExternal:p,href:u,isActive:y?.isActive??ve(()=>h.value===i.currentRoute.value.path),isExactActive:y?.isExactActive??ve(()=>h.value===i.currentRoute.value.path),route:y?.route??ve(()=>i.resolve(h.value)),async navigate(b){await mn(u.value,{replace:o.replace,external:p.value||a.value})}}}return Hn({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:s,setup(o,{slots:i}){const l=qe(),{to:a,href:f,navigate:c,isExternal:d,hasTarget:p,isAbsoluteUrl:h}=s(o),y=Rn(!1),u=ke(null),b=m=>{u.value=o.custom?m?.$el?.nextElementSibling:m?.$el};function w(m){return!y.value&&(typeof o.prefetchOn=="string"?o.prefetchOn===m:o.prefetchOn?.[m]??e.prefetchOn?.[m])&&(o.prefetch??e.prefetch)!==!1&&o.noPrefetch!==!0&&o.target!=="_blank"&&!Lm()}async function E(m=Te()){if(y.value)return;y.value=!0;const _=typeof a.value=="string"?a.value:d.value?oo(a.value):l.resolve(a.value).fullPath,x=d.value?new URL(_,window.location.href).href:_;await Promise.all([m.hooks.callHook("link:prefetch",x).catch(()=>{}),!d.value&&!p.value&&Vc(a.value,l).catch(()=>{})])}if(w("visibility")){const m=Te();let _,x=null;on(()=>{const A=Im();ps(()=>{_=mo(()=>{u?.value?.tagName&&(x=A.observe(u.value,async()=>{x?.(),x=null,await E(m)}))})})}),Dn(()=>{_&&Em(_),x?.(),x=null})}return()=>{if(!d.value&&!p.value&&!n(a.value)){const x={ref:b,to:a.value,activeClass:o.activeClass||e.activeClass,exactActiveClass:o.exactActiveClass||e.exactActiveClass,replace:o.replace,ariaCurrentValue:o.ariaCurrentValue,custom:o.custom};return o.custom||(w("interaction")&&(x.onPointerenter=E.bind(null,void 0),x.onFocus=E.bind(null,void 0)),y.value&&(x.class=o.prefetchedClass||e.prefetchedClass),x.rel=o.rel||void 0),$e(ci("RouterLink"),x,i.default)}const m=o.target||null,_=Pm(o.noRel?"":o.rel,e.externalRelAttribute,h.value||p.value?"noopener noreferrer":"")||null;return o.custom?i.default?i.default({href:f.value,navigate:c,prefetch:E,get route(){if(!f.value)return;const x=new URL(f.value,window.location.href);return{path:x.pathname,fullPath:x.pathname,get query(){return Bo(x.search)},hash:x.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:f.value}},rel:_,target:m,isExternal:d.value||p.value,isActive:!1,isExactActive:!1}):null:$e("a",{ref:u,href:f.value||null,rel:_,target:m,onClick:x=>{if(!(d.value||p.value))return x.preventDefault(),o.replace?l.replace(f.value):l.push(f.value)}},i.default?.())}}})}const Wc=Om(kh);function Rr(e,t){const n=t==="append"?Za:ir;return Mt(e)&&!e.startsWith("http")?e:n(e,!0)}function Im(){const e=Te();if(e._observer)return e._observer;let t=null;const n=new Map,r=(o,i)=>(t||=new IntersectionObserver(l=>{for(const a of l){const f=n.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&f&&f()}}),n.set(o,i),t.observe(o),()=>{n.delete(o),t?.unobserve(o),n.size===0&&(t?.disconnect(),t=null)});return e._observer={observe:r}}const Mm=/2g/;function Lm(){const e=navigator.connection;return!!(e&&(e.saveData||Mm.test(e.effectiveType)))}const Nm=ut({name:"pinia",setup(e){const t=Jh();return e.vueApp.use(t),pr(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}}}),Hm=ut({name:"nuxt:global-components"}),Tr={},Dm=ut({name:"nuxt:prefetch",setup(e){const t=qe();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof Tr[r]=="function"&&await Tr[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Mt(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=zo(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof go[i]=="function"&&go[i]();typeof s=="string"&&s in Tr&&km(Tr[s])})}}),$m=[jp,Bp,Gp,xm,Cm,Rm,Tm,Am,Nm,Hm,Dm],Kc=(e="RouteProvider")=>Hn({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return En(cs,Ct(s)),()=>t.vnode?$e(t.vnode,{ref:t.vnodeRef}):t.vnode}}),jm=Kc(),Tl=new WeakMap,Fm=Hn({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=Te(),o=ke(),i=je(cs,null);let l;r({pageRef:o});const a=je(Gh,null);let f;const c=s.deferHydration();if(s.isHydrating){const p=s.hooks.hookOnce("app:error",c);qe().beforeEach(p)}e.pageKey&&en(()=>e.pageKey,(p,h)=>{p!==h&&s.callHook("page:loading:start")});let d=!1;{const p=qe().beforeResolve(()=>{d=!1});Dn(()=>{p()})}return()=>$e(Bc,{name:e.name,route:e.route,...t},{default:p=>{const h=Um(i,p.route,p.Component),y=i&&i.matched.length===p.route.matched.length;if(!p.Component){if(f&&!y)return f;c();return}if(f&&a&&!a.isCurrent(p.route))return f;if(h&&i&&(!a||a?.isCurrent(i)))return y?f:null;const u=po(p,e.pageKey),b=Vm(i,p.route,p.Component);!s.isHydrating&&l===u&&!b&&sn(()=>{d=!0,s.callHook("page:loading:end")}),l=u;const w=!!(e.transition??p.route.meta.pageTransition??Gi),E=w&&Bm([e.transition,p.route.meta.pageTransition,Gi,{onAfterLeave(){delete s._runningTransition,s.callHook("page:transition:finish",p.Component)}}]),m=e.keepalive??p.route.meta.keepalive??Ah;return f=um(w&&E,sm(m,$e($a,{suspensible:!0,onPending:()=>{w&&(s._runningTransition=!0),s.callHook("page:start",p.Component)},onResolve:()=>{sn(()=>s.callHook("page:finish",p.Component).then(()=>{if(delete s._runningTransition,!d&&!b)return d=!0,s.callHook("page:loading:end")}).finally(c))}},{default:()=>{const _={key:u||void 0,vnode:n.default?Wm(n.default,p):p.Component,route:p.route,renderKey:u||void 0,trackRootNodes:w,vnodeRef:o};if(!m)return $e(jm,_);const x=p.Component.type,A=x;let L=Tl.get(A);return L||(L=Kc(x.name||x.__name),Tl.set(A,L)),$e(L,_)}}))).default(),f}})}});function Bm(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?zo(n.onAfterLeave):void 0});return hc(...t)}function Um(e,t,n){if(!e)return!1;const r=t.matched.findIndex(s=>s.components?.default===n?.type);return!r||r===-1?!1:t.matched.slice(0,r).some((s,o)=>s.components?.default!==e.matched[o]?.components?.default)||n&&po({route:t,Component:n})!==po({route:e,Component:n})}function Vm(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)n.isLoggedIn),a=ve(()=>n.isAdmin),f=ve(()=>{const y=t.path;return y.startsWith("/ueber-uns")||y.startsWith("/vorstand")||y.startsWith("/geschichte")||y.startsWith("/satzung")||y.startsWith("/vereinsmeisterschaften")?"verein":y.startsWith("/mannschaften")||y.startsWith("/spielsysteme")?"mannschaften":y.startsWith("/training")||y.startsWith("/tt-regeln")?"training":y.startsWith("/mitgliederbereich")||y.startsWith("/cms")?"intern":null});ke(null);const c=y=>{s.value=s.value===y?null:y},d=async()=>{try{const y=await fetch("/data/mannschaften.csv");if(!y.ok)return;const b=(await y.text()).split(` `).filter(w=>w.trim()!=="");if(b.length<2)return;o.value=b.slice(1).map(w=>{const E=[];let m="",_=!1;for(let x=0;xw!==null)}catch(y){console.error("Fehler beim Laden der Mannschaften:",y)}},p=async()=>{try{const y=await $fetch("/api/galerie");i.value=y&&y.length>0}catch(y){console.error("Fehler beim Prüfen der Galerie-Bilder:",y),i.value=!1}};on(()=>{d(),p(),n.checkAuth()});const h=y=>{const u=t.path;y==="verein"&&!u.startsWith("/ueber-uns")&&!u.startsWith("/vorstand")&&!u.startsWith("/geschichte")&&!u.startsWith("/satzung")&&!u.startsWith("/vereinsmeisterschaften")?mn("/ueber-uns"):y==="mannschaften"&&!u.startsWith("/mannschaften")&&!u.startsWith("/spielsysteme")?mn("/mannschaften"):y==="training"&&!u.startsWith("/training")&&!u.startsWith("/tt-regeln")?mn("/training"):y==="intern"&&!u.startsWith("/mitgliederbereich")&&!u.startsWith("/cms")&&mn("/mitgliederbereich")};return(y,u)=>{const b=Wc;return oe(),we("nav",Ym,[re("div",Qm,[re("div",Xm,[re("div",Zm,[N(b,{to:"/",class:"flex items-center space-x-3 hover:scale-105 transition-transform"},{default:z(()=>[...u[36]||(u[36]=[re("img",{src:Km,alt:"Harheimer TC Logo",class:"w-12 h-12"},null,-1),re("div",{class:"hidden sm:block"},[re("span",{class:"text-xl font-display font-bold text-white"},[q("Harheimer "),re("span",{class:"text-primary-400"},"TC")])],-1)])]),_:1}),re("div",ey,[re("div",ty,[N(b,{to:"/",class:"px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[37]||(u[37]=[q(" Start ",-1)])]),_:1}),re("button",{onClick:u[0]||(u[0]=w=>h("verein")),class:Ye(["px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50",ne(t).path.startsWith("/ueber-uns")||ne(t).path.startsWith("/vorstand")||ne(t).path.startsWith("/geschichte")||ne(t).path.startsWith("/satzung")||ne(t).path.startsWith("/vereinsmeisterschaften")||f.value==="verein"?"text-white bg-primary-600":""])}," Verein ",2),re("button",{onClick:u[1]||(u[1]=w=>h("mannschaften")),class:Ye(["px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50",ne(t).path.startsWith("/mannschaften")||ne(t).path.startsWith("/spielsysteme")||f.value==="mannschaften"?"text-white bg-primary-600":""])}," Mannschaften ",2),re("button",{onClick:u[2]||(u[2]=w=>h("training")),class:Ye(["px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50",ne(t).path.startsWith("/training")||ne(t).path.startsWith("/tt-regeln")||f.value==="training"?"text-white bg-primary-600":""])}," Training ",2),N(b,{to:"/mitgliedschaft",class:"px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[38]||(u[38]=[q(" Mitgliedschaft ",-1)])]),_:1}),N(b,{to:"/termine",onClick:u[3]||(u[3]=w=>f.value=null),class:"px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[39]||(u[39]=[q(" Termine ",-1)])]),_:1}),i.value?(oe(),Qe(b,{key:0,to:"/galerie",onClick:u[4]||(u[4]=w=>f.value=null),class:"px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[40]||(u[40]=[q(" Galerie ",-1)])]),_:1})):Oe("",!0),l.value?(oe(),we("button",{key:1,onClick:u[5]||(u[5]=w=>h("intern")),class:Ye(["px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50",ne(t).path.startsWith("/mitgliederbereich")||ne(t).path.startsWith("/cms")||f.value==="intern"?"text-white bg-primary-600":""])}," Intern ",2)):Oe("",!0),N(b,{to:"/kontakt",onClick:u[6]||(u[6]=w=>f.value=null),class:"px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold transition-all rounded-lg shadow-lg"},{default:z(()=>[...u[41]||(u[41]=[q(" Kontakt ",-1)])]),_:1})]),re("div",ny,[f.value?(oe(),we("div",ry,[f.value==="verein"?(oe(),we(Re,{key:0},[N(b,{to:"/ueber-uns",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[42]||(u[42]=[q(" Über uns ",-1)])]),_:1}),N(b,{to:"/vorstand",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[43]||(u[43]=[q(" Vorstand ",-1)])]),_:1}),N(b,{to:"/geschichte",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[44]||(u[44]=[q(" Geschichte ",-1)])]),_:1}),N(b,{to:"/satzung",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[45]||(u[45]=[q(" Satzung ",-1)])]),_:1}),N(b,{to:"/vereinsmeisterschaften",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[46]||(u[46]=[q(" Vereinsmeisterschaften ",-1)])]),_:1})],64)):Oe("",!0),f.value==="mannschaften"?(oe(),we(Re,{key:1},[N(b,{to:"/mannschaften",class:"px-2.5 py-1 text-xs font-semibold text-white hover:bg-primary-700/50 rounded transition-all","active-class":"bg-primary-600"},{default:z(()=>[...u[47]||(u[47]=[q(" Übersicht ",-1)])]),_:1}),u[50]||(u[50]=re("div",{class:"h-3 w-px bg-primary-700"},null,-1)),(oe(!0),we(Re,null,fi(o.value,w=>(oe(),Qe(b,{key:w.slug,to:`/mannschaften/${w.slug}`,class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[q(Lr(w.mannschaft),1)]),_:2},1032,["to"]))),128)),u[51]||(u[51]=re("div",{class:"h-3 w-px bg-primary-700"},null,-1)),N(b,{to:"/mannschaften/spielplaene",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[48]||(u[48]=[q(" Spielpläne ",-1)])]),_:1}),N(b,{to:"/spielsysteme",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[49]||(u[49]=[q(" Spielsysteme ",-1)])]),_:1})],64)):Oe("",!0),f.value==="training"?(oe(),we(Re,{key:2},[N(b,{to:"/training",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[52]||(u[52]=[q(" Trainingszeiten ",-1)])]),_:1}),N(b,{to:"/training/trainer",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[53]||(u[53]=[q(" Trainer ",-1)])]),_:1}),N(b,{to:"/training/anfaenger",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[54]||(u[54]=[q(" Anfänger ",-1)])]),_:1}),N(b,{to:"/tt-regeln",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[55]||(u[55]=[q(" TT-Regeln ",-1)])]),_:1})],64)):Oe("",!0),f.value==="intern"?(oe(),we(Re,{key:3},[N(b,{to:"/mitgliederbereich",class:"px-2.5 py-1 text-xs font-semibold text-white hover:bg-primary-700/50 rounded transition-all","active-class":"bg-primary-600"},{default:z(()=>[...u[56]||(u[56]=[q(" Übersicht ",-1)])]),_:1}),u[63]||(u[63]=re("div",{class:"h-3 w-px bg-primary-700"},null,-1)),N(b,{to:"/mitgliederbereich/mitglieder",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[57]||(u[57]=[q(" Mitgliederliste ",-1)])]),_:1}),N(b,{to:"/mitgliederbereich/news",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[58]||(u[58]=[q(" Interne News ",-1)])]),_:1}),N(b,{to:"/mitgliederbereich/profil",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[59]||(u[59]=[q(" Mein Profil ",-1)])]),_:1}),a.value?(oe(),we(Re,{key:0},[u[62]||(u[62]=re("div",{class:"h-3 w-px bg-primary-700"},null,-1)),N(b,{to:"/cms",class:"px-2.5 py-1 text-xs text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[60]||(u[60]=[q(" CMS ",-1)])]),_:1}),N(b,{to:"/cms/benutzer",class:"px-2.5 py-1 text-xs text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:z(()=>[...u[61]||(u[61]=[q(" Benutzerverwaltung ",-1)])]),_:1})],64)):Oe("",!0)],64)):Oe("",!0)])):Oe("",!0)]),re("button",{onClick:u[7]||(u[7]=w=>r.value=!r.value),class:"lg:hidden p-2 rounded-lg hover:bg-primary-700/50 transition-colors","aria-label":"Toggle menu"},[r.value?(oe(),Qe(ne(Jm),{key:0,size:24,class:"text-white"})):(oe(),Qe(ne(zm),{key:1,size:24,class:"text-white"}))])])])])]),N(jo,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"opacity-0 transform -translate-y-2","enter-to-class":"opacity-100 transform translate-y-0","leave-active-class":"transition duration-150 ease-in","leave-from-class":"opacity-100 transform translate-y-0","leave-to-class":"opacity-0 transform -translate-y-2"},{default:z(()=>[r.value?(oe(),we("div",sy,[re("div",oy,[N(b,{to:"/",onClick:u[8]||(u[8]=w=>r.value=!1),class:"block px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},{default:z(()=>[...u[64]||(u[64]=[q(" Start ",-1)])]),_:1}),re("div",null,[re("button",{onClick:u[9]||(u[9]=w=>c("verein")),class:"w-full flex items-center justify-between px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},[u[65]||(u[65]=q(" Verein ",-1)),N(ne(Ar),{size:16,class:Ye(["transition-transform",s.value==="verein"?"rotate-180":""])},null,8,["class"])]),s.value==="verein"?(oe(),we("div",iy,[N(b,{to:"/ueber-uns",onClick:u[10]||(u[10]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[66]||(u[66]=[q(" Über uns ",-1)])]),_:1}),N(b,{to:"/vorstand",onClick:u[11]||(u[11]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[67]||(u[67]=[q(" Vorstand ",-1)])]),_:1}),N(b,{to:"/geschichte",onClick:u[12]||(u[12]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[68]||(u[68]=[q(" Geschichte ",-1)])]),_:1}),N(b,{to:"/satzung",onClick:u[13]||(u[13]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[69]||(u[69]=[q(" Satzung ",-1)])]),_:1}),N(b,{to:"/vereinsmeisterschaften",onClick:u[14]||(u[14]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[70]||(u[70]=[q(" Vereinsmeisterschaften ",-1)])]),_:1})])):Oe("",!0)]),re("div",null,[re("button",{onClick:u[15]||(u[15]=w=>c("mannschaften")),class:"w-full flex items-center justify-between px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},[u[71]||(u[71]=q(" Mannschaften ",-1)),N(ne(Ar),{size:16,class:Ye(["transition-transform",s.value==="mannschaften"?"rotate-180":""])},null,8,["class"])]),s.value==="mannschaften"?(oe(),we("div",ly,[N(b,{to:"/mannschaften",onClick:u[16]||(u[16]=w=>r.value=!1),class:"block px-4 py-2 text-sm font-semibold text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[72]||(u[72]=[q(" Übersicht ",-1)])]),_:1}),(oe(!0),we(Re,null,fi(o.value,w=>(oe(),Qe(b,{key:w.slug,to:`/mannschaften/${w.slug}`,onClick:u[17]||(u[17]=E=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[q(Lr(w.mannschaft),1)]),_:2},1032,["to"]))),128)),u[75]||(u[75]=re("div",{class:"border-t border-primary-700/20 my-2"},null,-1)),N(b,{to:"/mannschaften/spielplaene",onClick:u[18]||(u[18]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[73]||(u[73]=[q(" Spielpläne ",-1)])]),_:1}),N(b,{to:"/spielsysteme",onClick:u[19]||(u[19]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[74]||(u[74]=[q(" Spielsysteme ",-1)])]),_:1})])):Oe("",!0)]),re("div",null,[re("button",{onClick:u[20]||(u[20]=w=>c("training")),class:"w-full flex items-center justify-between px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},[u[76]||(u[76]=q(" Training ",-1)),N(ne(Ar),{size:16,class:Ye(["transition-transform",s.value==="training"?"rotate-180":""])},null,8,["class"])]),s.value==="training"?(oe(),we("div",ay,[N(b,{to:"/training",onClick:u[21]||(u[21]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[77]||(u[77]=[q(" Trainingszeiten ",-1)])]),_:1}),N(b,{to:"/training/trainer",onClick:u[22]||(u[22]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[78]||(u[78]=[q(" Trainer ",-1)])]),_:1}),N(b,{to:"/training/anfaenger",onClick:u[23]||(u[23]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[79]||(u[79]=[q(" Anfänger ",-1)])]),_:1}),N(b,{to:"/tt-regeln",onClick:u[24]||(u[24]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[80]||(u[80]=[q(" TT-Regeln ",-1)])]),_:1})])):Oe("",!0)]),N(b,{to:"/mitgliedschaft",onClick:u[25]||(u[25]=w=>r.value=!1),class:"block px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},{default:z(()=>[...u[81]||(u[81]=[q(" Mitgliedschaft ",-1)])]),_:1}),N(b,{to:"/termine",onClick:u[26]||(u[26]=w=>r.value=!1),class:"block px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},{default:z(()=>[...u[82]||(u[82]=[q(" Termine ",-1)])]),_:1}),i.value?(oe(),Qe(b,{key:0,to:"/galerie",onClick:u[27]||(u[27]=w=>r.value=!1),class:"block px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},{default:z(()=>[...u[83]||(u[83]=[q(" Galerie ",-1)])]),_:1})):Oe("",!0),l.value?(oe(),we("div",cy,[re("button",{onClick:u[28]||(u[28]=w=>c("intern")),class:"w-full flex items-center justify-between px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},[u[84]||(u[84]=q(" Intern ",-1)),N(ne(Ar),{size:16,class:Ye(["transition-transform",s.value==="intern"?"rotate-180":""])},null,8,["class"])]),s.value==="intern"?(oe(),we("div",uy,[N(b,{to:"/mitgliederbereich",onClick:u[29]||(u[29]=w=>r.value=!1),class:"block px-4 py-2 text-sm font-semibold text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[85]||(u[85]=[q(" Übersicht ",-1)])]),_:1}),N(b,{to:"/mitgliederbereich/mitglieder",onClick:u[30]||(u[30]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[86]||(u[86]=[q(" Mitgliederliste ",-1)])]),_:1}),N(b,{to:"/mitgliederbereich/news",onClick:u[31]||(u[31]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[87]||(u[87]=[q(" Interne News ",-1)])]),_:1}),N(b,{to:"/mitgliederbereich/profil",onClick:u[32]||(u[32]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[88]||(u[88]=[q(" Mein Profil ",-1)])]),_:1}),a.value?(oe(),we(Re,{key:0},[u[91]||(u[91]=re("div",{class:"border-t border-primary-700/20 my-2"},null,-1)),N(b,{to:"/cms",onClick:u[33]||(u[33]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[89]||(u[89]=[q(" CMS ",-1)])]),_:1}),N(b,{to:"/cms/benutzer",onClick:u[34]||(u[34]=w=>r.value=!1),class:"block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:z(()=>[...u[90]||(u[90]=[q(" Benutzerverwaltung ",-1)])]),_:1})],64)):Oe("",!0)])):Oe("",!0)])):Oe("",!0),N(b,{to:"/kontakt",onClick:u[35]||(u[35]=w=>r.value=!1),class:"block px-4 py-3 bg-primary-600 hover:bg-primary-700 text-white rounded-lg font-semibold transition-colors"},{default:z(()=>[...u[92]||(u[92]=[q(" Kontakt ",-1)])]),_:1})])])):Oe("",!0)]),_:1})])}}},dy={class:"fixed bottom-0 left-0 right-0 z-40 bg-gray-900 border-t border-gray-800 shadow-2xl"},hy={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"},py={class:"flex flex-col sm:flex-row justify-between items-center space-y-2 sm:space-y-0"},gy={class:"text-sm text-gray-400"},my={class:"flex items-center space-x-6 text-sm relative"},yy={key:1,class:"relative"},vy={key:0,class:"absolute bottom-full right-0 mb-2 w-48 bg-gray-800 border border-gray-700 rounded-lg shadow-xl overflow-hidden"},_y={__name:"Footer",setup(e){const t=Xg(),n=Jo(),r=new Date().getFullYear(),s=ke(!1),o=ve(()=>n.isLoggedIn);ve(()=>n.isAdmin);const i=()=>{s.value=!s.value},l=async()=>{await n.logout(),t.push("/")};on(()=>{n.checkAuth()});const a=f=>{f.target.closest(".relative")||(s.value=!1)};return on(()=>{document.addEventListener("click",a)}),Lo(()=>{document.removeEventListener("click",a)}),(f,c)=>{const d=Wc;return oe(),we("footer",dy,[re("div",hy,[re("div",py,[re("p",gy," © "+Lr(ne(r))+" Harheimer TC ",1),re("div",my,[N(d,{to:"/impressum",class:"text-gray-400 hover:text-primary-400 transition-colors"},{default:z(()=>[...c[3]||(c[3]=[q(" Impressum ",-1)])]),_:1}),N(d,{to:"/kontakt",class:"text-gray-400 hover:text-primary-400 transition-colors"},{default:z(()=>[...c[4]||(c[4]=[q(" Kontakt ",-1)])]),_:1}),o.value?(oe(),we("button",{key:0,onClick:l,class:"flex items-center space-x-1 text-gray-400 hover:text-primary-400 transition-colors"},[N(ne(Sl),{size:16}),c[5]||(c[5]=re("span",null,"Abmelden",-1))])):(oe(),we("div",yy,[re("button",{onClick:i,class:"flex items-center space-x-1 text-gray-400 hover:text-primary-400 transition-colors"},[N(ne(Sl),{size:16}),c[6]||(c[6]=re("span",null,"Mitglieder",-1)),N(ne(qm),{size:14,class:Ye(["transition-transform",s.value?"rotate-0":"rotate-180"])},null,8,["class"])]),N(jo,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"transform translate-y-2 opacity-0","enter-to-class":"transform translate-y-0 opacity-100","leave-active-class":"transition duration-150 ease-in","leave-from-class":"transform translate-y-0 opacity-100","leave-to-class":"transform translate-y-2 opacity-0"},{default:z(()=>[s.value?(oe(),we("div",vy,[N(d,{to:"/login",onClick:c[0]||(c[0]=p=>s.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:z(()=>[...c[7]||(c[7]=[q(" Anmelden ",-1)])]),_:1}),N(d,{to:"/registrieren",onClick:c[1]||(c[1]=p=>s.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:z(()=>[...c[8]||(c[8]=[q(" Registrieren ",-1)])]),_:1}),N(d,{to:"/passwort-vergessen",onClick:c[2]||(c[2]=p=>s.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:z(()=>[...c[9]||(c[9]=[q(" Passwort vergessen ",-1)])]),_:1})])):Oe("",!0)]),_:1})]))])])])])}}},by={class:"h-screen flex flex-col overflow-hidden"},wy={class:"flex-1 overflow-y-auto pt-20"},xy={__name:"app",setup(e){return(t,n)=>{const r=Fm;return oe(),we("div",by,[N(fy),re("main",wy,[N(r)]),N(_y)])}}},Ey={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error;n.stack&&n.stack.split(` `).splice(1).map(d=>({text:d.replace("webpack:/","").replace(".vue",".js").trim(),internal:d.includes("node_modules")&&!d.includes(".cache")||d.includes("internal")||d.includes("new Promise")})).map(d=>`${d.text}`).join(` -`);const r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),l=void 0,c=s?ai(()=>le(()=>import("./C9SglkVL.js"),__vite__mapDeps([54,2,5,55]),import.meta.url)):ai(()=>le(()=>import("./CW9krljs.js"),__vite__mapDeps([56,2,5,57]),import.meta.url));return(d,p)=>(oe(),Qe(ne(c),tu(Wa({statusCode:ne(r),statusMessage:ne(o),description:ne(i),stack:ne(l)})),null,16))}},Cy={key:0},Al={__name:"nuxt-root",setup(e){const t=()=>null,n=Te(),r=n.deferHydration();if(n.isHydrating){const f=n.hooks.hookOnce("app:error",r);qe().beforeEach(f)}const s=!1;En(cs,gc()),n.hooks.callHookWith(f=>f.map(c=>c()),"vue:setup");const o=us(),i=!1,l=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;ya((f,c,d)=>{if(n.hooks.callHook("vue:error",f,c,d).catch(p=>console.error("[nuxt] Error in `vue:error` hook",p)),l.test(navigator.userAgent))return n.hooks.callHook("app:error",f),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,f),!1;if(yc(f)&&(f.fatal||f.unhandled))return n.runWithContext(()=>Jt(f)),!1});const a=!1;return(f,c)=>(oe(),Qe($a,{onResolve:ne(r)},{default:z(()=>[ne(i)?(oe(),we("div",Cy)):ne(o)?(oe(),Qe(ne(Ey),{key:1,error:ne(o)},null,8,["error"])):ne(a)?(oe(),Qe(ne(t),{key:2,context:ne(a)},null,8,["context"])):ne(s)?(oe(),Qe(tf(ne(s)),{key:3})):(oe(),Qe(ne(xy),{key:4}))]),_:1},8,["onResolve"]))}};let kl;{let e;kl=async function(){if(e)return e;const n=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true"),r=n?Cd(Al):Ed(Al),s=Mh({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=rn(i)}r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)}),!n&&qi.id&&s.hook("app:suspense:resolve",()=>{document.getElementById(qi.id)?.remove()});try{await Hh(s,$m)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Ph),await s.hooks.callHook("app:mounted",r),await sn()}catch(i){o(i)}return r},e=kl().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{nn as $,gc as A,Ay as B,Ly as C,Te as D,ss as E,Re as F,je as G,Cc as H,Tu as I,Oy as J,$n as K,Yu as L,en as M,ou as N,Eo as O,Rn as P,Ou as Q,sn as R,rn as S,Us as T,Sl as U,Ot as V,Iy as W,Jm as X,Ml as Y,My as Z,Wc as _,re as a,N as b,we as c,q as d,gr as e,ve as f,on as g,Oe as h,fi as i,Jo as j,Py as k,Ry as l,Qe as m,Ye as n,oe as o,Xg as p,Ty as q,ke as r,tf as s,Lr as t,ne as u,Sy as v,z as w,Lo as x,ky as y,mn as z}; +`);const r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),l=void 0,c=s?ai(()=>le(()=>import("./C9SglkVL.js"),__vite__mapDeps([56,1,7,57]),import.meta.url)):ai(()=>le(()=>import("./CW9krljs.js"),__vite__mapDeps([58,1,7,59]),import.meta.url));return(d,p)=>(oe(),Qe(ne(c),tu(Wa({statusCode:ne(r),statusMessage:ne(o),description:ne(i),stack:ne(l)})),null,16))}},Cy={key:0},Al={__name:"nuxt-root",setup(e){const t=()=>null,n=Te(),r=n.deferHydration();if(n.isHydrating){const f=n.hooks.hookOnce("app:error",r);qe().beforeEach(f)}const s=!1;En(cs,gc()),n.hooks.callHookWith(f=>f.map(c=>c()),"vue:setup");const o=us(),i=!1,l=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;ya((f,c,d)=>{if(n.hooks.callHook("vue:error",f,c,d).catch(p=>console.error("[nuxt] Error in `vue:error` hook",p)),l.test(navigator.userAgent))return n.hooks.callHook("app:error",f),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,f),!1;if(yc(f)&&(f.fatal||f.unhandled))return n.runWithContext(()=>Jt(f)),!1});const a=!1;return(f,c)=>(oe(),Qe($a,{onResolve:ne(r)},{default:z(()=>[ne(i)?(oe(),we("div",Cy)):ne(o)?(oe(),Qe(ne(Ey),{key:1,error:ne(o)},null,8,["error"])):ne(a)?(oe(),Qe(ne(t),{key:2,context:ne(a)},null,8,["context"])):ne(s)?(oe(),Qe(tf(ne(s)),{key:3})):(oe(),Qe(ne(xy),{key:4}))]),_:1},8,["onResolve"]))}};let kl;{let e;kl=async function(){if(e)return e;const n=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true"),r=n?Cd(Al):Ed(Al),s=Mh({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=rn(i)}r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)}),!n&&qi.id&&s.hook("app:suspense:resolve",()=>{document.getElementById(qi.id)?.remove()});try{await Hh(s,$m)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Ph),await s.hooks.callHook("app:mounted",r),await sn()}catch(i){o(i)}return r},e=kl().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{nn as $,gc as A,Ay as B,Ly as C,Te as D,ss as E,Re as F,je as G,Cc as H,Tu as I,Oy as J,$n as K,Yu as L,en as M,ou as N,Eo as O,Rn as P,Ou as Q,sn as R,rn as S,Us as T,Sl as U,Ot as V,Iy as W,Jm as X,Ml as Y,My as Z,Wc as _,re as a,N as b,we as c,q as d,gr as e,Ty as f,ve as g,on as h,Oe as i,fi as j,Jo as k,Py as l,Ry as m,Ye as n,oe as o,Qe as p,Xg as q,ke as r,tf as s,Lr as t,ne as u,Sy as v,z as w,Lo as x,ky as y,mn as z}; diff --git a/.output/public/_nuxt/DMxhMw0T.js b/.output/public/_nuxt/CT6VfTlB.js similarity index 94% rename from .output/public/_nuxt/DMxhMw0T.js rename to .output/public/_nuxt/CT6VfTlB.js index e169e96..5406730 100644 --- a/.output/public/_nuxt/DMxhMw0T.js +++ b/.output/public/_nuxt/CT6VfTlB.js @@ -1,4 +1,4 @@ -import{e as o,c as s,o as r,a as e,q as p,b as l,w as h,d as u,_ as g,F as x,i as b,m as f,s as y,t as a}from"#entry";import{H as _}from"./CWEkTB1z.js";import{T as w}from"./B4mSF5Ac.js";import{u as k}from"./C_U-NUAd.js";/** +import{e as o,c as s,o as r,a as e,f as p,b as l,w as h,d as u,_ as g,F as x,j as f,p as b,s as y,t as a}from"#entry";import{H as _}from"./CWEkTB1z.js";import{T as w}from"./B4mSF5Ac.js";import{u as k}from"./C_U-NUAd.js";/** * @license lucide-vue-next v0.344.0 - ISC * * This source code is licensed under the ISC license. @@ -8,4 +8,4 @@ import{e as o,c as s,o as r,a as e,q as p,b as l,w as h,d as u,_ as g,F as x,i a * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const T=o("UsersRoundIcon",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]),V={id:"about",class:"py-16 sm:py-20 bg-gradient-to-b from-white to-gray-50"},H={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},z={class:"grid lg:grid-cols-2 gap-12 items-center mb-20"},A={class:"space-y-6"},B={class:"pt-4"},J={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-8"},M={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mb-4"},N={class:"text-xl font-display font-bold text-gray-900 mb-2"},S={class:"text-gray-600"},W={__name:"About",setup(d){const n=[{icon:_,title:"70+ Jahre Tradition",description:"Seit 1954 spielen wir Tischtennis in Harheim"},{icon:T,title:"Familiärer Verein",description:"Ca. 40 Mitglieder in einer herzlichen Gemeinschaft"},{icon:v,title:"5 Herrenmannschaften",description:"Aktive Teilnahme an der Punktspielrunde"},{icon:w,title:"Jugendförderung",description:"Ab 2025/26 wieder eine Jugendmannschaft"}];return(c,t)=>{const m=g;return r(),s("section",V,[e("div",H,[t[3]||(t[3]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Über uns "),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"}," Seit über 70 Jahren wird in unserem Harheimer Verein Tischtennis gespielt ")],-1)),e("div",z,[t[2]||(t[2]=e("div",{class:"relative h-[400px] sm:h-[500px] rounded-2xl overflow-hidden shadow-2xl"},[e("div",{class:"w-full h-full bg-cover bg-center hover:scale-110 transition-transform duration-700",style:{"background-image":"url('/images/club_about_us.png')"}})],-1)),e("div",A,[t[1]||(t[1]=p('

Ein familiärer Verein mit Tradition

Wir sind ein kleiner, selbständiger, familiärer Verein mit ca. 40 Mitgliedern. Wir nehmen zurzeit mit fünf Herrenmannschaften an der Punktspielrunde teil.

Ab der Saison 2025/26 werden wir auch wieder mit einer Jugendmannschaft aktiv.

Wir trainieren zweimal wöchentlich in der Turnhalle der Grundschule Harheim mit anschließendem gemütlichem Beisammensein in einer der lokalen Gaststätten. Jährlich finden außerdem unsere Vereinsmeisterschaften statt.

Wir suchen Verstärkung!

Wir suchen ständig Verstärkungen für unsere Mannschaften!

Alle Tischtennis-Begeisterten sind herzlich zu einem Probetraining eingeladen!

',5)),e("div",B,[l(m,{to:"/kontakt",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:h(()=>[...t[0]||(t[0]=[u(" Kontakt aufnehmen ",-1)])]),_:1})])])]),e("div",J,[(r(),s(x,null,b(n,i=>e("div",{key:i.title,class:"bg-white p-6 rounded-xl shadow-lg hover:shadow-xl transition-shadow border border-gray-100"},[e("div",M,[(r(),f(y(i.icon),{size:24,class:"text-primary-600"}))]),e("h4",N,a(i.title),1),e("p",S,a(i.description),1)])),64))])])])}}},C={class:"min-h-full"},P={__name:"ueber-uns",setup(d){return k({title:"Über uns - Harheimer TC"}),(n,c)=>(r(),s("div",C,[l(W)]))}};export{P as default}; + */const T=o("UsersRoundIcon",[["path",{d:"M18 21a8 8 0 0 0-16 0",key:"3ypg7q"}],["circle",{cx:"10",cy:"8",r:"5",key:"o932ke"}],["path",{d:"M22 20c0-3.37-2-6.5-4-8a5 5 0 0 0-.45-8.3",key:"10s06x"}]]),V={id:"about",class:"py-16 sm:py-20 bg-gradient-to-b from-white to-gray-50"},H={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},z={class:"grid lg:grid-cols-2 gap-12 items-center mb-20"},A={class:"space-y-6"},B={class:"pt-4"},J={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-8"},M={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center mb-4"},N={class:"text-xl font-display font-bold text-gray-900 mb-2"},S={class:"text-gray-600"},W={__name:"About",setup(d){const n=[{icon:_,title:"70+ Jahre Tradition",description:"Seit 1954 spielen wir Tischtennis in Harheim"},{icon:T,title:"Familiärer Verein",description:"Ca. 40 Mitglieder in einer herzlichen Gemeinschaft"},{icon:v,title:"5 Herrenmannschaften",description:"Aktive Teilnahme an der Punktspielrunde"},{icon:w,title:"Jugendförderung",description:"Ab 2025/26 wieder eine Jugendmannschaft"}];return(c,t)=>{const m=g;return r(),s("section",V,[e("div",H,[t[3]||(t[3]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Über uns "),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"}," Seit über 70 Jahren wird in unserem Harheimer Verein Tischtennis gespielt ")],-1)),e("div",z,[t[2]||(t[2]=e("div",{class:"relative h-[400px] sm:h-[500px] rounded-2xl overflow-hidden shadow-2xl"},[e("div",{class:"w-full h-full bg-cover bg-center hover:scale-110 transition-transform duration-700",style:{"background-image":"url('/images/club_about_us.png')"}})],-1)),e("div",A,[t[1]||(t[1]=p('

Ein familiärer Verein mit Tradition

Wir sind ein kleiner, selbständiger, familiärer Verein mit ca. 40 Mitgliedern. Wir nehmen zurzeit mit fünf Herrenmannschaften an der Punktspielrunde teil.

Ab der Saison 2025/26 werden wir auch wieder mit einer Jugendmannschaft aktiv.

Wir trainieren zweimal wöchentlich in der Turnhalle der Grundschule Harheim mit anschließendem gemütlichem Beisammensein in einer der lokalen Gaststätten. Jährlich finden außerdem unsere Vereinsmeisterschaften statt.

Wir suchen Verstärkung!

Wir suchen ständig Verstärkungen für unsere Mannschaften!

Alle Tischtennis-Begeisterten sind herzlich zu einem Probetraining eingeladen!

',5)),e("div",B,[l(m,{to:"/kontakt",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:h(()=>[...t[0]||(t[0]=[u(" Kontakt aufnehmen ",-1)])]),_:1})])])]),e("div",J,[(r(),s(x,null,f(n,i=>e("div",{key:i.title,class:"bg-white p-6 rounded-xl shadow-lg hover:shadow-xl transition-shadow border border-gray-100"},[e("div",M,[(r(),b(y(i.icon),{size:24,class:"text-primary-600"}))]),e("h4",N,a(i.title),1),e("p",S,a(i.description),1)])),64))])])])}}},C={class:"min-h-full"},P={__name:"ueber-uns",setup(d){return k({title:"Über uns - Harheimer TC"}),(n,c)=>(r(),s("div",C,[l(W)]))}};export{P as default}; diff --git a/.output/public/_nuxt/C7t1i8dL.js b/.output/public/_nuxt/CTuRK0lH.js similarity index 98% rename from .output/public/_nuxt/C7t1i8dL.js rename to .output/public/_nuxt/CTuRK0lH.js index f7b9eac..cd219d9 100644 --- a/.output/public/_nuxt/C7t1i8dL.js +++ b/.output/public/_nuxt/CTuRK0lH.js @@ -1 +1 @@ -import{u as s}from"./C_U-NUAd.js";import{F as i}from"./BteKZQ9T.js";import{c as n,a as t,q as r,b as d,d as l,u as a,o as g}from"#entry";const o={class:"min-h-full py-16 bg-gray-50"},p={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},c={class:"bg-white p-8 rounded-xl shadow-lg"},u={class:"prose prose-lg max-w-none"},h={class:"mt-12 p-6 bg-primary-50 rounded-lg border border-primary-200"},m={class:"flex flex-col sm:flex-row gap-4 items-center justify-between"},v={href:"/documents/satzung.pdf",target:"_blank",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},z={__name:"satzung",setup(x){return s({title:"Satzung - Harheimer TC"}),(f,e)=>(g(),n("div",o,[t("div",p,[e[4]||(e[4]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Vereinssatzung ",-1)),e[5]||(e[5]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t("div",c,[e[3]||(e[3]=t("p",{class:"text-lg text-gray-600 mb-8"}," Die Satzung des Harheimer Tischtennis Clubs regelt die Grundlagen unseres Vereins. ",-1)),t("div",u,[e[2]||(e[2]=r('

§ 1 Name, Sitz und Geschäftsjahr

(1) Der Verein führt den Namen "Harheimer Tischtennis-Club 1954 e.V." (HTC).

(2) Der Verein hat seinen Sitz in Frankfurt am Main.

(3) Das Geschäftsjahr ist das Kalenderjahr.

§ 2 Zweck des Vereins

(1) Der Verein bezweckt die Förderung des Tischtennissports und die Pflege der Geselligkeit seiner Mitglieder.

(2) Der Verein ist selbstlos tätig; er verfolgt nicht in erster Linie eigenwirtschaftliche Zwecke.

§ 3 Mitgliedschaft

(1) Mitglied des Vereins kann jede natürliche Person werden, die die Ziele des Vereins unterstützt.

(2) Der Antrag auf Mitgliedschaft ist schriftlich an den Vorstand zu richten.

(3) Über die Aufnahme entscheidet der Vorstand.

§ 4 Rechte und Pflichten der Mitglieder

(1) Die Mitglieder haben das Recht, an den Veranstaltungen des Vereins teilzunehmen und die Einrichtungen des Vereins zu benutzen.

(2) Die Mitglieder sind verpflichtet, die Satzung und die Beschlüsse der Vereinsorgane zu beachten und den Mitgliedsbeitrag zu entrichten.

§ 5 Mitgliedsbeiträge

(1) Die Höhe der Mitgliedsbeiträge wird von der Mitgliederversammlung festgesetzt.

(2) Die Mitgliedsbeiträge sind im Voraus zu entrichten.

§ 6 Beendigung der Mitgliedschaft

(1) Die Mitgliedschaft endet durch Austritt, Ausschluss oder Tod.

(2) Der Austritt erfolgt durch schriftliche Erklärung gegenüber dem Vorstand.

(3) Ein Mitglied kann aus wichtigem Grund ausgeschlossen werden.

§ 7 Organe des Vereins

Organe des Vereins sind:

  • die Mitgliederversammlung
  • der Vorstand

§ 8 Mitgliederversammlung

(1) Die Mitgliederversammlung ist das oberste Organ des Vereins.

(2) Sie wird vom Vorsitzenden mindestens einmal im Jahr einberufen.

(3) Die Mitgliederversammlung beschließt über alle wichtigen Angelegenheiten des Vereins.

§ 9 Vorstand

(1) Der Vorstand besteht aus:

  • dem Vorsitzenden
  • dem stellvertretenden Vorsitzenden
  • dem Kassenwart
  • dem Schriftführer

(2) Der Vorstand wird von der Mitgliederversammlung gewählt.

(3) Der Vorstand führt die Geschäfte des Vereins.

§ 10 Satzungsänderungen

Satzungsänderungen können nur in einer Mitgliederversammlung mit einer Mehrheit von zwei Dritteln der anwesenden Mitglieder beschlossen werden.

§ 11 Auflösung des Vereins

(1) Die Auflösung des Vereins kann nur in einer Mitgliederversammlung mit einer Mehrheit von drei Vierteln der anwesenden Mitglieder beschlossen werden.

(2) Bei Auflösung des Vereins fällt das Vereinsvermögen an eine gemeinnützige Organisation.

',1)),t("div",h,[t("div",m,[e[1]||(e[1]=t("div",null,[t("h4",{class:"text-lg font-semibold text-primary-800 mb-2"},"Satzung als PDF herunterladen"),t("p",{class:"text-primary-700 text-sm"}," Laden Sie die vollständige Satzung als PDF-Dokument herunter. ")],-1)),t("a",v,[d(a(i),{size:20,class:"mr-2"}),e[0]||(e[0]=l(" PDF herunterladen ",-1))])])])])])])]))}};export{z as default}; +import{u as s}from"./C_U-NUAd.js";import{F as i}from"./BteKZQ9T.js";import{c as n,a as t,f as r,b as d,d as l,u as a,o as g}from"#entry";const o={class:"min-h-full py-16 bg-gray-50"},p={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},c={class:"bg-white p-8 rounded-xl shadow-lg"},u={class:"prose prose-lg max-w-none"},h={class:"mt-12 p-6 bg-primary-50 rounded-lg border border-primary-200"},m={class:"flex flex-col sm:flex-row gap-4 items-center justify-between"},v={href:"/documents/satzung.pdf",target:"_blank",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},z={__name:"satzung",setup(x){return s({title:"Satzung - Harheimer TC"}),(f,e)=>(g(),n("div",o,[t("div",p,[e[4]||(e[4]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Vereinssatzung ",-1)),e[5]||(e[5]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t("div",c,[e[3]||(e[3]=t("p",{class:"text-lg text-gray-600 mb-8"}," Die Satzung des Harheimer Tischtennis Clubs regelt die Grundlagen unseres Vereins. ",-1)),t("div",u,[e[2]||(e[2]=r('

§ 1 Name, Sitz und Geschäftsjahr

(1) Der Verein führt den Namen "Harheimer Tischtennis-Club 1954 e.V." (HTC).

(2) Der Verein hat seinen Sitz in Frankfurt am Main.

(3) Das Geschäftsjahr ist das Kalenderjahr.

§ 2 Zweck des Vereins

(1) Der Verein bezweckt die Förderung des Tischtennissports und die Pflege der Geselligkeit seiner Mitglieder.

(2) Der Verein ist selbstlos tätig; er verfolgt nicht in erster Linie eigenwirtschaftliche Zwecke.

§ 3 Mitgliedschaft

(1) Mitglied des Vereins kann jede natürliche Person werden, die die Ziele des Vereins unterstützt.

(2) Der Antrag auf Mitgliedschaft ist schriftlich an den Vorstand zu richten.

(3) Über die Aufnahme entscheidet der Vorstand.

§ 4 Rechte und Pflichten der Mitglieder

(1) Die Mitglieder haben das Recht, an den Veranstaltungen des Vereins teilzunehmen und die Einrichtungen des Vereins zu benutzen.

(2) Die Mitglieder sind verpflichtet, die Satzung und die Beschlüsse der Vereinsorgane zu beachten und den Mitgliedsbeitrag zu entrichten.

§ 5 Mitgliedsbeiträge

(1) Die Höhe der Mitgliedsbeiträge wird von der Mitgliederversammlung festgesetzt.

(2) Die Mitgliedsbeiträge sind im Voraus zu entrichten.

§ 6 Beendigung der Mitgliedschaft

(1) Die Mitgliedschaft endet durch Austritt, Ausschluss oder Tod.

(2) Der Austritt erfolgt durch schriftliche Erklärung gegenüber dem Vorstand.

(3) Ein Mitglied kann aus wichtigem Grund ausgeschlossen werden.

§ 7 Organe des Vereins

Organe des Vereins sind:

  • die Mitgliederversammlung
  • der Vorstand

§ 8 Mitgliederversammlung

(1) Die Mitgliederversammlung ist das oberste Organ des Vereins.

(2) Sie wird vom Vorsitzenden mindestens einmal im Jahr einberufen.

(3) Die Mitgliederversammlung beschließt über alle wichtigen Angelegenheiten des Vereins.

§ 9 Vorstand

(1) Der Vorstand besteht aus:

  • dem Vorsitzenden
  • dem stellvertretenden Vorsitzenden
  • dem Kassenwart
  • dem Schriftführer

(2) Der Vorstand wird von der Mitgliederversammlung gewählt.

(3) Der Vorstand führt die Geschäfte des Vereins.

§ 10 Satzungsänderungen

Satzungsänderungen können nur in einer Mitgliederversammlung mit einer Mehrheit von zwei Dritteln der anwesenden Mitglieder beschlossen werden.

§ 11 Auflösung des Vereins

(1) Die Auflösung des Vereins kann nur in einer Mitgliederversammlung mit einer Mehrheit von drei Vierteln der anwesenden Mitglieder beschlossen werden.

(2) Bei Auflösung des Vereins fällt das Vereinsvermögen an eine gemeinnützige Organisation.

',1)),t("div",h,[t("div",m,[e[1]||(e[1]=t("div",null,[t("h4",{class:"text-lg font-semibold text-primary-800 mb-2"},"Satzung als PDF herunterladen"),t("p",{class:"text-primary-700 text-sm"}," Laden Sie die vollständige Satzung als PDF-Dokument herunter. ")],-1)),t("a",v,[d(a(i),{size:20,class:"mr-2"}),e[0]||(e[0]=l(" PDF herunterladen ",-1))])])])])])])]))}};export{z as default}; diff --git a/.output/public/_nuxt/DjQJos7H.js b/.output/public/_nuxt/CvtlfSR0.js similarity index 93% rename from .output/public/_nuxt/DjQJos7H.js rename to .output/public/_nuxt/CvtlfSR0.js index 665c7a3..6feaba2 100644 --- a/.output/public/_nuxt/DjQJos7H.js +++ b/.output/public/_nuxt/CvtlfSR0.js @@ -1,4 +1,4 @@ -import{e as s,c as i,o as a,a as e,q as p,F as h,i as m,n as r,m as u,s as g,t as l,b as f}from"#entry";import{u as v}from"./C_U-NUAd.js";/** +import{e as s,c as n,o as a,a as e,f as p,F as h,j as m,n as r,p as u,s as g,t as l,b as f}from"#entry";import{u as v}from"./C_U-NUAd.js";/** * @license lucide-vue-next v0.344.0 - ISC * * This source code is licensed under the ISC license. @@ -28,4 +28,4 @@ import{e as s,c as i,o as a,a as e,q as p,F as h,i as m,n as r,m as u,s as g,t a * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const w=s("WifiIcon",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),M={id:"facilities",class:"py-16 sm:py-20 bg-white"},z={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},j={class:"grid sm:grid-cols-2 lg:grid-cols-3 gap-8 mb-16"},A={class:"p-8"},D={class:"text-2xl font-display font-bold text-gray-900 mb-3"},I={class:"text-gray-600 leading-relaxed"},S={__name:"Facilities",setup(c){const n=[{icon:k,title:"8 Tischtennisplatten",description:"Hochwertige Wettkampftische für optimales Spielvergnügen",color:"from-yellow-400 to-orange-500"},{icon:x,title:"Klimatisierte Halle",description:"Optimale Bedingungen bei jedem Wetter in unserer modernen Halle",color:"from-blue-400 to-blue-600"},{icon:y,title:"Trainingsbereich",description:"Ballmaschinen und Trainingsgeräte für gezieltes Training",color:"from-red-400 to-red-600"},{icon:_,title:"Clubhaus",description:"Gemütliches Clubhaus mit Aufenthaltsraum und Küche",color:"from-green-400 to-green-600"},{icon:w,title:"Kostenloses WLAN",description:"Schnelles Internet auf der gesamten Anlage",color:"from-purple-400 to-purple-600"},{icon:b,title:"Umkleiden & Duschen",description:"Moderne, saubere Umkleideräume mit Duschen",color:"from-cyan-400 to-cyan-600"}];return(d,o)=>(a(),i("section",M,[e("div",z,[o[0]||(o[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"}," Unsere Anlagen "),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"}," Moderne Ausstattung und erstklassige Einrichtungen für ein perfektes Tischtenniserlebnis ")],-1)),e("div",j,[(a(),i(h,null,m(n,t=>e("div",{key:t.title,class:"group relative bg-white rounded-2xl shadow-lg hover:shadow-2xl transition-all duration-300 overflow-hidden border border-gray-100"},[e("div",{class:r(["absolute top-0 left-0 right-0 h-1 bg-gradient-to-r opacity-0 group-hover:opacity-100 transition-opacity",t.color])},null,2),e("div",A,[e("div",{class:r(["w-16 h-16 bg-gradient-to-br rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform",t.color])},[(a(),u(g(t.icon),{size:32,class:"text-white"}))],2),e("h3",D,l(t.title),1),e("p",I,l(t.description),1)])])),64))]),o[1]||(o[1]=p('

Hochwertige Wettkampftische

Moderne Tischtennishalle

',1))])]))}},q={class:"min-h-screen"},B={__name:"anlagen",setup(c){return v({title:"Anlagen - Harheimer TC"}),(n,d)=>(a(),i("div",q,[f(S)]))}};export{B as default}; + */const w=s("WifiIcon",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),M={id:"facilities",class:"py-16 sm:py-20 bg-white"},z={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},j={class:"grid sm:grid-cols-2 lg:grid-cols-3 gap-8 mb-16"},A={class:"p-8"},D={class:"text-2xl font-display font-bold text-gray-900 mb-3"},I={class:"text-gray-600 leading-relaxed"},S={__name:"Facilities",setup(c){const i=[{icon:k,title:"8 Tischtennisplatten",description:"Hochwertige Wettkampftische für optimales Spielvergnügen",color:"from-yellow-400 to-orange-500"},{icon:x,title:"Klimatisierte Halle",description:"Optimale Bedingungen bei jedem Wetter in unserer modernen Halle",color:"from-blue-400 to-blue-600"},{icon:y,title:"Trainingsbereich",description:"Ballmaschinen und Trainingsgeräte für gezieltes Training",color:"from-red-400 to-red-600"},{icon:_,title:"Clubhaus",description:"Gemütliches Clubhaus mit Aufenthaltsraum und Küche",color:"from-green-400 to-green-600"},{icon:w,title:"Kostenloses WLAN",description:"Schnelles Internet auf der gesamten Anlage",color:"from-purple-400 to-purple-600"},{icon:b,title:"Umkleiden & Duschen",description:"Moderne, saubere Umkleideräume mit Duschen",color:"from-cyan-400 to-cyan-600"}];return(d,o)=>(a(),n("section",M,[e("div",z,[o[0]||(o[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"}," Unsere Anlagen "),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"}," Moderne Ausstattung und erstklassige Einrichtungen für ein perfektes Tischtenniserlebnis ")],-1)),e("div",j,[(a(),n(h,null,m(i,t=>e("div",{key:t.title,class:"group relative bg-white rounded-2xl shadow-lg hover:shadow-2xl transition-all duration-300 overflow-hidden border border-gray-100"},[e("div",{class:r(["absolute top-0 left-0 right-0 h-1 bg-gradient-to-r opacity-0 group-hover:opacity-100 transition-opacity",t.color])},null,2),e("div",A,[e("div",{class:r(["w-16 h-16 bg-gradient-to-br rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform",t.color])},[(a(),u(g(t.icon),{size:32,class:"text-white"}))],2),e("h3",D,l(t.title),1),e("p",I,l(t.description),1)])])),64))]),o[1]||(o[1]=p('

Hochwertige Wettkampftische

Moderne Tischtennishalle

',1))])]))}},C={class:"min-h-screen"},B={__name:"anlagen",setup(c){return v({title:"Anlagen - Harheimer TC"}),(i,d)=>(a(),n("div",C,[f(S)]))}};export{B as default}; diff --git a/.output/public/_nuxt/D11oUMHK.js b/.output/public/_nuxt/D11oUMHK.js new file mode 100644 index 0000000..ecdb0d6 --- /dev/null +++ b/.output/public/_nuxt/D11oUMHK.js @@ -0,0 +1 @@ +import{r as g,g as f,h as S,c as i,a as e,i as h,b as c,w as L,d as m,u as p,t as a,F as w,j as k,_ as V,o as n,m as z,y as C,X as A,n as j}from"#entry";import{u as D}from"./C_U-NUAd.js";import{A as $}from"./C8kQt0fa.js";import{C as T}from"./DaSgy0Cl.js";const N={class:"min-h-full py-16 bg-gray-50"},I={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},E={class:"flex items-center justify-between mb-6"},O={key:0,class:"mb-8"},P={class:"text-2xl font-display font-bold text-gray-900 mb-4"},H={class:"space-y-4"},K={class:"flex items-start justify-between"},W={class:"flex-1"},X={class:"text-lg font-semibold text-gray-900"},Z={class:"text-sm text-gray-600 mt-1"},q={key:0,class:"text-sm text-gray-600"},G={class:"text-xs text-gray-500 mt-2"},J={class:"flex flex-col space-y-2 ml-4"},Q=["onUpdate:modelValue"],Y=["onClick"],ee=["onClick"],te={class:"text-2xl font-display font-bold text-gray-900 mb-4"},se={class:"bg-white rounded-xl shadow-lg overflow-hidden"},oe={class:"min-w-full divide-y divide-gray-200"},ae={class:"bg-white divide-y divide-gray-200"},re={class:"px-6 py-4 whitespace-nowrap"},ie={class:"text-sm font-medium text-gray-900"},ne={class:"px-6 py-4 whitespace-nowrap"},le={class:"text-sm text-gray-600"},de={class:"px-6 py-4 whitespace-nowrap"},ce={class:"text-sm text-gray-600"},me={class:"px-6 py-4 whitespace-nowrap"},ue=["onUpdate:modelValue","onChange"],pe={class:"px-6 py-4 whitespace-nowrap"},ge={class:"text-sm text-gray-600"},he={class:"px-6 py-4 whitespace-nowrap text-right text-sm"},xe=["onClick"],ye={key:1,class:"text-gray-400"},ve={key:1,class:"fixed bottom-20 right-4 bg-green-50 border border-green-200 rounded-lg p-4 shadow-lg"},_e={class:"text-sm text-green-800 flex items-center"},be={key:2,class:"fixed bottom-20 right-4 bg-red-50 border border-red-200 rounded-lg p-4 shadow-lg"},fe={class:"text-sm text-red-800 flex items-center"},Te={__name:"benutzer",setup(we){const x=g([]),v=g(null),l=g(""),r=g(""),y=f(()=>x.value.filter(t=>t.active===!1).map(t=>({...t,selectedRole:t.role||"mitglied"}))),_=f(()=>x.value.filter(t=>t.active===!0)),b=t=>new Date(t).toLocaleString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),u=async()=>{try{const t=await $fetch("/api/cms/users/list");x.value=t.users}catch(t){console.error("Fehler beim Laden der Benutzer:",t),r.value="Fehler beim Laden der Benutzerliste"}},R=async t=>{try{await $fetch("/api/cms/users/approve",{method:"POST",body:{userId:t.id,role:t.selectedRole}}),l.value=`Benutzer ${t.name} wurde als ${t.selectedRole} freigeschaltet`,setTimeout(()=>l.value="",3e3),await u()}catch{r.value="Fehler beim Freischalten des Benutzers",setTimeout(()=>r.value="",3e3)}},B=async t=>{if(confirm(`Möchten Sie die Registrierung von ${t.name} wirklich ablehnen?`))try{await $fetch("/api/cms/users/reject",{method:"POST",body:{userId:t.id}}),l.value=`Registrierung von ${t.name} wurde abgelehnt`,setTimeout(()=>l.value="",3e3),await u()}catch{r.value="Fehler beim Ablehnen der Registrierung",setTimeout(()=>r.value="",3e3)}},U=async t=>{try{await $fetch("/api/cms/users/update-role",{method:"POST",body:{userId:t.id,role:t.role}}),l.value=`Rolle von ${t.name} wurde aktualisiert`,setTimeout(()=>l.value="",3e3)}catch{r.value="Fehler beim Aktualisieren der Rolle",setTimeout(()=>r.value="",3e3),await u()}},F=async t=>{if(confirm(`Möchten Sie ${t.name} wirklich deaktivieren?`))try{await $fetch("/api/cms/users/deactivate",{method:"POST",body:{userId:t.id}}),l.value=`Benutzer ${t.name} wurde deaktiviert`,setTimeout(()=>l.value="",3e3),await u()}catch{r.value="Fehler beim Deaktivieren des Benutzers",setTimeout(()=>r.value="",3e3)}};return S(async()=>{try{const t=await $fetch("/api/auth/status");v.value=t.user?.id}catch(t){console.error("Fehler beim Laden des aktuellen Benutzers:",t)}await u()}),D({title:"Benutzerverwaltung - CMS - Harheimer TC"}),(t,o)=>{const M=V;return n(),i("div",N,[e("div",I,[e("div",E,[o[1]||(o[1]=e("div",null,[e("h1",{class:"text-4xl font-display font-bold text-gray-900"}," Benutzerverwaltung "),e("div",{class:"w-24 h-1 bg-primary-600 mt-4"})],-1)),c(M,{to:"/cms",class:"px-4 py-2 bg-gray-200 hover:bg-gray-300 text-gray-800 rounded-lg transition-colors"},{default:L(()=>[...o[0]||(o[0]=[m(" ← Zurück zum CMS ",-1)])]),_:1})]),y.value.length>0?(n(),i("div",O,[e("h2",P,[c(p($),{size:24,class:"inline text-yellow-600 mr-2"}),m(" Wartende Registrierungen ("+a(y.value.length)+") ",1)]),e("div",H,[(n(!0),i(w,null,k(y.value,s=>(n(),i("div",{key:s.id,class:"bg-yellow-50 border-l-4 border-yellow-400 rounded-lg p-6 shadow"},[e("div",K,[e("div",W,[e("h3",X,a(s.name),1),e("p",Z,a(s.email),1),s.phone?(n(),i("p",q,a(s.phone),1)):h("",!0),e("p",G," Registriert am: "+a(b(s.created)),1)]),e("div",J,[z(e("select",{"onUpdate:modelValue":d=>s.selectedRole=d,class:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-primary-600"},[...o[2]||(o[2]=[e("option",{value:"mitglied"},"Mitglied",-1),e("option",{value:"vorstand"},"Vorstand",-1),e("option",{value:"admin"},"Administrator",-1)])],8,Q),[[C,s.selectedRole]]),e("button",{onClick:d=>R(s),class:"px-4 py-2 bg-green-600 hover:bg-green-700 text-white text-sm font-semibold rounded-lg transition-colors flex items-center justify-center"},[c(p(T),{size:16,class:"mr-1"}),o[3]||(o[3]=m(" Freischalten ",-1))],8,Y),e("button",{onClick:d=>B(s),class:"px-4 py-2 bg-red-600 hover:bg-red-700 text-white text-sm font-semibold rounded-lg transition-colors flex items-center justify-center"},[c(p(A),{size:16,class:"mr-1"}),o[4]||(o[4]=m(" Ablehnen ",-1))],8,ee)])])]))),128))])])):h("",!0),e("div",null,[e("h2",te," Aktive Benutzer ("+a(_.value.length)+") ",1),e("div",se,[e("table",oe,[o[6]||(o[6]=e("thead",{class:"bg-gray-50"},[e("tr",null,[e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Name "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," E-Mail "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Telefon "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Rolle "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Letzter Login "),e("th",{class:"px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider"}," Aktionen ")])],-1)),e("tbody",ae,[(n(!0),i(w,null,k(_.value,s=>(n(),i("tr",{key:s.id,class:"hover:bg-gray-50"},[e("td",re,[e("div",ie,a(s.name),1)]),e("td",ne,[e("div",le,a(s.email),1)]),e("td",de,[e("div",ce,a(s.phone||"-"),1)]),e("td",me,[z(e("select",{"onUpdate:modelValue":d=>s.role=d,onChange:d=>U(s),class:j(["px-3 py-1 border border-gray-300 rounded text-sm",{"bg-red-50 border-red-300":s.role==="admin","bg-blue-50 border-blue-300":s.role==="vorstand","bg-gray-50 border-gray-300":s.role==="mitglied"}])},[...o[5]||(o[5]=[e("option",{value:"mitglied"},"Mitglied",-1),e("option",{value:"vorstand"},"Vorstand",-1),e("option",{value:"admin"},"Administrator",-1)])],42,ue),[[C,s.role]])]),e("td",pe,[e("div",ge,a(s.lastLogin?b(s.lastLogin):"Nie"),1)]),e("td",he,[s.id!==v.value?(n(),i("button",{key:0,onClick:d=>F(s),class:"text-red-600 hover:text-red-800 font-medium"}," Deaktivieren ",8,xe)):(n(),i("span",ye,"Eigenes Konto"))])]))),128))])])])]),l.value?(n(),i("div",ve,[e("p",_e,[c(p(T),{size:18,class:"mr-2"}),m(" "+a(l.value),1)])])):h("",!0),r.value?(n(),i("div",be,[e("p",fe,[c(p($),{size:18,class:"mr-2"}),m(" "+a(r.value),1)])])):h("",!0)])])}}};export{Te as default}; diff --git a/.output/public/_nuxt/BStiaRgF.js b/.output/public/_nuxt/D99LnZYi.js similarity index 99% rename from .output/public/_nuxt/BStiaRgF.js rename to .output/public/_nuxt/D99LnZYi.js index 4ad8317..bfd4cd7 100644 --- a/.output/public/_nuxt/BStiaRgF.js +++ b/.output/public/_nuxt/D99LnZYi.js @@ -1 +1 @@ -import{c as l,a as n,q as r,b as t,d as i,u as s,w as d,_ as h,o}from"#entry";import{u}from"./C_U-NUAd.js";import{F as g}from"./BteKZQ9T.js";import{E as m}from"./Czdc6-TI.js";const c={class:"min-h-full py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},b={class:"max-w-4xl mx-auto"},f={class:"bg-white p-8 rounded-xl shadow-lg space-y-6"},p={class:"flex flex-col sm:flex-row gap-3"},x={href:"/documents/satzung.pdf",target:"_blank",class:"inline-flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-medium rounded-lg transition-colors"},S={__name:"impressum",setup(w){return u({title:"Impressum - Harheimer TC"}),(v,e)=>{const a=h;return o(),l("div",c,[n("div",b,[e[6]||(e[6]=n("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Impressum ",-1)),e[7]||(e[7]=n("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),n("div",f,[e[4]||(e[4]=r('

Angaben gemäß § 5 TMG

Harheimer Tischtennis-Club 1954 e. V. (HTC)
In der Fuchskaut 4
60437 Frankfurt am Main

Kontakt

Telefon: 06101-4992227
E-Mail: j.dichmann@gmx.de
Internet: www.harheimertc.de

Vertretungsberechtigter Vorstand

Roger Dichmann, Vorsitzender
Jürgen Kratz, Stellvertreter des Vorsitzenden
Olaf Nüßlein, Kassenwart
Jürgen Dichmann, Schriftführer

Registereintrag

lsb h-Vereinsnummer: 24091
Registereintrag: Amtsgericht Frankfurt am Main, Registergericht
Registernummer: VR 6835

',4)),n("div",null,[e[2]||(e[2]=n("h2",{class:"text-xl font-display font-bold text-gray-900 mb-2"},"Vereinsatzung",-1)),e[3]||(e[3]=n("p",{class:"text-gray-700 mb-4"}," Unsere aktuelle Vereinsatzung können Sie hier herunterladen oder online einsehen: ",-1)),n("div",p,[n("a",x,[t(s(g),{size:16,class:"mr-2"}),e[0]||(e[0]=i(" Satzung herunterladen (PDF) ",-1))]),t(a,{to:"/satzung",class:"inline-flex items-center px-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-900 font-medium rounded-lg transition-colors"},{default:d(()=>[t(s(m),{size:16,class:"mr-2"}),e[1]||(e[1]=i(" Online ansehen ",-1))]),_:1})])]),e[5]||(e[5]=r('

Verantwortlich für den Inhalt

Roger Dichmann
Reginastr. 46
60437 Frankfurt

Haftungsausschluss

Haftung für Inhalte

Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen. Grundsätzlich sind alle unsere Informationen ohne Gewähr. Auch für den Fall das unzutreffende oder falsche Informationen enthalten sind, wird vom HTC jegliche Haftung ausgeschlossen.

Haftung für Links

Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Eine Haftung für Schäden, die ggf. durch das Aufrufen dieser Seiten, bzw. deren Inhalte entstehen, wird vom HTC nicht übernommen. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

Urheberrecht

Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.

Datenschutzerklärung

Datenschutz

Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung. Die Nutzung unserer Website ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder E-Mail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben. Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

Widerspruch Werbe-Mails

Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-E-Mails, vor.

',3))])])])}}};export{S as default}; +import{c as l,a as n,f as r,b as t,d as i,u as s,w as d,_ as h,o}from"#entry";import{u}from"./C_U-NUAd.js";import{F as g}from"./BteKZQ9T.js";import{E as m}from"./Czdc6-TI.js";const c={class:"min-h-full py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},b={class:"max-w-4xl mx-auto"},f={class:"bg-white p-8 rounded-xl shadow-lg space-y-6"},p={class:"flex flex-col sm:flex-row gap-3"},x={href:"/documents/satzung.pdf",target:"_blank",class:"inline-flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-medium rounded-lg transition-colors"},S={__name:"impressum",setup(w){return u({title:"Impressum - Harheimer TC"}),(v,e)=>{const a=h;return o(),l("div",c,[n("div",b,[e[6]||(e[6]=n("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Impressum ",-1)),e[7]||(e[7]=n("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),n("div",f,[e[4]||(e[4]=r('

Angaben gemäß § 5 TMG

Harheimer Tischtennis-Club 1954 e. V. (HTC)
In der Fuchskaut 4
60437 Frankfurt am Main

Kontakt

Telefon: 06101-4992227
E-Mail: j.dichmann@gmx.de
Internet: www.harheimertc.de

Vertretungsberechtigter Vorstand

Roger Dichmann, Vorsitzender
Jürgen Kratz, Stellvertreter des Vorsitzenden
Olaf Nüßlein, Kassenwart
Jürgen Dichmann, Schriftführer

Registereintrag

lsb h-Vereinsnummer: 24091
Registereintrag: Amtsgericht Frankfurt am Main, Registergericht
Registernummer: VR 6835

',4)),n("div",null,[e[2]||(e[2]=n("h2",{class:"text-xl font-display font-bold text-gray-900 mb-2"},"Vereinsatzung",-1)),e[3]||(e[3]=n("p",{class:"text-gray-700 mb-4"}," Unsere aktuelle Vereinsatzung können Sie hier herunterladen oder online einsehen: ",-1)),n("div",p,[n("a",x,[t(s(g),{size:16,class:"mr-2"}),e[0]||(e[0]=i(" Satzung herunterladen (PDF) ",-1))]),t(a,{to:"/satzung",class:"inline-flex items-center px-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-900 font-medium rounded-lg transition-colors"},{default:d(()=>[t(s(m),{size:16,class:"mr-2"}),e[1]||(e[1]=i(" Online ansehen ",-1))]),_:1})])]),e[5]||(e[5]=r('

Verantwortlich für den Inhalt

Roger Dichmann
Reginastr. 46
60437 Frankfurt

Haftungsausschluss

Haftung für Inhalte

Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen. Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben hiervon unberührt. Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung möglich. Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen. Grundsätzlich sind alle unsere Informationen ohne Gewähr. Auch für den Fall das unzutreffende oder falsche Informationen enthalten sind, wird vom HTC jegliche Haftung ausgeschlossen.

Haftung für Links

Unser Angebot enthält Links zu externen Websites Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft. Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar. Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer Rechtsverletzung nicht zumutbar. Eine Haftung für Schäden, die ggf. durch das Aufrufen dieser Seiten, bzw. deren Inhalte entstehen, wird vom HTC nicht übernommen. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.

Urheberrecht

Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet. Soweit die Inhalte auf dieser Seite nicht vom Betreiber erstellt wurden, werden die Urheberrechte Dritter beachtet. Insbesondere werden Inhalte Dritter als solche gekennzeichnet. Sollten Sie trotzdem auf eine Urheberrechtsverletzung aufmerksam werden, bitten wir um einen entsprechenden Hinweis. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Inhalte umgehend entfernen.

Datenschutzerklärung

Datenschutz

Die Betreiber dieser Seiten nehmen den Schutz Ihrer persönlichen Daten sehr ernst. Wir behandeln Ihre personenbezogenen Daten vertraulich und entsprechend der gesetzlichen Datenschutzvorschriften sowie dieser Datenschutzerklärung. Die Nutzung unserer Website ist in der Regel ohne Angabe personenbezogener Daten möglich. Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder E-Mail-Adressen) erhoben werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis. Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben. Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail) Sicherheitslücken aufweisen kann. Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich.

Widerspruch Werbe-Mails

Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten zur Übersendung von nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit widersprochen. Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von Werbeinformationen, etwa durch Spam-E-Mails, vor.

',3))])])])}}};export{S as default}; diff --git a/.output/public/_nuxt/DBnABJGp.js b/.output/public/_nuxt/DHQur1V-.js similarity index 91% rename from .output/public/_nuxt/DBnABJGp.js rename to .output/public/_nuxt/DHQur1V-.js index cde2067..800db3b 100644 --- a/.output/public/_nuxt/DBnABJGp.js +++ b/.output/public/_nuxt/DHQur1V-.js @@ -1,2 +1,2 @@ -import{u as N}from"./C_U-NUAd.js";import{T as k}from"./CrCcIvVp.js";import{r as C,f as u,g as R,c as a,a as t,F as x,i as f,n as h,b as _,u as w,t as d,d as z,o as n,h as V}from"#entry";const F={class:"min-h-full py-16 bg-gray-50"},G={class:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"},H={class:"mb-8 flex flex-wrap gap-4"},L=["onClick"],M={key:0,class:"space-y-8"},S={class:"text-2xl font-display font-bold text-gray-900 mb-6 flex items-center"},W={key:0,class:"mb-6 p-4 bg-yellow-50 border border-yellow-200 rounded-lg"},O={class:"text-yellow-800 font-medium"},$={key:1,class:"space-y-6"},A={class:"text-xl font-semibold text-gray-900 mb-4"},K={class:"grid gap-3"},P={class:"flex items-center"},Q={class:"font-semibold text-gray-900"},Y={key:0,class:"text-gray-600"},q={class:"text-sm text-gray-500"},I={key:1,class:"text-center py-12 bg-white rounded-xl shadow-lg"},U={class:"mt-12 bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white"},X={class:"grid md:grid-cols-3 gap-6"},Z={class:"text-center"},ee={class:"text-3xl font-bold mb-2"},te={class:"text-center"},re={class:"text-3xl font-bold mb-2"},se={class:"text-center"},le={class:"text-3xl font-bold mb-2"},ae={class:"mt-8 text-center"},ne={class:"bg-white rounded-xl shadow-lg p-8 border-l-4 border-primary-600"},oe={class:"text-2xl font-display font-bold text-gray-900 mb-4 flex items-center justify-center"},ge={__name:"vereinsmeisterschaften",setup(ie){const c=C([]),g=C("alle"),J=async()=>{try{const r=await fetch("/data/vereinsmeisterschaften.csv");if(!r.ok)return;const s=(await r.text()).split(` -`).filter(i=>i.trim()!=="");if(s.length<2)return;c.value=s.slice(1).map(i=>{const o=[];let l="",m=!1;for(let b=0;bi!==null)}catch(r){console.error("Fehler beim Laden der Vereinsmeisterschaften:",r)}},j=u(()=>[...new Set(c.value.map(e=>e.jahr).filter(e=>e!==""))].sort((e,s)=>s-e)),E=u(()=>g.value==="alle"?c.value:c.value.filter(r=>r.jahr===g.value)),y=u(()=>{const r={};return E.value.forEach(e=>{if(r[e.jahr]||(r[e.jahr]={kategorien:{},bemerkungen:null}),e.bemerkung&&e.bemerkung!==""){r[e.jahr].bemerkungen=e.bemerkung;return}e.kategorie&&e.kategorie!==""&&(r[e.jahr].kategorien[e.kategorie]||(r[e.jahr].kategorien[e.kategorie]=[]),r[e.jahr].kategorien[e.kategorie].push(e))}),r}),p=u(()=>{const r={};return Object.keys(y.value).sort((s,i)=>i-s).forEach(s=>{r[s]=y.value[s]}),r}),T=u(()=>Object.keys(y.value).sort((r,e)=>e-r)),D=u(()=>c.value.filter(r=>r.kategorie==="Einzel"&&r.platz==="1").length),B=u(()=>c.value.filter(r=>r.kategorie==="Doppel"&&r.platz==="1").length);return R(()=>{J()}),N({title:"Vereinsmeisterschaften - Harheimer TC"}),(r,e)=>(n(),a("div",F,[t("div",G,[e[9]||(e[9]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Vereinsmeisterschaften ",-1)),e[10]||(e[10]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),e[11]||(e[11]=t("p",{class:"text-xl text-gray-600 mb-12"}," Die Ergebnisse unserer Vereinsmeisterschaften der letzten Jahre ",-1)),t("div",H,[(n(!0),a(x,null,f(j.value,s=>(n(),a("button",{key:s,onClick:i=>g.value=s,class:h(["px-4 py-2 rounded-lg font-medium transition-colors",g.value===s?"bg-primary-600 text-white":"bg-white text-gray-700 hover:bg-gray-100 border border-gray-300"])},d(s),11,L))),128)),t("button",{onClick:e[0]||(e[0]=s=>g.value="alle"),class:h(["px-4 py-2 rounded-lg font-medium transition-colors",g.value==="alle"?"bg-primary-600 text-white":"bg-white text-gray-700 hover:bg-gray-100 border border-gray-300"])}," Alle Jahre ",2)]),E.value.length>0?(n(),a("div",M,[(n(!0),a(x,null,f(T.value,s=>(n(),a("div",{key:s,class:"bg-white rounded-xl shadow-lg p-6"},[t("h2",S,[_(w(k),{size:28,class:"text-primary-600 mr-3"}),z(" "+d(s),1)]),p.value[s]?.bemerkungen?(n(),a("div",W,[t("p",O,d(p.value[s].bemerkungen),1)])):V("",!0),p.value[s]?.kategorien?(n(),a("div",$,[(n(!0),a(x,null,f(p.value[s].kategorien,(i,o)=>(n(),a("div",{key:o,class:"border-l-4 border-primary-600 pl-4"},[t("h3",A,d(o),1),t("div",K,[(n(!0),a(x,null,f(i,(l,m)=>(n(),a("div",{key:m,class:h(["flex items-center justify-between p-3 rounded-lg",l.platz==="1"?"bg-yellow-50 border border-yellow-200":l.platz==="2"?"bg-gray-50 border border-gray-200":l.platz==="3"?"bg-orange-50 border border-orange-200":"bg-gray-100"])},[t("div",P,[t("div",{class:h(["w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold mr-3",l.platz==="1"?"bg-yellow-500 text-white":l.platz==="2"?"bg-gray-400 text-white":l.platz==="3"?"bg-orange-500 text-white":"bg-gray-300 text-gray-700"])},d(l.platz),3),t("div",null,[t("span",Q,[z(d(l.spieler1)+" ",1),l.spieler2?(n(),a("span",Y," / "+d(l.spieler2),1)):V("",!0)])])]),t("div",q,d(l.platz==="1"?"Vereinsmeister":l.platz+". Platz"),1)],2))),128))])]))),128))])):V("",!0)]))),128))])):(n(),a("div",I,[_(w(k),{size:48,class:"text-gray-400 mx-auto mb-4"}),e[1]||(e[1]=t("p",{class:"text-gray-600"},"Keine Ergebnisse für das ausgewählte Jahr gefunden.",-1))])),t("div",U,[e[5]||(e[5]=t("h3",{class:"text-2xl font-display font-bold mb-6"},"Statistik",-1)),t("div",X,[t("div",Z,[t("div",ee,d(j.value.length),1),e[2]||(e[2]=t("div",{class:"text-primary-100"},"Jahre mit Meisterschaften",-1))]),t("div",te,[t("div",re,d(D.value),1),e[3]||(e[3]=t("div",{class:"text-primary-100"},"Einzelgewinner",-1))]),t("div",se,[t("div",le,d(B.value),1),e[4]||(e[4]=t("div",{class:"text-primary-100"},"Doppelgewinner",-1))])])]),t("div",ae,[t("div",ne,[t("h3",oe,[_(w(k),{size:32,class:"text-primary-600 mr-3"}),e[6]||(e[6]=z(" Herzlichen Glückwunsch! ",-1))]),e[7]||(e[7]=t("p",{class:"text-lg text-gray-700 leading-relaxed"}," Wir gratulieren allen Teilnehmern und Gewinnern der Vereinsmeisterschaften zu ihren großartigen Leistungen! ",-1)),e[8]||(e[8]=t("p",{class:"text-lg text-gray-700 leading-relaxed mt-4"}," Besonders stolz sind wir auf die kontinuierliche Teilnahme und den fairen Wettkampfgeist unserer Mitglieder. ",-1))])])])]))}};export{ge as default}; +import{u as N}from"./C_U-NUAd.js";import{T as k}from"./CrCcIvVp.js";import{r as C,g as u,h as R,c as a,a as t,F as x,j as f,n as h,b as _,u as w,t as d,d as z,o as n,i as j}from"#entry";const F={class:"min-h-full py-16 bg-gray-50"},G={class:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"},H={class:"mb-8 flex flex-wrap gap-4"},L=["onClick"],M={key:0,class:"space-y-8"},S={class:"text-2xl font-display font-bold text-gray-900 mb-6 flex items-center"},W={key:0,class:"mb-6 p-4 bg-yellow-50 border border-yellow-200 rounded-lg"},O={class:"text-yellow-800 font-medium"},$={key:1,class:"space-y-6"},A={class:"text-xl font-semibold text-gray-900 mb-4"},K={class:"grid gap-3"},P={class:"flex items-center"},Q={class:"font-semibold text-gray-900"},Y={key:0,class:"text-gray-600"},q={class:"text-sm text-gray-500"},I={key:1,class:"text-center py-12 bg-white rounded-xl shadow-lg"},U={class:"mt-12 bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white"},X={class:"grid md:grid-cols-3 gap-6"},Z={class:"text-center"},ee={class:"text-3xl font-bold mb-2"},te={class:"text-center"},re={class:"text-3xl font-bold mb-2"},se={class:"text-center"},le={class:"text-3xl font-bold mb-2"},ae={class:"mt-8 text-center"},ne={class:"bg-white rounded-xl shadow-lg p-8 border-l-4 border-primary-600"},oe={class:"text-2xl font-display font-bold text-gray-900 mb-4 flex items-center justify-center"},ge={__name:"vereinsmeisterschaften",setup(ie){const c=C([]),g=C("alle"),J=async()=>{try{const r=await fetch("/data/vereinsmeisterschaften.csv");if(!r.ok)return;const s=(await r.text()).split(` +`).filter(i=>i.trim()!=="");if(s.length<2)return;c.value=s.slice(1).map(i=>{const o=[];let l="",m=!1;for(let b=0;bi!==null)}catch(r){console.error("Fehler beim Laden der Vereinsmeisterschaften:",r)}},V=u(()=>[...new Set(c.value.map(e=>e.jahr).filter(e=>e!==""))].sort((e,s)=>s-e)),E=u(()=>g.value==="alle"?c.value:c.value.filter(r=>r.jahr===g.value)),y=u(()=>{const r={};return E.value.forEach(e=>{if(r[e.jahr]||(r[e.jahr]={kategorien:{},bemerkungen:null}),e.bemerkung&&e.bemerkung!==""){r[e.jahr].bemerkungen=e.bemerkung;return}e.kategorie&&e.kategorie!==""&&(r[e.jahr].kategorien[e.kategorie]||(r[e.jahr].kategorien[e.kategorie]=[]),r[e.jahr].kategorien[e.kategorie].push(e))}),r}),p=u(()=>{const r={};return Object.keys(y.value).sort((s,i)=>i-s).forEach(s=>{r[s]=y.value[s]}),r}),T=u(()=>Object.keys(y.value).sort((r,e)=>e-r)),D=u(()=>c.value.filter(r=>r.kategorie==="Einzel"&&r.platz==="1").length),B=u(()=>c.value.filter(r=>r.kategorie==="Doppel"&&r.platz==="1").length);return R(()=>{J()}),N({title:"Vereinsmeisterschaften - Harheimer TC"}),(r,e)=>(n(),a("div",F,[t("div",G,[e[9]||(e[9]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Vereinsmeisterschaften ",-1)),e[10]||(e[10]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),e[11]||(e[11]=t("p",{class:"text-xl text-gray-600 mb-12"}," Die Ergebnisse unserer Vereinsmeisterschaften der letzten Jahre ",-1)),t("div",H,[(n(!0),a(x,null,f(V.value,s=>(n(),a("button",{key:s,onClick:i=>g.value=s,class:h(["px-4 py-2 rounded-lg font-medium transition-colors",g.value===s?"bg-primary-600 text-white":"bg-white text-gray-700 hover:bg-gray-100 border border-gray-300"])},d(s),11,L))),128)),t("button",{onClick:e[0]||(e[0]=s=>g.value="alle"),class:h(["px-4 py-2 rounded-lg font-medium transition-colors",g.value==="alle"?"bg-primary-600 text-white":"bg-white text-gray-700 hover:bg-gray-100 border border-gray-300"])}," Alle Jahre ",2)]),E.value.length>0?(n(),a("div",M,[(n(!0),a(x,null,f(T.value,s=>(n(),a("div",{key:s,class:"bg-white rounded-xl shadow-lg p-6"},[t("h2",S,[_(w(k),{size:28,class:"text-primary-600 mr-3"}),z(" "+d(s),1)]),p.value[s]?.bemerkungen?(n(),a("div",W,[t("p",O,d(p.value[s].bemerkungen),1)])):j("",!0),p.value[s]?.kategorien?(n(),a("div",$,[(n(!0),a(x,null,f(p.value[s].kategorien,(i,o)=>(n(),a("div",{key:o,class:"border-l-4 border-primary-600 pl-4"},[t("h3",A,d(o),1),t("div",K,[(n(!0),a(x,null,f(i,(l,m)=>(n(),a("div",{key:m,class:h(["flex items-center justify-between p-3 rounded-lg",l.platz==="1"?"bg-yellow-50 border border-yellow-200":l.platz==="2"?"bg-gray-50 border border-gray-200":l.platz==="3"?"bg-orange-50 border border-orange-200":"bg-gray-100"])},[t("div",P,[t("div",{class:h(["w-8 h-8 rounded-full flex items-center justify-center text-sm font-bold mr-3",l.platz==="1"?"bg-yellow-500 text-white":l.platz==="2"?"bg-gray-400 text-white":l.platz==="3"?"bg-orange-500 text-white":"bg-gray-300 text-gray-700"])},d(l.platz),3),t("div",null,[t("span",Q,[z(d(l.spieler1)+" ",1),l.spieler2?(n(),a("span",Y," / "+d(l.spieler2),1)):j("",!0)])])]),t("div",q,d(l.platz==="1"?"Vereinsmeister":l.platz+". Platz"),1)],2))),128))])]))),128))])):j("",!0)]))),128))])):(n(),a("div",I,[_(w(k),{size:48,class:"text-gray-400 mx-auto mb-4"}),e[1]||(e[1]=t("p",{class:"text-gray-600"},"Keine Ergebnisse für das ausgewählte Jahr gefunden.",-1))])),t("div",U,[e[5]||(e[5]=t("h3",{class:"text-2xl font-display font-bold mb-6"},"Statistik",-1)),t("div",X,[t("div",Z,[t("div",ee,d(V.value.length),1),e[2]||(e[2]=t("div",{class:"text-primary-100"},"Jahre mit Meisterschaften",-1))]),t("div",te,[t("div",re,d(D.value),1),e[3]||(e[3]=t("div",{class:"text-primary-100"},"Einzelgewinner",-1))]),t("div",se,[t("div",le,d(B.value),1),e[4]||(e[4]=t("div",{class:"text-primary-100"},"Doppelgewinner",-1))])])]),t("div",ae,[t("div",ne,[t("h3",oe,[_(w(k),{size:32,class:"text-primary-600 mr-3"}),e[6]||(e[6]=z(" Herzlichen Glückwunsch! ",-1))]),e[7]||(e[7]=t("p",{class:"text-lg text-gray-700 leading-relaxed"}," Wir gratulieren allen Teilnehmern und Gewinnern der Vereinsmeisterschaften zu ihren großartigen Leistungen! ",-1)),e[8]||(e[8]=t("p",{class:"text-lg text-gray-700 leading-relaxed mt-4"}," Besonders stolz sind wir auf die kontinuierliche Teilnahme und den fairen Wettkampfgeist unserer Mitglieder. ",-1))])])])]))}};export{ge as default}; diff --git a/.output/public/_nuxt/DdHhmCne.js b/.output/public/_nuxt/DdHhmCne.js new file mode 100644 index 0000000..bbf767f --- /dev/null +++ b/.output/public/_nuxt/DdHhmCne.js @@ -0,0 +1,6 @@ +import{e as o}from"#entry";/** + * @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 e=o("PhoneIcon",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]);export{e as P}; diff --git a/.output/public/_nuxt/BXPpCwtT.js b/.output/public/_nuxt/DjcJk1g8.js similarity index 99% rename from .output/public/_nuxt/BXPpCwtT.js rename to .output/public/_nuxt/DjcJk1g8.js index 4f39161..57deecd 100644 --- a/.output/public/_nuxt/BXPpCwtT.js +++ b/.output/public/_nuxt/DjcJk1g8.js @@ -1,4 +1,4 @@ -import{u as o}from"./C_U-NUAd.js";import{G as a}from"./KxVBmS-6.js";import{F as d}from"./BteKZQ9T.js";import{T as g}from"./B4mSF5Ac.js";import{e as n,c as m,a as e,q as i,b as r,u as l,d as s,o as x}from"#entry";import{T as c}from"./CrCcIvVp.js";import{U as p}from"./DkeYb0_S.js";import{B as b}from"./CkzaQq3X.js";/** +import{u as o}from"./C_U-NUAd.js";import{G as a}from"./KxVBmS-6.js";import{F as d}from"./BteKZQ9T.js";import{T as g}from"./B4mSF5Ac.js";import{e as n,c as m,a as e,f as i,b as r,u as l,d as s,o as x}from"#entry";import{T as c}from"./CrCcIvVp.js";import{U as p}from"./DkeYb0_S.js";import{B as b}from"./CkzaQq3X.js";/** * @license lucide-vue-next v0.344.0 - ISC * * This source code is licensed under the ISC license. diff --git a/.output/public/_nuxt/CUUerAfc.js b/.output/public/_nuxt/DvrqIJw1.js similarity index 98% rename from .output/public/_nuxt/CUUerAfc.js rename to .output/public/_nuxt/DvrqIJw1.js index b7056a5..d243d7b 100644 --- a/.output/public/_nuxt/CUUerAfc.js +++ b/.output/public/_nuxt/DvrqIJw1.js @@ -1,2 +1,2 @@ -import{u as y}from"./C_U-NUAd.js";import{C as w}from"./YJHbYJtA.js";import{r as v,f as _,g as k,c as l,a as t,F as D,i as T,b as M,u as F,o as i,t as o,n as z}from"#entry";const S={class:"min-h-full py-16 bg-gray-50"},A={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},H={key:0,class:"space-y-4"},J={class:"flex items-start space-x-4"},C={class:"flex-shrink-0 w-16 h-16 bg-primary-600 rounded-xl flex flex-col items-center justify-center text-white"},$={class:"text-2xl font-bold"},B={class:"text-xs"},E={class:"flex-1"},N={class:"flex items-start justify-between"},V={class:"text-xl font-semibold text-gray-900 mb-1"},j={class:"text-gray-600 mb-2"},L={class:"text-sm text-gray-500"},O={key:1,class:"text-center py-16 bg-white rounded-xl shadow-lg"},G={__name:"termine",setup(K){const x=v([]),g=_(()=>{const n=new Date;return n.setHours(0,0,0,0),x.value.filter(e=>new Date(e.datum)>=n).sort((e,s)=>new Date(e.datum)-new Date(s.datum))}),h=n=>new Date(n).getDate(),p=n=>{const e=new Date(n);return["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"][e.getMonth()]},b=n=>{const e=new Date(n),s=["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],a=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"];return`${s[e.getDay()]}, ${e.getDate()}. ${a[e.getMonth()]} ${e.getFullYear()}`},f=async()=>{try{const n=await fetch("/data/termine.csv");if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);const s=(await n.text()).split(` +import{u as y}from"./C_U-NUAd.js";import{C as w}from"./YJHbYJtA.js";import{r as v,g as _,h as k,c as l,a as t,F as D,j as T,b as M,u as F,o as i,t as o,n as z}from"#entry";const S={class:"min-h-full py-16 bg-gray-50"},A={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},H={key:0,class:"space-y-4"},J={class:"flex items-start space-x-4"},C={class:"flex-shrink-0 w-16 h-16 bg-primary-600 rounded-xl flex flex-col items-center justify-center text-white"},$={class:"text-2xl font-bold"},B={class:"text-xs"},E={class:"flex-1"},N={class:"flex items-start justify-between"},V={class:"text-xl font-semibold text-gray-900 mb-1"},j={class:"text-gray-600 mb-2"},L={class:"text-sm text-gray-500"},O={key:1,class:"text-center py-16 bg-white rounded-xl shadow-lg"},G={__name:"termine",setup(K){const x=v([]),g=_(()=>{const n=new Date;return n.setHours(0,0,0,0),x.value.filter(e=>new Date(e.datum)>=n).sort((e,s)=>new Date(e.datum)-new Date(s.datum))}),h=n=>new Date(n).getDate(),p=n=>{const e=new Date(n);return["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"][e.getMonth()]},b=n=>{const e=new Date(n),s=["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],a=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"];return`${s[e.getDay()]}, ${e.getDate()}. ${a[e.getMonth()]} ${e.getFullYear()}`},f=async()=>{try{const n=await fetch("/data/termine.csv");if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);const s=(await n.text()).split(` `).filter(a=>a.trim()!=="");if(s.length<2)return;x.value=s.slice(1).map((a,P)=>{const r=[];let m="",u=!1;for(let d=0;da!==null)}catch(n){console.error("Fehler beim Laden der Termine:",n)}};return k(()=>{f()}),y({title:"Termine & Events - Harheimer TC"}),(n,e)=>(i(),l("div",S,[t("div",A,[e[2]||(e[2]=t("div",{class:"text-center mb-12"},[t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Termine & Events "),t("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"}),t("p",{class:"text-xl text-gray-600 max-w-3xl mx-auto"}," Alle kommenden Termine und Veranstaltungen des Harheimer TC ")],-1)),g.value.length>0?(i(),l("div",H,[(i(!0),l(D,null,T(g.value,(s,a)=>(i(),l("div",{key:a,class:"bg-white rounded-xl shadow-lg p-6 hover:shadow-xl transition-shadow"},[t("div",J,[t("div",C,[t("span",$,o(h(s.datum)),1),t("span",B,o(p(s.datum)),1)]),t("div",E,[t("div",N,[t("div",null,[t("h3",V,o(s.titel),1),t("p",j,o(s.beschreibung),1),t("p",L,o(b(s.datum)),1)]),t("span",{class:z(["px-3 py-1 text-sm font-medium rounded-full",s.kategorie==="Turnier"?"bg-yellow-100 text-yellow-800":"bg-blue-100 text-blue-800"])},o(s.kategorie),3)])])])]))),128))])):(i(),l("div",O,[M(F(w),{size:64,class:"text-gray-400 mx-auto mb-4"}),e[0]||(e[0]=t("h3",{class:"text-2xl font-semibold text-gray-900 mb-2"},"Keine kommenden Termine",-1)),e[1]||(e[1]=t("p",{class:"text-gray-600"}," Aktuell sind keine Termine geplant. Schauen Sie bald wieder vorbei! ",-1))])),e[3]||(e[3]=t("div",{class:"mt-12 bg-primary-50 border border-primary-100 rounded-xl p-6"},[t("h3",{class:"text-lg font-semibold text-primary-900 mb-2"}," Hinweis "),t("p",{class:"text-primary-800"}," Alle Termine sind vorbehaltlich kurzfristiger Änderungen. Bei Fragen zu einzelnen Veranstaltungen kontaktieren Sie uns gerne. ")],-1))])]))}};export{G as default}; diff --git a/.output/public/_nuxt/YTUQ4PrF.js b/.output/public/_nuxt/Dx1KRsmK.js similarity index 84% rename from .output/public/_nuxt/YTUQ4PrF.js rename to .output/public/_nuxt/Dx1KRsmK.js index 17887cd..e40ae4f 100644 --- a/.output/public/_nuxt/YTUQ4PrF.js +++ b/.output/public/_nuxt/Dx1KRsmK.js @@ -1,6 +1,6 @@ -import{e as V,j as $,r as p,f as j,g as A,c as o,a as e,h as c,b as n,d as f,u as r,F as E,i as F,k as z,t as u,l as _,v as D,B as U,m as q,o as a,U as G}from"#entry";import{u as H}from"./C_U-NUAd.js";import{L as S}from"./CUq_0rkE.js";import{G as C}from"./KxVBmS-6.js";import{C as W}from"./YJHbYJtA.js";import{S as P,T as K}from"./CGpRzXRB.js";import{N as O}from"./DAACT36i.js";import{A as R}from"./C8kQt0fa.js";/** +import{e as V,k as $,r as p,g as j,h as A,c as o,a as e,i as c,b as n,d as b,u as r,F as E,j as F,l as z,t as u,m as _,v as D,B as U,p as q,o as a,U as G}from"#entry";import{u as H}from"./C_U-NUAd.js";import{L as S}from"./CUq_0rkE.js";import{G as C}from"./KxVBmS-6.js";import{C as W}from"./YJHbYJtA.js";import{S as P,T as K}from"./CGpRzXRB.js";import{N as O}from"./DAACT36i.js";import{A as R}from"./C8kQt0fa.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 J=V("PlusIcon",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),Q={class:"min-h-full py-16 bg-gray-50"},X={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},Y={class:"flex justify-between items-center mb-6"},Z={key:0,class:"flex items-center justify-center py-12"},ee={key:1,class:"space-y-6"},te={class:"flex justify-between items-start mb-4"},se={class:"flex-1"},le={class:"flex items-center space-x-3 mb-2"},ae={class:"text-2xl font-display font-bold text-gray-900"},oe={key:0,class:"px-3 py-1 bg-blue-100 text-blue-800 text-xs font-semibold rounded-full flex items-center"},re={class:"flex items-center text-sm text-gray-500 space-x-4"},ne={class:"flex items-center"},ie={class:"flex items-center"},de={key:0,class:"flex items-center"},ce={key:0,class:"flex space-x-2 ml-4"},ue=["onClick"],me=["onClick"],pe={class:"prose prose-lg max-w-none text-gray-700 whitespace-pre-wrap"},fe={key:0,class:"text-center py-12"},be={key:0,class:"text-gray-400 text-sm mt-2"},xe={class:"bg-white rounded-xl shadow-2xl max-w-3xl w-full p-8 max-h-[90vh] overflow-y-auto"},ve={class:"text-2xl font-display font-bold text-gray-900 mb-6"},he=["disabled"],ye=["disabled"],ge={class:"flex items-center space-x-3 p-4 bg-blue-50 rounded-lg border border-blue-200"},we=["disabled"],_e={for:"isPublic",class:"text-sm font-medium text-gray-900 cursor-pointer flex-1"},ke={class:"flex items-center"},Ne={key:0,class:"flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm"},ze={class:"flex justify-end space-x-4 pt-4"},De=["disabled"],Se=["disabled"],je={__name:"news",setup(Ce){const k=$(),v=p(!0),i=p(!1),h=p([]),x=p(!1),b=p(null),m=p(""),d=p({title:"",content:"",isPublic:!1}),y=j(()=>k.role==="admin"||k.role==="vorstand"),g=async()=>{v.value=!0;try{const s=await $fetch("/api/news");h.value=s.news}catch(s){console.error("Fehler beim Laden der News:",s)}finally{v.value=!1}},M=()=>{b.value=null,d.value={title:"",content:"",isPublic:!1},x.value=!0,m.value=""},L=s=>{b.value=s,d.value={title:s.title,content:s.content,isPublic:s.isPublic||!1},x.value=!0,m.value=""},w=()=>{x.value=!1,b.value=null,m.value=""},I=async()=>{i.value=!0,m.value="";try{await $fetch("/api/news",{method:"POST",body:{id:b.value?.id,...d.value}}),w(),await g()}catch(s){m.value=s.data?.message||"Fehler beim Speichern der News."}finally{i.value=!1}},T=async s=>{if(console.log("Delete item:",s),console.log("Delete item.id:",s.id),!!confirm(`Möchten Sie die News "${s.title}" wirklich löschen?`)){if(!s.id){alert("Fehler: News-ID fehlt!");return}try{console.log("Deleting with ID:",s.id),await $fetch(`/api/news?id=${encodeURIComponent(s.id)}`,{method:"DELETE"}),await g()}catch(t){console.error("Delete error:",t),alert("Fehler beim Löschen der News: "+(t.data?.message||t.message))}}},N=s=>s?new Date(s).toLocaleDateString("de-DE",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):"";return A(()=>{g()}),H({title:"Interne News - Harheimer TC"}),(s,t)=>(a(),o("div",Q,[e("div",X,[e("div",Y,[t[4]||(t[4]=e("div",null,[e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-2"}," Interne News "),e("div",{class:"w-24 h-1 bg-primary-600 mb-4"})],-1)),y.value?(a(),o("button",{key:0,onClick:M,class:"flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},[n(r(J),{size:20,class:"mr-2"}),t[3]||(t[3]=f(" News erstellen ",-1))])):c("",!0)]),v.value?(a(),o("div",Z,[n(r(S),{size:40,class:"animate-spin text-primary-600"})])):(a(),o("div",ee,[(a(!0),o(E,null,F(h.value,l=>(a(),o("article",{key:l.id,class:"bg-white rounded-xl shadow-lg p-6 border border-gray-100"},[e("div",te,[e("div",se,[e("div",le,[e("h2",ae,u(l.title),1),l.isPublic?(a(),o("span",oe,[n(r(C),{size:14,class:"mr-1"}),t[5]||(t[5]=f(" Öffentlich ",-1))])):c("",!0)]),e("div",re,[e("div",ne,[n(r(G),{size:16,class:"mr-1"}),f(" "+u(l.author),1)]),e("div",ie,[n(r(W),{size:16,class:"mr-1"}),f(" "+u(N(l.created)),1)]),l.updated!==l.created?(a(),o("div",de,[n(r(P),{size:16,class:"mr-1"}),f(" Aktualisiert: "+u(N(l.updated)),1)])):c("",!0)])]),y.value?(a(),o("div",ce,[e("button",{onClick:B=>L(l),class:"p-2 text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",title:"Bearbeiten"},[n(r(P),{size:20})],8,ue),e("button",{onClick:B=>T(l),class:"p-2 text-red-600 hover:bg-red-50 rounded-lg transition-colors",title:"Löschen"},[n(r(K),{size:20})],8,me)])):c("",!0)]),e("div",pe,u(l.content),1)]))),128)),h.value.length===0?(a(),o("div",fe,[n(r(O),{size:48,class:"mx-auto text-gray-400 mb-4"}),t[6]||(t[6]=e("p",{class:"text-gray-500 text-lg"},"Noch keine internen News vorhanden.",-1)),y.value?(a(),o("p",be,' Klicken Sie auf "News erstellen", um die erste News zu veröffentlichen. ')):c("",!0)])):c("",!0)])),x.value?(a(),o("div",{key:2,class:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",onClick:z(w,["self"])},[e("div",xe,[e("h2",ve,u(b.value?"News bearbeiten":"News erstellen"),1),e("form",{onSubmit:z(I,["prevent"]),class:"space-y-4"},[e("div",null,[t[7]||(t[7]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Titel *",-1)),_(e("input",{"onUpdate:modelValue":t[0]||(t[0]=l=>d.value.title=l),type:"text",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:i.value},null,8,he),[[D,d.value.title]])]),e("div",null,[t[8]||(t[8]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Inhalt *",-1)),_(e("textarea",{"onUpdate:modelValue":t[1]||(t[1]=l=>d.value.content=l),rows:"12",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:i.value},null,8,ye),[[D,d.value.content]])]),e("div",ge,[_(e("input",{id:"isPublic","onUpdate:modelValue":t[2]||(t[2]=l=>d.value.isPublic=l),type:"checkbox",class:"w-5 h-5 text-primary-600 border-gray-300 rounded focus:ring-primary-500",disabled:i.value},null,8,we),[[U,d.value.isPublic]]),e("label",_e,[e("div",ke,[n(r(C),{size:18,class:"mr-2 text-blue-600"}),t[9]||(t[9]=e("span",null,"Öffentliche News (auf Startseite anzeigen)",-1))]),t[10]||(t[10]=e("p",{class:"text-xs text-gray-600 mt-1 ml-6"}," Wenn aktiviert, wird diese News auch für nicht angemeldete Besucher auf der Startseite sichtbar. ",-1))])]),m.value?(a(),o("div",Ne,[n(r(R),{size:20,class:"mr-2"}),f(" "+u(m.value),1)])):c("",!0),e("div",ze,[e("button",{type:"button",onClick:w,class:"px-6 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors",disabled:i.value}," Abbrechen ",8,De),e("button",{type:"submit",class:"px-6 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors flex items-center",disabled:i.value},[i.value?(a(),q(r(S),{key:0,size:20,class:"animate-spin mr-2"})):c("",!0),e("span",null,u(i.value?"Speichert...":"Speichern"),1)],8,Se)])],32)])])):c("",!0)])]))}};export{je as default}; + */const J=V("PlusIcon",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]),Q={class:"min-h-full py-16 bg-gray-50"},X={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},Y={class:"flex justify-between items-center mb-6"},Z={key:0,class:"flex items-center justify-center py-12"},ee={key:1,class:"space-y-6"},te={class:"flex justify-between items-start mb-4"},se={class:"flex-1"},le={class:"flex items-center space-x-3 mb-2"},ae={class:"text-2xl font-display font-bold text-gray-900"},oe={key:0,class:"px-3 py-1 bg-blue-100 text-blue-800 text-xs font-semibold rounded-full flex items-center"},re={class:"flex items-center text-sm text-gray-500 space-x-4"},ne={class:"flex items-center"},ie={class:"flex items-center"},de={key:0,class:"flex items-center"},ce={key:0,class:"flex space-x-2 ml-4"},ue=["onClick"],me=["onClick"],pe={class:"prose prose-lg max-w-none text-gray-700 whitespace-pre-wrap"},be={key:0,class:"text-center py-12"},fe={key:0,class:"text-gray-400 text-sm mt-2"},xe={class:"bg-white rounded-xl shadow-2xl max-w-3xl w-full p-8 max-h-[90vh] overflow-y-auto"},ve={class:"text-2xl font-display font-bold text-gray-900 mb-6"},he=["disabled"],ye=["disabled"],ge={class:"flex items-center space-x-3 p-4 bg-blue-50 rounded-lg border border-blue-200"},we=["disabled"],_e={for:"isPublic",class:"text-sm font-medium text-gray-900 cursor-pointer flex-1"},ke={class:"flex items-center"},Ne={key:0,class:"flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm"},ze={class:"flex justify-end space-x-4 pt-4"},De=["disabled"],Se=["disabled"],je={__name:"news",setup(Ce){const k=$(),v=p(!0),i=p(!1),h=p([]),x=p(!1),f=p(null),m=p(""),d=p({title:"",content:"",isPublic:!1}),y=j(()=>k.role==="admin"||k.role==="vorstand"),g=async()=>{v.value=!0;try{const s=await $fetch("/api/news");h.value=s.news}catch(s){console.error("Fehler beim Laden der News:",s)}finally{v.value=!1}},M=()=>{f.value=null,d.value={title:"",content:"",isPublic:!1},x.value=!0,m.value=""},L=s=>{f.value=s,d.value={title:s.title,content:s.content,isPublic:s.isPublic||!1},x.value=!0,m.value=""},w=()=>{x.value=!1,f.value=null,m.value=""},I=async()=>{i.value=!0,m.value="";try{await $fetch("/api/news",{method:"POST",body:{id:f.value?.id,...d.value}}),w(),await g()}catch(s){m.value=s.data?.message||"Fehler beim Speichern der News."}finally{i.value=!1}},T=async s=>{if(console.log("Delete item:",s),console.log("Delete item.id:",s.id),!!confirm(`Möchten Sie die News "${s.title}" wirklich löschen?`)){if(!s.id){alert("Fehler: News-ID fehlt!");return}try{console.log("Deleting with ID:",s.id),await $fetch(`/api/news?id=${encodeURIComponent(s.id)}`,{method:"DELETE"}),await g()}catch(t){console.error("Delete error:",t),alert("Fehler beim Löschen der News: "+(t.data?.message||t.message))}}},N=s=>s?new Date(s).toLocaleDateString("de-DE",{year:"numeric",month:"long",day:"numeric",hour:"2-digit",minute:"2-digit"}):"";return A(()=>{g()}),H({title:"Interne News - Harheimer TC"}),(s,t)=>(a(),o("div",Q,[e("div",X,[e("div",Y,[t[4]||(t[4]=e("div",null,[e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-2"}," Interne News "),e("div",{class:"w-24 h-1 bg-primary-600 mb-4"})],-1)),y.value?(a(),o("button",{key:0,onClick:M,class:"flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},[n(r(J),{size:20,class:"mr-2"}),t[3]||(t[3]=b(" News erstellen ",-1))])):c("",!0)]),v.value?(a(),o("div",Z,[n(r(S),{size:40,class:"animate-spin text-primary-600"})])):(a(),o("div",ee,[(a(!0),o(E,null,F(h.value,l=>(a(),o("article",{key:l.id,class:"bg-white rounded-xl shadow-lg p-6 border border-gray-100"},[e("div",te,[e("div",se,[e("div",le,[e("h2",ae,u(l.title),1),l.isPublic?(a(),o("span",oe,[n(r(C),{size:14,class:"mr-1"}),t[5]||(t[5]=b(" Öffentlich ",-1))])):c("",!0)]),e("div",re,[e("div",ne,[n(r(G),{size:16,class:"mr-1"}),b(" "+u(l.author),1)]),e("div",ie,[n(r(W),{size:16,class:"mr-1"}),b(" "+u(N(l.created)),1)]),l.updated!==l.created?(a(),o("div",de,[n(r(P),{size:16,class:"mr-1"}),b(" Aktualisiert: "+u(N(l.updated)),1)])):c("",!0)])]),y.value?(a(),o("div",ce,[e("button",{onClick:B=>L(l),class:"p-2 text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",title:"Bearbeiten"},[n(r(P),{size:20})],8,ue),e("button",{onClick:B=>T(l),class:"p-2 text-red-600 hover:bg-red-50 rounded-lg transition-colors",title:"Löschen"},[n(r(K),{size:20})],8,me)])):c("",!0)]),e("div",pe,u(l.content),1)]))),128)),h.value.length===0?(a(),o("div",be,[n(r(O),{size:48,class:"mx-auto text-gray-400 mb-4"}),t[6]||(t[6]=e("p",{class:"text-gray-500 text-lg"},"Noch keine internen News vorhanden.",-1)),y.value?(a(),o("p",fe,' Klicken Sie auf "News erstellen", um die erste News zu veröffentlichen. ')):c("",!0)])):c("",!0)])),x.value?(a(),o("div",{key:2,class:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",onClick:z(w,["self"])},[e("div",xe,[e("h2",ve,u(f.value?"News bearbeiten":"News erstellen"),1),e("form",{onSubmit:z(I,["prevent"]),class:"space-y-4"},[e("div",null,[t[7]||(t[7]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Titel *",-1)),_(e("input",{"onUpdate:modelValue":t[0]||(t[0]=l=>d.value.title=l),type:"text",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:i.value},null,8,he),[[D,d.value.title]])]),e("div",null,[t[8]||(t[8]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Inhalt *",-1)),_(e("textarea",{"onUpdate:modelValue":t[1]||(t[1]=l=>d.value.content=l),rows:"12",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:i.value},null,8,ye),[[D,d.value.content]])]),e("div",ge,[_(e("input",{id:"isPublic","onUpdate:modelValue":t[2]||(t[2]=l=>d.value.isPublic=l),type:"checkbox",class:"w-5 h-5 text-primary-600 border-gray-300 rounded focus:ring-primary-500",disabled:i.value},null,8,we),[[U,d.value.isPublic]]),e("label",_e,[e("div",ke,[n(r(C),{size:18,class:"mr-2 text-blue-600"}),t[9]||(t[9]=e("span",null,"Öffentliche News (auf Startseite anzeigen)",-1))]),t[10]||(t[10]=e("p",{class:"text-xs text-gray-600 mt-1 ml-6"}," Wenn aktiviert, wird diese News auch für nicht angemeldete Besucher auf der Startseite sichtbar. ",-1))])]),m.value?(a(),o("div",Ne,[n(r(R),{size:20,class:"mr-2"}),b(" "+u(m.value),1)])):c("",!0),e("div",ze,[e("button",{type:"button",onClick:w,class:"px-6 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors",disabled:i.value}," Abbrechen ",8,De),e("button",{type:"submit",class:"px-6 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors flex items-center",disabled:i.value},[i.value?(a(),q(r(S),{key:0,size:20,class:"animate-spin mr-2"})):c("",!0),e("span",null,u(i.value?"Speichert...":"Speichern"),1)],8,Se)])],32)])])):c("",!0)])]))}};export{je as default}; diff --git a/.output/public/_nuxt/DjHhXTxu.js b/.output/public/_nuxt/DxIIJuzj.js similarity index 95% rename from .output/public/_nuxt/DjHhXTxu.js rename to .output/public/_nuxt/DxIIJuzj.js index ab69a1a..b43c8e7 100644 --- a/.output/public/_nuxt/DjHhXTxu.js +++ b/.output/public/_nuxt/DxIIJuzj.js @@ -1 +1 @@ -import{r as o,c as d,a as e,k as b,h as u,l as y,v as h,n as _,b as m,d as c,u as p,t as g,m as w,w as k,_ as z,o as i}from"#entry";import{u as M}from"./C_U-NUAd.js";import{A as E}from"./C8kQt0fa.js";import{C}from"./DaSgy0Cl.js";import{L as A}from"./CUq_0rkE.js";const L={class:"min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},P={class:"max-w-md w-full space-y-8"},S={class:"bg-white rounded-xl shadow-lg p-8"},B={key:0,class:"bg-red-50 border border-red-200 rounded-lg p-4"},N={class:"text-sm text-red-800 flex items-center"},V={key:1,class:"bg-green-50 border border-green-200 rounded-lg p-4"},I={class:"text-sm text-green-800 flex items-center"},T=["disabled"],j={class:"text-center"},O={__name:"passwort-vergessen",setup(D){const a=o(""),t=o(!1),r=o(""),l=o(""),x=async()=>{t.value=!0,r.value="",l.value="";try{(await $fetch("/api/auth/reset-password",{method:"POST",body:{email:a.value}})).success&&(l.value="Eine E-Mail mit weiteren Anweisungen wurde an Ihre E-Mail-Adresse gesendet.",a.value="")}catch(n){r.value=n.data?.message||"Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."}finally{t.value=!1}};return M({title:"Passwort vergessen - Harheimer TC"}),(n,s)=>{const f=z;return i(),d("div",L,[e("div",P,[s[3]||(s[3]=e("div",{class:"text-center"},[e("h2",{class:"text-3xl font-display font-bold text-gray-900"}," Passwort zurücksetzen "),e("p",{class:"mt-2 text-sm text-gray-600"}," Geben Sie Ihre E-Mail-Adresse ein, um Ihr Passwort zurückzusetzen ")],-1)),e("div",S,[e("form",{onSubmit:b(x,["prevent"]),class:"space-y-6"},[e("div",null,[s[1]||(s[1]=e("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),y(e("input",{id:"email","onUpdate:modelValue":s[0]||(s[0]=v=>a.value=v),type:"email",required:"",autocomplete:"email",class:_(["w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all",{"border-red-500":r.value}]),placeholder:"ihre-email@example.com"},null,2),[[h,a.value]])]),r.value?(i(),d("div",B,[e("p",N,[m(p(E),{size:18,class:"mr-2"}),c(" "+g(r.value),1)])])):u("",!0),l.value?(i(),d("div",V,[e("p",I,[m(p(C),{size:18,class:"mr-2"}),c(" "+g(l.value),1)])])):u("",!0),e("button",{type:"submit",disabled:t.value,class:"w-full px-6 py-3 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 text-white font-semibold rounded-lg transition-colors flex items-center justify-center"},[t.value?(i(),w(p(A),{key:0,size:20,class:"mr-2 animate-spin"})):u("",!0),e("span",null,g(t.value?"Wird gesendet...":"Passwort zurücksetzen"),1)],8,T),e("div",j,[m(f,{to:"/login",class:"text-sm text-primary-600 hover:text-primary-700 font-medium"},{default:k(()=>[...s[2]||(s[2]=[c(" Zurück zum Login ",-1)])]),_:1})])],32)]),s[4]||(s[4]=e("div",{class:"bg-primary-50 border border-primary-100 rounded-lg p-4"},[e("p",{class:"text-sm text-primary-800 text-center"}," Sie erhalten eine E-Mail mit einem Link zum Zurücksetzen Ihres Passworts. ")],-1))])])}}};export{O as default}; +import{r as o,c as d,a as e,l as b,i as u,m as y,v as h,n as _,b as m,d as c,u as p,t as g,p as w,w as k,_ as z,o as i}from"#entry";import{u as M}from"./C_U-NUAd.js";import{A as E}from"./C8kQt0fa.js";import{C}from"./DaSgy0Cl.js";import{L as A}from"./CUq_0rkE.js";const L={class:"min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},P={class:"max-w-md w-full space-y-8"},S={class:"bg-white rounded-xl shadow-lg p-8"},B={key:0,class:"bg-red-50 border border-red-200 rounded-lg p-4"},N={class:"text-sm text-red-800 flex items-center"},V={key:1,class:"bg-green-50 border border-green-200 rounded-lg p-4"},I={class:"text-sm text-green-800 flex items-center"},T=["disabled"],j={class:"text-center"},O={__name:"passwort-vergessen",setup(D){const a=o(""),t=o(!1),r=o(""),l=o(""),x=async()=>{t.value=!0,r.value="",l.value="";try{(await $fetch("/api/auth/reset-password",{method:"POST",body:{email:a.value}})).success&&(l.value="Eine E-Mail mit weiteren Anweisungen wurde an Ihre E-Mail-Adresse gesendet.",a.value="")}catch(n){r.value=n.data?.message||"Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."}finally{t.value=!1}};return M({title:"Passwort vergessen - Harheimer TC"}),(n,s)=>{const f=z;return i(),d("div",L,[e("div",P,[s[3]||(s[3]=e("div",{class:"text-center"},[e("h2",{class:"text-3xl font-display font-bold text-gray-900"}," Passwort zurücksetzen "),e("p",{class:"mt-2 text-sm text-gray-600"}," Geben Sie Ihre E-Mail-Adresse ein, um Ihr Passwort zurückzusetzen ")],-1)),e("div",S,[e("form",{onSubmit:b(x,["prevent"]),class:"space-y-6"},[e("div",null,[s[1]||(s[1]=e("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),y(e("input",{id:"email","onUpdate:modelValue":s[0]||(s[0]=v=>a.value=v),type:"email",required:"",autocomplete:"email",class:_(["w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all",{"border-red-500":r.value}]),placeholder:"ihre-email@example.com"},null,2),[[h,a.value]])]),r.value?(i(),d("div",B,[e("p",N,[m(p(E),{size:18,class:"mr-2"}),c(" "+g(r.value),1)])])):u("",!0),l.value?(i(),d("div",V,[e("p",I,[m(p(C),{size:18,class:"mr-2"}),c(" "+g(l.value),1)])])):u("",!0),e("button",{type:"submit",disabled:t.value,class:"w-full px-6 py-3 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 text-white font-semibold rounded-lg transition-colors flex items-center justify-center"},[t.value?(i(),w(p(A),{key:0,size:20,class:"mr-2 animate-spin"})):u("",!0),e("span",null,g(t.value?"Wird gesendet...":"Passwort zurücksetzen"),1)],8,T),e("div",j,[m(f,{to:"/login",class:"text-sm text-primary-600 hover:text-primary-700 font-medium"},{default:k(()=>[...s[2]||(s[2]=[c(" Zurück zum Login ",-1)])]),_:1})])],32)]),s[4]||(s[4]=e("div",{class:"bg-primary-50 border border-primary-100 rounded-lg p-4"},[e("p",{class:"text-sm text-primary-800 text-center"}," Sie erhalten eine E-Mail mit einem Link zum Zurücksetzen Ihres Passworts. ")],-1))])])}}};export{O as default}; diff --git a/.output/public/_nuxt/KD1G0xGW.js b/.output/public/_nuxt/KD1G0xGW.js new file mode 100644 index 0000000..48e2f17 --- /dev/null +++ b/.output/public/_nuxt/KD1G0xGW.js @@ -0,0 +1,7 @@ +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 _,d as b,_ 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"}]]),j={},I={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"};function K(f,a){return l(),i("section",I,[...a[0]||(a[0]=[S('

Willkommen beim
Harheimer TC

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

',3)])])}const F=Object.assign(k(j,[["render",K],["__scopeId","data-v-ff244c06"]]),{__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(f){const a=$([]),t=H(()=>{const s=new Date;console.log("Heute ist:",s.toISOString().split("T")[0]);const r=a.value.filter(c=>{const p=new Date(c.datum)>=s;return console.log(`Termin ${c.titel} (${c.datum}): ${p?"KOMMEND":"VERSTRICHEN"}`),p}).sort((c,o)=>new Date(c.datum)-new Date(o.datum));return console.log("Kommende Termine:",r),r}),m=s=>new Date(s).getDate(),d=s=>{const r=new Date(s);return["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"][r.getMonth()]},h=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 c=r.split(` +`).filter(o=>o.trim()!=="");if(console.log("CSV Lines:",c),c.length<2){console.log("Keine Datenzeilen gefunden");return}a.value=c.slice(1).map((o,p)=>{const g=o.replace(/"/g,"").split(",");if(g.length<4)return console.log(`Zeile ${p+2} hat zu wenige Werte:`,g),null;const w={datum:g[0].trim(),titel:g[1].trim(),beschreibung:g[2].trim(),kategorie:g[3].trim()};return console.log(`Termin ${p+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(()=>{h()}),(s,r)=>{const c=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,p)=>(l(),i("div",{key:p,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(d(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(c,{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:_(()=>[r[1]||(r[1]=b(" 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(f){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:_(()=>[t[0]||(t[0]=b(" 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(f){const a=$([]),t=async()=>{try{const d=await $fetch("/api/news-public");a.value=d.news}catch(d){console.error("Fehler beim Laden der öffentlichen News:",d)}},m=d=>d?new Date(d).toLocaleDateString("de-DE",{year:"numeric",month:"long",day:"numeric"}):"";return T(()=>{t()}),(d,h)=>a.value.length>0?(l(),i("section",ee,[e("div",te,[h[0]||(h[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"}),b(" "+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"},ce={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},de={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"},pe={class:"flex items-center mb-4"},ge={class:"w-16 h-16 bg-primary-100 rounded-xl flex items-center justify-center group-hover:bg-primary-600 transition-colors"},fe={class:"flex items-center text-primary-600 font-semibold group-hover:translate-x-2 transition-transform"},he={__name:"HomeActions",setup(f){return(a,t)=>{const m=v;return l(),i("section",le,[e("div",ce,[e("div",de,[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:_(()=>[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]=b(" 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:_(()=>[e("div",pe,[e("div",ge,[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",fe,[t[4]||(t[4]=b(" Jetzt kontaktieren ",-1)),n(x(y),{size:20,class:"ml-2"})])]),_:1})])])])}}},be={class:"min-h-full"},Te={__name:"index",setup(f){return(a,t)=>(l(),i("div",be,[n(F),n(Y),n(ie),n(he)]))}};export{Te as default}; diff --git a/.output/public/_nuxt/SRZHqrjk.js b/.output/public/_nuxt/SRZHqrjk.js deleted file mode 100644 index 4c99501..0000000 --- a/.output/public/_nuxt/SRZHqrjk.js +++ /dev/null @@ -1,11 +0,0 @@ -import{e as a}from"#entry";/** - * @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 o=a("MailIcon",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/** - * @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 t=a("PhoneIcon",[["path",{d:"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z",key:"foiqr5"}]]);export{o as M,t as P}; diff --git a/.output/public/_nuxt/builds/latest.json b/.output/public/_nuxt/builds/latest.json index 78ed9c5..9b0a460 100644 --- a/.output/public/_nuxt/builds/latest.json +++ b/.output/public/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"b481f44a-53e1-4bb6-af09-f69e4ce348a6","timestamp":1761053281339} \ No newline at end of file +{"id":"91a49fd2-e68d-45c2-a8dc-fb93d147c1ef","timestamp":1761053868070} \ No newline at end of file diff --git a/.output/public/_nuxt/builds/meta/91a49fd2-e68d-45c2-a8dc-fb93d147c1ef.json b/.output/public/_nuxt/builds/meta/91a49fd2-e68d-45c2-a8dc-fb93d147c1ef.json new file mode 100644 index 0000000..dc6aa4c --- /dev/null +++ b/.output/public/_nuxt/builds/meta/91a49fd2-e68d-45c2-a8dc-fb93d147c1ef.json @@ -0,0 +1 @@ +{"id":"91a49fd2-e68d-45c2-a8dc-fb93d147c1ef","timestamp":1761053868070,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]} \ No newline at end of file diff --git a/.output/public/_nuxt/builds/meta/b481f44a-53e1-4bb6-af09-f69e4ce348a6.json b/.output/public/_nuxt/builds/meta/b481f44a-53e1-4bb6-af09-f69e4ce348a6.json deleted file mode 100644 index 2c7b333..0000000 --- a/.output/public/_nuxt/builds/meta/b481f44a-53e1-4bb6-af09-f69e4ce348a6.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"b481f44a-53e1-4bb6-af09-f69e4ce348a6","timestamp":1761053281339,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]} \ No newline at end of file diff --git a/.output/public/_nuxt/entry.DJ18GRwo.css b/.output/public/_nuxt/entry.DJ18GRwo.css new file mode 100644 index 0000000..3674c4a --- /dev/null +++ b/.output/public/_nuxt/entry.DJ18GRwo.css @@ -0,0 +1 @@ +*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}progress{vertical-align:initial}.border-transparent{border-color:#0000}.bg-primary-200\/30{background-color:#fecaca4d}.from-black\/60{--tw-gradient-from:#0009 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/70{--tw-gradient-from:#000000b3 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:#60a5fa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:#22d3ee00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:#f9fafb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:#11182700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:#4ade8000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:#22c55e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:#f9731600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:#ec489900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-200{--tw-gradient-from:#fecaca var(--tw-gradient-from-position);--tw-gradient-to:#fecaca00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-50{--tw-gradient-from:#fef2f2 var(--tw-gradient-from-position);--tw-gradient-to:#fef2f200 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-600{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:#dc262600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:#c084fc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:#f8717100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:#facc1500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:#eab30800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#0003 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-400{--tw-gradient-to:#f8717100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f87171 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-900{--tw-gradient-to:#7f1d1d00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-primary-100\/50{--tw-gradient-to:#fee2e280 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:border-transparent:focus{border-color:#0000}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}html{font-family:Inter,system-ui,sans-serif;scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{font-family:Montserrat,system-ui,sans-serif}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[3rem\]{min-height:3rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-5\/12{width:41.666667%}.w-6{width:1.5rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.w-px{width:1px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[80vw\]{max-width:80vw}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2{--tw-translate-y:-.5rem}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y:.5rem}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-105,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-primary-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-primary-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-primary-700\/20{border-color:#b91c1c33}.border-primary-700\/30{border-color:#b91c1c4d}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.bg-black\/50{background-color:#00000080}.bg-black\/90{background-color:#000000e6}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-300\/30{background-color:#d1d5db4d}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-primary-200\/30{background-color:#fec8c84d}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-primary-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-primary-900\/30{background-color:#7f1d1d4d}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:#fff3}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/60{--tw-gradient-from:rgba(0,0,0,.6) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/70{--tw-gradient-from:rgba(0,0,0,.7) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,211,238,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-200{--tw-gradient-from:#fecaca var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,96%,89%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-50{--tw-gradient-from:#fef2f2 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,86%,97%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-600{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,38,38,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-400{--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f87171 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-900{--tw-gradient-to:rgba(127,29,29,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-cyan-500{--tw-gradient-to:#06b6d4 var(--tw-gradient-to-position)}.to-cyan-600{--tw-gradient-to:#0891b2 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to:#f3f4f6 var(--tw-gradient-to-position)}.to-gray-50{--tw-gradient-to:#f9fafb var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to:#111827 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.to-primary-100\/50{--tw-gradient-to:hsla(0,93%,94%,.5) var(--tw-gradient-to-position)}.to-primary-200{--tw-gradient-to:#fecaca var(--tw-gradient-to-position)}.to-primary-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-primary-700{--tw-gradient-to:#b91c1c var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-4{padding-left:1rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:Montserrat,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-primary-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-primary-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-primary-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-primary-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-primary-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2,.ring-4{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-primary-500{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#dc2626;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#b91c1c}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-primary-600:hover{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-primary-700\/50:hover{background-color:#b91c1c80}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-primary-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-primary-800:hover,.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-primary-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-400:disabled{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.group:hover .group-hover\:translate-x-2{--tw-translate-x:.5rem}.group:hover .group-hover\:scale-110,.group:hover .group-hover\:translate-x-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:bg-primary-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-primary-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:block{display:block}.sm\:h-\[500px\]{height:500px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:p-12{padding:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-20{padding-bottom:5rem;padding-top:5rem}.sm\:py-32{padding-bottom:8rem;padding-top:8rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-5\/12{width:41.666667%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pl-12{padding-left:3rem}.lg\:pr-12{padding-right:3rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}}@media(min-width:1280px){.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}} diff --git a/.output/public/_nuxt/entry.IG_VkyCs.css b/.output/public/_nuxt/entry.IG_VkyCs.css deleted file mode 100644 index b33f7c7..0000000 --- a/.output/public/_nuxt/entry.IG_VkyCs.css +++ /dev/null @@ -1 +0,0 @@ -*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;tab-size:4;-webkit-tap-highlight-color:transparent}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}progress{vertical-align:initial}.bg-primary-200\/30{background-color:#fecaca4d}.from-black\/60{--tw-gradient-from:#0009 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/70{--tw-gradient-from:#000000b3 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:#60a5fa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:#22d3ee00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:#f9fafb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:#11182700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:#4ade8000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:#22c55e00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:#f9731600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:#ec489900 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-200{--tw-gradient-from:#fecaca var(--tw-gradient-from-position);--tw-gradient-to:#fecaca00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-50{--tw-gradient-from:#fef2f2 var(--tw-gradient-from-position);--tw-gradient-to:#fef2f200 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-600{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:#dc262600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:#c084fc00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:#a855f700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:#f8717100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:#fff0 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:#facc1500 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:#eab30800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#0003 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-400{--tw-gradient-to:#f8717100 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f87171 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-900{--tw-gradient-to:#7f1d1d00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-primary-100\/50{--tw-gradient-to:#fee2e280 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:#0000 var(--tw-gradient-to-position)}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px #00000040;--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:border-transparent:focus{border-color:#0000}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}html{font-family:Inter,system-ui,sans-serif;scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{font-family:Montserrat,system-ui,sans-serif}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.bottom-0{bottom:0}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.bottom-8{bottom:2rem}.bottom-full{bottom:100%}.left-0{left:0}.left-1\/2{left:50%}.left-4{left:1rem}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-4{top:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-bottom:.5rem;margin-top:.5rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-6{margin-left:1.5rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-3{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-20{height:5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-8{height:2rem}.h-96{height:24rem}.h-\[300px\]{height:300px}.h-\[400px\]{height:400px}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[90vh\]{max-height:90vh}.min-h-\[3rem\]{min-height:3rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0\.5{width:.125rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-20{width:5rem}.w-24{width:6rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-5\/12{width:41.666667%}.w-6{width:1.5rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.w-px{width:1px}.min-w-full{min-width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-\[80vw\]{max-width:80vw}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2{--tw-translate-y:-.5rem}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-2{--tw-translate-y:.5rem}.rotate-0{--tw-rotate:0deg}.rotate-0,.rotate-180{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg}.scale-105{--tw-scale-x:1.05;--tw-scale-y:1.05}.scale-105,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.animate-bounce{animation:bounce 1s infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1.5rem*var(--tw-space-x-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(3rem*var(--tw-space-y-reverse));margin-top:calc(3rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-200>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis}.truncate,.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-bl-lg{border-bottom-left-radius:.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-4{border-width:4px}.border-b-2{border-bottom-width:2px}.border-l-4{border-left-width:4px}.border-t{border-top-width:1px}.border-blue-200{--tw-border-opacity:1;border-color:rgb(191 219 254/var(--tw-border-opacity,1))}.border-blue-300{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.border-gray-400{--tw-border-opacity:1;border-color:rgb(156 163 175/var(--tw-border-opacity,1))}.border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.border-green-200{--tw-border-opacity:1;border-color:rgb(187 247 208/var(--tw-border-opacity,1))}.border-orange-200{--tw-border-opacity:1;border-color:rgb(254 215 170/var(--tw-border-opacity,1))}.border-primary-100{--tw-border-opacity:1;border-color:rgb(254 226 226/var(--tw-border-opacity,1))}.border-primary-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-primary-600{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.border-primary-700\/20{border-color:#b91c1c33}.border-primary-700\/30{border-color:#b91c1c4d}.border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.border-red-300{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-yellow-200{--tw-border-opacity:1;border-color:rgb(254 240 138/var(--tw-border-opacity,1))}.border-yellow-400{--tw-border-opacity:1;border-color:rgb(250 204 21/var(--tw-border-opacity,1))}.bg-black\/50{background-color:#00000080}.bg-black\/90{background-color:#000000e6}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.bg-gray-300\/30{background-color:#d1d5db4d}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.bg-green-100{--tw-bg-opacity:1;background-color:rgb(220 252 231/var(--tw-bg-opacity,1))}.bg-green-50{--tw-bg-opacity:1;background-color:rgb(240 253 244/var(--tw-bg-opacity,1))}.bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.bg-orange-100{--tw-bg-opacity:1;background-color:rgb(255 237 213/var(--tw-bg-opacity,1))}.bg-orange-50{--tw-bg-opacity:1;background-color:rgb(255 247 237/var(--tw-bg-opacity,1))}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-primary-200\/30{background-color:#fec8c84d}.bg-primary-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-primary-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-primary-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.bg-primary-900\/30{background-color:#7f1d1d4d}.bg-purple-100{--tw-bg-opacity:1;background-color:rgb(243 232 255/var(--tw-bg-opacity,1))}.bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:#fff3}.bg-yellow-100{--tw-bg-opacity:1;background-color:rgb(254 249 195/var(--tw-bg-opacity,1))}.bg-yellow-50{--tw-bg-opacity:1;background-color:rgb(254 252 232/var(--tw-bg-opacity,1))}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-black\/60{--tw-gradient-from:rgba(0,0,0,.6) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-black\/70{--tw-gradient-from:rgba(0,0,0,.7) var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-400{--tw-gradient-from:#60a5fa var(--tw-gradient-from-position);--tw-gradient-to:rgba(96,165,250,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-blue-500{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:rgba(59,130,246,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-cyan-400{--tw-gradient-from:#22d3ee var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,211,238,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-50{--tw-gradient-from:#f9fafb var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,250,251,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:rgba(17,24,39,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-400{--tw-gradient-from:#4ade80 var(--tw-gradient-from-position);--tw-gradient-to:rgba(74,222,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-green-500{--tw-gradient-from:#22c55e var(--tw-gradient-from-position);--tw-gradient-to:rgba(34,197,94,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-orange-500{--tw-gradient-from:#f97316 var(--tw-gradient-from-position);--tw-gradient-to:rgba(249,115,22,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-pink-500{--tw-gradient-from:#ec4899 var(--tw-gradient-from-position);--tw-gradient-to:rgba(236,72,153,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-200{--tw-gradient-from:#fecaca var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,96%,89%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-50{--tw-gradient-from:#fef2f2 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,86%,97%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-primary-600{--tw-gradient-from:#dc2626 var(--tw-gradient-from-position);--tw-gradient-to:rgba(220,38,38,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from:#c084fc var(--tw-gradient-from-position);--tw-gradient-to:rgba(192,132,252,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from:#a855f7 var(--tw-gradient-from-position);--tw-gradient-to:rgba(168,85,247,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-400{--tw-gradient-from:#f87171 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-red-500{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:rgba(239,68,68,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-white{--tw-gradient-from:#fff var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-400{--tw-gradient-from:#facc15 var(--tw-gradient-from-position);--tw-gradient-to:rgba(250,204,21,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-yellow-500{--tw-gradient-from:#eab308 var(--tw-gradient-from-position);--tw-gradient-to:rgba(234,179,8,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),rgba(0,0,0,.2) var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-400{--tw-gradient-to:hsla(0,91%,71%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#f87171 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-primary-900{--tw-gradient-to:rgba(127,29,29,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#7f1d1d var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-blue-600{--tw-gradient-to:#2563eb var(--tw-gradient-to-position)}.to-cyan-500{--tw-gradient-to:#06b6d4 var(--tw-gradient-to-position)}.to-cyan-600{--tw-gradient-to:#0891b2 var(--tw-gradient-to-position)}.to-emerald-500{--tw-gradient-to:#10b981 var(--tw-gradient-to-position)}.to-gray-100{--tw-gradient-to:#f3f4f6 var(--tw-gradient-to-position)}.to-gray-50{--tw-gradient-to:#f9fafb var(--tw-gradient-to-position)}.to-gray-900{--tw-gradient-to:#111827 var(--tw-gradient-to-position)}.to-green-600{--tw-gradient-to:#16a34a var(--tw-gradient-to-position)}.to-indigo-500{--tw-gradient-to:#6366f1 var(--tw-gradient-to-position)}.to-orange-500{--tw-gradient-to:#f97316 var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to:#ec4899 var(--tw-gradient-to-position)}.to-primary-100\/50{--tw-gradient-to:hsla(0,93%,94%,.5) var(--tw-gradient-to-position)}.to-primary-200{--tw-gradient-to:#fecaca var(--tw-gradient-to-position)}.to-primary-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-primary-700{--tw-gradient-to:#b91c1c var(--tw-gradient-to-position)}.to-purple-600{--tw-gradient-to:#9333ea var(--tw-gradient-to-position)}.to-red-500{--tw-gradient-to:#ef4444 var(--tw-gradient-to-position)}.to-red-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}.to-rose-500{--tw-gradient-to:#f43f5e var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.to-white{--tw-gradient-to:#fff var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:50%}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-12{padding-bottom:3rem;padding-top:3rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-4{padding-left:1rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:Montserrat,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity,1))}.text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-green-700{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.text-green-800{--tw-text-opacity:1;color:rgb(22 101 52/var(--tw-text-opacity,1))}.text-orange-800{--tw-text-opacity:1;color:rgb(154 52 18/var(--tw-text-opacity,1))}.text-primary-100{--tw-text-opacity:1;color:rgb(254 226 226/var(--tw-text-opacity,1))}.text-primary-400{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.text-primary-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-primary-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-primary-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-primary-900{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.text-purple-800{--tw-text-opacity:1;color:rgb(107 33 168/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-red-700{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.text-red-800{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.text-yellow-800{--tw-text-opacity:1;color:rgb(133 77 14/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-2xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-2,.ring-4{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-4{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-primary-500{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.blur-3xl{--tw-blur:blur(64px)}.blur-3xl,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-shadow{transition-duration:.15s;transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#dc2626;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#b91c1c}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05}.hover\:scale-105:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-primary-600:hover{--tw-border-opacity:1;border-color:rgb(220 38 38/var(--tw-border-opacity,1))}.hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.hover\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.hover\:bg-primary-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.hover\:bg-primary-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-primary-700\/50:hover{background-color:#b91c1c80}.hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.hover\:bg-white\/30:hover{background-color:#ffffff4d}.hover\:text-blue-900:hover{--tw-text-opacity:1;color:rgb(30 58 138/var(--tw-text-opacity,1))}.hover\:text-primary-400:hover{--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.hover\:text-primary-600:hover{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.hover\:text-primary-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.hover\:text-primary-800:hover,.hover\:text-red-800:hover{--tw-text-opacity:1;color:rgb(153 27 27/var(--tw-text-opacity,1))}.hover\:text-red-900:hover{--tw-text-opacity:1;color:rgb(127 29 29/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.hover\:shadow-2xl:hover,.hover\:shadow-lg:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.hover\:shadow-md:hover{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.hover\:shadow-md:hover,.hover\:shadow-xl:hover{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.focus\:border-transparent:focus{border-color:transparent}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-primary-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.focus\:ring-primary-600:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(220 38 38/var(--tw-ring-opacity,1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:bg-gray-400:disabled{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.group:hover .group-hover\:translate-x-1{--tw-translate-x:.25rem}.group:hover .group-hover\:scale-110,.group:hover .group-hover\:translate-x-1{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x:1.1;--tw-scale-y:1.1}.group:hover .group-hover\:bg-primary-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.group:hover .group-hover\:text-primary-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.group:hover .group-hover\:text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:block{display:block}.sm\:h-\[500px\]{height:500px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:p-12{padding:3rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-20{padding-bottom:5rem;padding-top:5rem}.sm\:py-32{padding-bottom:8rem;padding-top:8rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-5xl{font-size:3rem;line-height:1}.sm\:text-6xl{font-size:3.75rem;line-height:1}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:w-5\/12{width:41.666667%}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:flex-row-reverse{flex-direction:row-reverse}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:pl-12{padding-left:3rem}.lg\:pr-12{padding-right:3rem}.lg\:text-7xl{font-size:4.5rem;line-height:1}}@media(min-width:1280px){.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}} diff --git a/.output/public/_nuxt/index.DqdQJZen.css b/.output/public/_nuxt/index.DqdQJZen.css deleted file mode 100644 index 8dbf7e7..0000000 --- a/.output/public/_nuxt/index.DqdQJZen.css +++ /dev/null @@ -1 +0,0 @@ -@keyframes fadeIn-33d25311{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in[data-v-33d25311]{animation:fadeIn-33d25311 .8s ease-out}.animate-fade-in-delay-1[data-v-33d25311]{animation:fadeIn-33d25311 .8s ease-out .2s both}.animate-fade-in-delay-2[data-v-33d25311]{animation:fadeIn-33d25311 .8s ease-out .4s both}.line-clamp-3[data-v-f894f108]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden} diff --git a/.output/public/_nuxt/index.cxXLuf7u.css b/.output/public/_nuxt/index.cxXLuf7u.css new file mode 100644 index 0000000..c715b4e --- /dev/null +++ b/.output/public/_nuxt/index.cxXLuf7u.css @@ -0,0 +1 @@ +@keyframes fadeIn-ff244c06{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in[data-v-ff244c06]{animation:fadeIn-ff244c06 .8s ease-out}.animate-fade-in-delay-1[data-v-ff244c06]{animation:fadeIn-ff244c06 .8s ease-out .2s both}.animate-fade-in-delay-2[data-v-ff244c06]{animation:fadeIn-ff244c06 .8s ease-out .4s both}.line-clamp-3[data-v-f894f108]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden} diff --git a/.output/public/_nuxt/nrzLFm_7.js b/.output/public/_nuxt/nrzLFm_7.js new file mode 100644 index 0000000..7099352 --- /dev/null +++ b/.output/public/_nuxt/nrzLFm_7.js @@ -0,0 +1,11 @@ +import{e as B,k as K,r as p,g as T,h as I,c as l,a as e,i,p as $,d as h,s as G,u as n,t as d,b as u,F as b,j as D,l as E,m as y,v as m,o as a,n as O}from"#entry";import{u as J}from"./C_U-NUAd.js";import{U as Q}from"./oN0_bS6A.js";import{L as j}from"./CUq_0rkE.js";import{S as A,T as U}from"./CGpRzXRB.js";import{M as F}from"./BC4PNGtJ.js";import{P as R}from"./DdHhmCne.js";import{M as W,C as X}from"./C5SyyWEb.js";import{F as Y}from"./BteKZQ9T.js";import{A as Z}from"./C8kQt0fa.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 ee=B("Grid3x3Icon",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 9h18",key:"1pudct"}],["path",{d:"M3 15h18",key:"5xshup"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]);/** + * @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 te=B("Table2Icon",[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]]),se={class:"min-h-full py-16 bg-gray-50"},ae={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},le={class:"flex justify-between items-center mb-6"},oe={class:"flex items-center space-x-3"},ie={key:0,class:"flex items-center justify-center py-12"},ne={key:1,class:"bg-white rounded-xl shadow-lg overflow-hidden"},re={class:"overflow-x-auto"},de={class:"min-w-full divide-y divide-gray-200"},ue={class:"bg-gray-50"},ce={key:0,class:"px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider"},pe={class:"bg-white divide-y divide-gray-200"},xe={class:"px-4 py-3 whitespace-nowrap"},ye={class:"text-sm font-medium text-gray-900"},me={key:0,class:"text-xs text-gray-500"},ge={class:"px-4 py-3 whitespace-nowrap"},fe=["href"],ve={key:1,class:"text-sm text-gray-400"},he={key:1,class:"text-sm text-gray-400"},be={class:"px-4 py-3 whitespace-nowrap"},_e=["href"],ke={key:1,class:"text-sm text-gray-400"},we={key:1,class:"text-sm text-gray-400"},Me={class:"px-4 py-3 whitespace-nowrap"},Ce={class:"flex items-center space-x-2"},Ne={key:0,class:"px-2 py-1 bg-green-100 text-green-800 text-xs font-medium rounded-full"},ze={key:0,class:"px-4 py-3 whitespace-nowrap text-right text-sm font-medium"},Le={key:0,class:"flex justify-end space-x-2"},Ve=["onClick"],Se=["onClick"],Te={key:1,class:"text-gray-400 text-xs"},$e={key:0,class:"text-center py-12 text-gray-500"},De={key:2,class:"space-y-4"},Ee={class:"flex justify-between items-start"},je={class:"flex-1"},Ae={class:"flex items-center mb-2"},Ue={class:"text-xl font-semibold text-gray-900"},Fe={key:0,class:"ml-3 px-2 py-1 bg-green-100 text-green-800 text-xs font-medium rounded-full"},Be={key:1,class:"ml-2 px-2 py-1 bg-blue-100 text-blue-800 text-xs font-medium rounded-full"},Pe={key:2,class:"ml-2 px-2 py-1 bg-purple-100 text-purple-800 text-xs font-medium rounded-full"},He={class:"grid sm:grid-cols-2 gap-3 text-gray-600"},qe={key:0,class:"flex items-center"},Ke=["href"],Ie={key:1,class:"flex items-center"},Ge=["href"],Oe={key:1,class:"col-span-2 flex items-center text-gray-500 text-sm italic"},Je={key:2,class:"flex items-start col-span-2"},Qe={key:3,class:"flex items-start col-span-2"},Re={key:4,class:"flex items-center col-span-2 text-sm text-gray-500"},We={key:0,class:"flex space-x-2 ml-4"},Xe=["onClick"],Ye=["onClick"],Ze={key:0,class:"text-center py-12 text-gray-500"},et={class:"bg-white rounded-xl shadow-2xl max-w-2xl w-full p-8"},tt={class:"text-2xl font-display font-bold text-gray-900 mb-6"},st={class:"grid grid-cols-2 gap-4"},at=["disabled"],lt=["disabled"],ot=["disabled"],it=["disabled"],nt=["disabled"],rt=["disabled"],dt={key:0,class:"flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm"},ut={class:"flex justify-end space-x-4 pt-4"},ct=["disabled"],pt=["disabled"],Mt={__name:"mitglieder",setup(xt){const w=K(),M=p(!0),c=p(!1),g=p([]),_=p(!1),f=p(null),x=p(""),v=p("cards"),r=p({firstName:"",lastName:"",email:"",phone:"",address:"",notes:""}),k=T(()=>w.role==="admin"||w.role==="vorstand"),C=T(()=>{const o=w.role;return console.log("Current role:",o,"Can view contact:",o==="vorstand"),o==="vorstand"}),N=async()=>{M.value=!0;try{const o=await $fetch("/api/members");g.value=o.members}catch(o){console.error("Fehler beim Laden der Mitglieder:",o)}finally{M.value=!1}},P=()=>{f.value=null,r.value={firstName:"",lastName:"",email:"",phone:"",address:"",notes:""},_.value=!0,x.value=""},V=o=>{f.value=o,r.value={firstName:o.firstName||"",lastName:o.lastName||"",email:o.email||"",phone:o.phone||"",address:o.address||"",notes:o.notes||""},_.value=!0,x.value=""},z=()=>{_.value=!1,f.value=null,x.value=""},H=async()=>{c.value=!0,x.value="";try{await $fetch("/api/members",{method:"POST",body:{id:f.value?.id,...r.value}}),z(),await N()}catch(o){x.value=o.data?.message||"Fehler beim Speichern des Mitglieds."}finally{c.value=!1}},S=async o=>{if(confirm(`Möchten Sie "${o.name}" wirklich löschen?`))try{await $fetch("/api/members",{method:"DELETE",body:{id:o.id}}),await N()}catch{alert("Fehler beim Löschen des Mitglieds.")}},q=o=>o?new Date(o).toLocaleDateString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}):"";return I(()=>{N()}),J({title:"Mitgliederliste - Harheimer TC"}),(o,s)=>(a(),l("div",se,[e("div",ae,[e("div",le,[s[8]||(s[8]=e("div",null,[e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-2"}," Mitgliederliste "),e("div",{class:"w-24 h-1 bg-primary-600 mb-4"})],-1)),e("div",oe,[e("button",{onClick:s[0]||(s[0]=t=>v.value=v.value==="cards"?"table":"cards"),class:"flex items-center px-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-700 font-semibold rounded-lg transition-colors"},[(a(),$(G(v.value==="cards"?n(te):n(ee)),{size:20,class:"mr-2"})),h(" "+d(v.value==="cards"?"Tabelle":"Karten"),1)]),k.value?(a(),l("button",{key:0,onClick:P,class:"flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},[u(n(Q),{size:20,class:"mr-2"}),s[7]||(s[7]=h(" Mitglied hinzufügen ",-1))])):i("",!0)])]),M.value?(a(),l("div",ie,[u(n(j),{size:40,class:"animate-spin text-primary-600"})])):v.value==="table"?(a(),l("div",ne,[e("div",re,[e("table",de,[e("thead",ue,[e("tr",null,[s[9]||(s[9]=e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Name",-1)),s[10]||(s[10]=e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"E-Mail",-1)),s[11]||(s[11]=e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Telefon",-1)),s[12]||(s[12]=e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Status",-1)),k.value?(a(),l("th",ce,"Aktionen")):i("",!0)])]),e("tbody",pe,[(a(!0),l(b,null,D(g.value,t=>(a(),l("tr",{key:t.id,class:"hover:bg-gray-50"},[e("td",xe,[e("div",ye,d(t.name),1),t.notes?(a(),l("div",me,d(t.notes),1)):i("",!0)]),e("td",ge,[C.value?(a(),l(b,{key:0},[t.email?(a(),l("a",{key:0,href:`mailto:${t.email}`,class:"text-sm text-primary-600 hover:text-primary-800"},d(t.email),9,fe)):(a(),l("span",ve,"-"))],64)):(a(),l("span",he,"Nur für Vorstand"))]),e("td",be,[C.value?(a(),l(b,{key:0},[t.phone?(a(),l("a",{key:0,href:`tel:${t.phone}`,class:"text-sm text-primary-600 hover:text-primary-800"},d(t.phone),9,_e)):(a(),l("span",ke,"-"))],64)):(a(),l("span",we,"Nur für Vorstand"))]),e("td",Me,[e("div",Ce,[t.hasLogin?(a(),l("span",Ne," Login ")):i("",!0),e("span",{class:O([t.source==="manual"?"bg-blue-100 text-blue-800":"bg-purple-100 text-purple-800","px-2 py-1 text-xs font-medium rounded-full"])},d(t.source==="manual"?"Manuell":"System"),3)])]),k.value?(a(),l("td",ze,[t.editable?(a(),l("div",Le,[e("button",{onClick:L=>V(t),class:"text-blue-600 hover:text-blue-900",title:"Bearbeiten"},[u(n(A),{size:18})],8,Ve),e("button",{onClick:L=>S(t),class:"text-red-600 hover:text-red-900",title:"Löschen"},[u(n(U),{size:18})],8,Se)])):(a(),l("span",Te,"Nicht editierbar"))])):i("",!0)]))),128))])])]),g.value.length===0?(a(),l("div",$e," Keine Mitglieder gefunden. ")):i("",!0)])):(a(),l("div",De,[(a(!0),l(b,null,D(g.value,t=>(a(),l("div",{key:t.id,class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100"},[e("div",Ee,[e("div",je,[e("div",Ae,[e("h3",Ue,d(t.name),1),t.hasLogin?(a(),l("span",Fe," Hat Login ")):i("",!0),t.source==="manual"?(a(),l("span",Be," Manuell ")):(a(),l("span",Pe," Aus Login-System "))]),e("div",He,[C.value?(a(),l(b,{key:0},[t.email?(a(),l("div",qe,[u(n(F),{size:16,class:"mr-2 text-primary-600"}),e("a",{href:`mailto:${t.email}`,class:"hover:text-primary-600"},d(t.email),9,Ke)])):i("",!0),t.phone?(a(),l("div",Ie,[u(n(R),{size:16,class:"mr-2 text-primary-600"}),e("a",{href:`tel:${t.phone}`,class:"hover:text-primary-600"},d(t.phone),9,Ge)])):i("",!0)],64)):(a(),l("div",Oe,[u(n(F),{size:16,class:"mr-2"}),s[13]||(s[13]=h(" Kontaktdaten nur für Vorstand sichtbar ",-1))])),t.address?(a(),l("div",Je,[u(n(W),{size:16,class:"mr-2 text-primary-600 mt-0.5"}),e("span",null,d(t.address),1)])):i("",!0),t.notes?(a(),l("div",Qe,[u(n(Y),{size:16,class:"mr-2 text-primary-600 mt-0.5"}),e("span",null,d(t.notes),1)])):i("",!0),t.lastLogin?(a(),l("div",Re,[u(n(X),{size:16,class:"mr-2"}),h(" Letzter Login: "+d(q(t.lastLogin)),1)])):i("",!0)])]),k.value&&t.editable?(a(),l("div",We,[e("button",{onClick:L=>V(t),class:"p-2 text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",title:"Bearbeiten"},[u(n(A),{size:20})],8,Xe),e("button",{onClick:L=>S(t),class:"p-2 text-red-600 hover:bg-red-50 rounded-lg transition-colors",title:"Löschen"},[u(n(U),{size:20})],8,Ye)])):i("",!0)])]))),128)),g.value.length===0?(a(),l("div",Ze," Keine Mitglieder gefunden. ")):i("",!0)])),_.value?(a(),l("div",{key:3,class:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",onClick:E(z,["self"])},[e("div",et,[e("h2",tt,d(f.value?"Mitglied bearbeiten":"Mitglied hinzufügen"),1),e("form",{onSubmit:E(H,["prevent"]),class:"space-y-4"},[e("div",st,[e("div",null,[s[14]||(s[14]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Vorname *",-1)),y(e("input",{"onUpdate:modelValue":s[1]||(s[1]=t=>r.value.firstName=t),type:"text",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,at),[[m,r.value.firstName]])]),e("div",null,[s[15]||(s[15]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Nachname *",-1)),y(e("input",{"onUpdate:modelValue":s[2]||(s[2]=t=>r.value.lastName=t),type:"text",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,lt),[[m,r.value.lastName]])])]),e("div",null,[s[16]||(s[16]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"E-Mail",-1)),y(e("input",{"onUpdate:modelValue":s[3]||(s[3]=t=>r.value.email=t),type:"email",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,ot),[[m,r.value.email]])]),e("div",null,[s[17]||(s[17]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Telefon",-1)),y(e("input",{"onUpdate:modelValue":s[4]||(s[4]=t=>r.value.phone=t),type:"tel",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,it),[[m,r.value.phone]])]),e("div",null,[s[18]||(s[18]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Adresse",-1)),y(e("input",{"onUpdate:modelValue":s[5]||(s[5]=t=>r.value.address=t),type:"text",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,nt),[[m,r.value.address]])]),e("div",null,[s[19]||(s[19]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Notizen",-1)),y(e("textarea",{"onUpdate:modelValue":s[6]||(s[6]=t=>r.value.notes=t),rows:"3",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500",disabled:c.value},null,8,rt),[[m,r.value.notes]])]),x.value?(a(),l("div",dt,[u(n(Z),{size:20,class:"mr-2"}),h(" "+d(x.value),1)])):i("",!0),e("div",ut,[e("button",{type:"button",onClick:z,class:"px-6 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors",disabled:c.value}," Abbrechen ",8,ct),e("button",{type:"submit",class:"px-6 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors flex items-center",disabled:c.value},[c.value?(a(),$(n(j),{key:0,size:20,class:"animate-spin mr-2"})):i("",!0),e("span",null,d(c.value?"Speichert...":"Speichern"),1)],8,pt)])],32)])])):i("",!0)])]))}};export{Mt as default}; diff --git a/.output/public/_nuxt/oN0_bS6A.js b/.output/public/_nuxt/oN0_bS6A.js new file mode 100644 index 0000000..dcbab68 --- /dev/null +++ b/.output/public/_nuxt/oN0_bS6A.js @@ -0,0 +1,6 @@ +import{e}from"#entry";/** + * @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 c=e("UserPlusIcon",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["line",{x1:"19",x2:"19",y1:"8",y2:"14",key:"1bvyxn"}],["line",{x1:"22",x2:"16",y1:"11",y2:"11",key:"1shjgl"}]]);export{c as U}; diff --git a/.output/public/_nuxt/CswPsggF.js b/.output/public/_nuxt/rgKTeSYE.js similarity index 86% rename from .output/public/_nuxt/CswPsggF.js rename to .output/public/_nuxt/rgKTeSYE.js index 89ed997..dadddaa 100644 --- a/.output/public/_nuxt/CswPsggF.js +++ b/.output/public/_nuxt/rgKTeSYE.js @@ -1 +1 @@ -import{j as a,c as d,a as t,b as s,w as l,t as m,u as r,_ as g,o as x,U as p}from"#entry";import{u}from"./C_U-NUAd.js";import{U as f}from"./DkeYb0_S.js";import{N as c}from"./DAACT36i.js";import{C as i}from"./DaSgy0Cl.js";const b={class:"min-h-full py-16 bg-gray-50"},y={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},h={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-8"},w={class:"flex items-center mb-4"},v={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center group-hover:bg-primary-600 transition-colors"},_={class:"flex items-center mb-4"},k={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center group-hover:bg-primary-600 transition-colors"},z={class:"flex items-center mb-4"},M={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center group-hover:bg-primary-600 transition-colors"},N={class:"bg-white p-8 rounded-xl shadow-lg border border-gray-100"},C={class:"text-2xl font-display font-bold text-gray-900 mb-4"},P={class:"grid sm:grid-cols-2 gap-4"},j={class:"flex items-start"},H={class:"flex items-start"},S={class:"flex items-start"},U={class:"flex items-start"},T={__name:"index",setup(V){const n=a();return u({title:"Mitgliederbereich - Harheimer TC"}),(A,e)=>{const o=g;return x(),d("div",b,[t("div",y,[e[11]||(e[11]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Mitgliederbereich ",-1)),e[12]||(e[12]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t("div",h,[s(o,{to:"/mitgliederbereich/profil",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",w,[t("div",v,[s(r(p),{size:24,class:"text-primary-600 group-hover:text-white"})]),e[0]||(e[0]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Mein Profil",-1))]),e[1]||(e[1]=t("p",{class:"text-gray-600"}," Persönliche Daten und Passwort verwalten ",-1))]),_:1}),s(o,{to:"/mitgliederbereich/mitglieder",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",_,[t("div",k,[s(r(f),{size:24,class:"text-primary-600 group-hover:text-white"})]),e[2]||(e[2]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Mitglieder",-1))]),e[3]||(e[3]=t("p",{class:"text-gray-600"}," Kontaktdaten der Vereinsmitglieder ",-1))]),_:1}),s(o,{to:"/mitgliederbereich/news",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",z,[t("div",M,[s(r(c),{size:24,class:"text-primary-600 group-hover:text-white"})]),e[4]||(e[4]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Interne News",-1))]),e[5]||(e[5]=t("p",{class:"text-gray-600"}," Neuigkeiten und Ankündigungen ",-1))]),_:1})]),t("div",N,[t("h2",C," Willkommen, "+m(r(n).user?.name||"Mitglied")+"! ",1),e[10]||(e[10]=t("p",{class:"text-gray-600 mb-6"}," Hier finden Sie alle wichtigen Informationen und Funktionen für Mitglieder des Harheimer TC. ",-1)),t("div",P,[t("div",j,[s(r(i),{size:20,class:"text-primary-600 mr-2 mt-0.5"}),e[6]||(e[6]=t("span",{class:"text-gray-700"},"Zugriff auf Mitgliederliste mit Kontaktdaten",-1))]),t("div",H,[s(r(i),{size:20,class:"text-primary-600 mr-2 mt-0.5"}),e[7]||(e[7]=t("span",{class:"text-gray-700"},"Interne Vereinsnews und Ankündigungen",-1))]),t("div",S,[s(r(i),{size:20,class:"text-primary-600 mr-2 mt-0.5"}),e[8]||(e[8]=t("span",{class:"text-gray-700"},"Profilverwaltung und Passwort ändern",-1))]),t("div",U,[s(r(i),{size:20,class:"text-primary-600 mr-2 mt-0.5"}),e[9]||(e[9]=t("span",{class:"text-gray-700"},"Weitere Funktionen folgen in Kürze",-1))])])])])])}}};export{T as default}; +import{k as a,c as d,a as t,b as s,w as l,t as m,u as r,_ as g,o as x,U as p}from"#entry";import{u}from"./C_U-NUAd.js";import{U as f}from"./DkeYb0_S.js";import{N as c}from"./DAACT36i.js";import{C as i}from"./DaSgy0Cl.js";const b={class:"min-h-full py-16 bg-gray-50"},y={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},h={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6 mb-8"},w={class:"flex items-center mb-4"},v={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center group-hover:bg-primary-600 transition-colors"},_={class:"flex items-center mb-4"},k={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center group-hover:bg-primary-600 transition-colors"},z={class:"flex items-center mb-4"},M={class:"w-12 h-12 bg-primary-100 rounded-lg flex items-center justify-center group-hover:bg-primary-600 transition-colors"},N={class:"bg-white p-8 rounded-xl shadow-lg border border-gray-100"},C={class:"text-2xl font-display font-bold text-gray-900 mb-4"},P={class:"grid sm:grid-cols-2 gap-4"},H={class:"flex items-start"},S={class:"flex items-start"},U={class:"flex items-start"},V={class:"flex items-start"},T={__name:"index",setup(j){const n=a();return u({title:"Mitgliederbereich - Harheimer TC"}),(A,e)=>{const o=g;return x(),d("div",b,[t("div",y,[e[11]||(e[11]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Mitgliederbereich ",-1)),e[12]||(e[12]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t("div",h,[s(o,{to:"/mitgliederbereich/profil",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",w,[t("div",v,[s(r(p),{size:24,class:"text-primary-600 group-hover:text-white"})]),e[0]||(e[0]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Mein Profil",-1))]),e[1]||(e[1]=t("p",{class:"text-gray-600"}," Persönliche Daten und Passwort verwalten ",-1))]),_:1}),s(o,{to:"/mitgliederbereich/mitglieder",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",_,[t("div",k,[s(r(f),{size:24,class:"text-primary-600 group-hover:text-white"})]),e[2]||(e[2]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Mitglieder",-1))]),e[3]||(e[3]=t("p",{class:"text-gray-600"}," Kontaktdaten der Vereinsmitglieder ",-1))]),_:1}),s(o,{to:"/mitgliederbereich/news",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",z,[t("div",M,[s(r(c),{size:24,class:"text-primary-600 group-hover:text-white"})]),e[4]||(e[4]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Interne News",-1))]),e[5]||(e[5]=t("p",{class:"text-gray-600"}," Neuigkeiten und Ankündigungen ",-1))]),_:1})]),t("div",N,[t("h2",C," Willkommen, "+m(r(n).user?.name||"Mitglied")+"! ",1),e[10]||(e[10]=t("p",{class:"text-gray-600 mb-6"}," Hier finden Sie alle wichtigen Informationen und Funktionen für Mitglieder des Harheimer TC. ",-1)),t("div",P,[t("div",H,[s(r(i),{size:20,class:"text-primary-600 mr-2 mt-0.5"}),e[6]||(e[6]=t("span",{class:"text-gray-700"},"Zugriff auf Mitgliederliste mit Kontaktdaten",-1))]),t("div",S,[s(r(i),{size:20,class:"text-primary-600 mr-2 mt-0.5"}),e[7]||(e[7]=t("span",{class:"text-gray-700"},"Interne Vereinsnews und Ankündigungen",-1))]),t("div",U,[s(r(i),{size:20,class:"text-primary-600 mr-2 mt-0.5"}),e[8]||(e[8]=t("span",{class:"text-gray-700"},"Profilverwaltung und Passwort ändern",-1))]),t("div",V,[s(r(i),{size:20,class:"text-primary-600 mr-2 mt-0.5"}),e[9]||(e[9]=t("span",{class:"text-gray-700"},"Weitere Funktionen folgen in Kürze",-1))])])])])])}}};export{T as default}; diff --git a/.output/public/_nuxt/DQLCaib_.js b/.output/public/_nuxt/sVyj_WZX.js similarity index 94% rename from .output/public/_nuxt/DQLCaib_.js rename to .output/public/_nuxt/sVyj_WZX.js index afe5b9b..9cb61d3 100644 --- a/.output/public/_nuxt/DQLCaib_.js +++ b/.output/public/_nuxt/sVyj_WZX.js @@ -1 +1 @@ -import{u as t}from"./C_U-NUAd.js";import{c as s,q as e,o as r}from"#entry";const l={class:"min-h-full py-16 bg-gray-50"},p={__name:"herren",setup(i){return t({title:"Herrenmannschaften - Harheimer TC"}),(n,a)=>(r(),s("div",l,[...a[0]||(a[0]=[e('

Herrenmannschaften

1. Herren

Liga: Bezirksoberliga

Mannschaftsführer: Name folgt

2. Herren

Liga: Bezirksliga

Mannschaftsführer: Name folgt

3. Herren

Liga: Kreisliga

Mannschaftsführer: Name folgt

',1)])]))}};export{p as default}; +import{u as t}from"./C_U-NUAd.js";import{c as s,f as e,o as r}from"#entry";const l={class:"min-h-full py-16 bg-gray-50"},p={__name:"herren",setup(i){return t({title:"Herrenmannschaften - Harheimer TC"}),(n,a)=>(r(),s("div",l,[...a[0]||(a[0]=[e('

Herrenmannschaften

1. Herren

Liga: Bezirksoberliga

Mannschaftsführer: Name folgt

2. Herren

Liga: Bezirksliga

Mannschaftsführer: Name folgt

3. Herren

Liga: Kreisliga

Mannschaftsführer: Name folgt

',1)])]))}};export{p as default}; diff --git a/.output/server/chunks/build/Hero-styles.BpJ8SM3N.mjs b/.output/server/chunks/build/Hero-styles.BpJ8SM3N.mjs new file mode 100644 index 0000000..b05c322 --- /dev/null +++ b/.output/server/chunks/build/Hero-styles.BpJ8SM3N.mjs @@ -0,0 +1,8 @@ +const Hero_vue_vue_type_style_index_0_scoped_ff244c06_lang = "@keyframes fadeIn-ff244c06{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in[data-v-ff244c06]{animation:fadeIn-ff244c06 .8s ease-out}.animate-fade-in-delay-1[data-v-ff244c06]{animation:fadeIn-ff244c06 .8s ease-out .2s both}.animate-fade-in-delay-2[data-v-ff244c06]{animation:fadeIn-ff244c06 .8s ease-out .4s both}"; + +const HeroStyles_BpJ8SM3N = [ + Hero_vue_vue_type_style_index_0_scoped_ff244c06_lang +]; + +export { HeroStyles_BpJ8SM3N as default }; +//# sourceMappingURL=Hero-styles.BpJ8SM3N.mjs.map diff --git a/.output/server/chunks/build/Hero-styles.BpJ8SM3N.mjs.map b/.output/server/chunks/build/Hero-styles.BpJ8SM3N.mjs.map new file mode 100644 index 0000000..a3879bf --- /dev/null +++ b/.output/server/chunks/build/Hero-styles.BpJ8SM3N.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"Hero-styles.BpJ8SM3N.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/Hero-styles.BpJ8SM3N.mjs"],"sourcesContent":null,"names":["style_0"],"mappings":"","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/.output/server/chunks/build/Hero-styles.DnxJI8Rq.mjs b/.output/server/chunks/build/Hero-styles.DnxJI8Rq.mjs deleted file mode 100644 index 6b44f36..0000000 --- a/.output/server/chunks/build/Hero-styles.DnxJI8Rq.mjs +++ /dev/null @@ -1,8 +0,0 @@ -const Hero_vue_vue_type_style_index_0_scoped_33d25311_lang = "@keyframes fadeIn-33d25311{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in[data-v-33d25311]{animation:fadeIn-33d25311 .8s ease-out}.animate-fade-in-delay-1[data-v-33d25311]{animation:fadeIn-33d25311 .8s ease-out .2s both}.animate-fade-in-delay-2[data-v-33d25311]{animation:fadeIn-33d25311 .8s ease-out .4s both}"; - -const HeroStyles_DnxJI8Rq = [ - Hero_vue_vue_type_style_index_0_scoped_33d25311_lang -]; - -export { HeroStyles_DnxJI8Rq as default }; -//# sourceMappingURL=Hero-styles.DnxJI8Rq.mjs.map diff --git a/.output/server/chunks/build/Hero-styles.DnxJI8Rq.mjs.map b/.output/server/chunks/build/Hero-styles.DnxJI8Rq.mjs.map deleted file mode 100644 index 97d217b..0000000 --- a/.output/server/chunks/build/Hero-styles.DnxJI8Rq.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Hero-styles.DnxJI8Rq.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/Hero-styles.DnxJI8Rq.mjs"],"sourcesContent":null,"names":["style_0"],"mappings":"","x_google_ignoreList":[0]} \ No newline at end of file diff --git a/.output/server/chunks/build/client.manifest.mjs b/.output/server/chunks/build/client.manifest.mjs index c5f37db..c5dfcba 100644 --- a/.output/server/chunks/build/client.manifest.mjs +++ b/.output/server/chunks/build/client.manifest.mjs @@ -10,6 +10,17 @@ const client_manifest = { "node_modules/nuxt/dist/app/entry.js" ] }, + "_BC4PNGtJ.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "BC4PNGtJ.js", + "name": "mail", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, "_BteKZQ9T.js": { "resourceType": "script", "module": true, @@ -153,6 +164,17 @@ const client_manifest = { "node_modules/nuxt/dist/app/entry.js" ] }, + "_DdHhmCne.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "DdHhmCne.js", + "name": "phone", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, "_DkeYb0_S.js": { "resourceType": "script", "module": true, @@ -183,17 +205,6 @@ const client_manifest = { "node_modules/nuxt/dist/app/entry.js" ] }, - "_SRZHqrjk.js": { - "resourceType": "script", - "module": true, - "prefetch": true, - "preload": true, - "file": "SRZHqrjk.js", - "name": "phone", - "imports": [ - "node_modules/nuxt/dist/app/entry.js" - ] - }, "_XZ6RV9KH.js": { "resourceType": "script", "module": true, @@ -227,6 +238,17 @@ const client_manifest = { "node_modules/nuxt/dist/app/entry.js" ] }, + "_oN0_bS6A.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "oN0_bS6A.js", + "name": "user-plus", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, "assets/images/logos/Harheimer TC.svg": { "resourceType": "image", "prefetch": true, @@ -239,7 +261,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BdCoUFEM.js", + "file": "C-bqeYjt.js", "name": "auth", "src": "middleware/auth.js", "isDynamicEntry": true, @@ -296,7 +318,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DI-K9rkb.js", + "file": "CQbOfyWX.js", "name": "entry", "src": "node_modules/nuxt/dist/app/entry.js", "isEntry": true, @@ -306,14 +328,14 @@ const client_manifest = { "node_modules/nuxt/dist/app/components/error-500.vue" ], "css": [ - "entry.IG_VkyCs.css" + "entry.DJ18GRwo.css" ], "assets": [ "Harheimer TC.CKfYAfp1.svg" ] }, - "entry.IG_VkyCs.css": { - "file": "entry.IG_VkyCs.css", + "entry.DJ18GRwo.css": { + "file": "entry.DJ18GRwo.css", "resourceType": "style", "prefetch": true, "preload": true @@ -329,7 +351,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DjQJos7H.js", + "file": "CvtlfSR0.js", "name": "anlagen", "src": "pages/anlagen.vue", "isDynamicEntry": true, @@ -343,7 +365,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BN9lzb-3.js", + "file": "D11oUMHK.js", "name": "benutzer", "src": "pages/cms/benutzer.vue", "isDynamicEntry": true, @@ -359,7 +381,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DCs9V8J_.js", + "file": "Bdk8d7qx.js", "name": "index", "src": "pages/cms/index.vue", "isDynamicEntry": true, @@ -377,7 +399,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CWgKKRjY.js", + "file": "C5WkR1xp.js", "name": "galerie", "src": "pages/galerie.vue", "isDynamicEntry": true, @@ -391,7 +413,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "QJE7pTvy.js", + "file": "B23trXK4.js", "name": "geschichte", "src": "pages/geschichte.vue", "isDynamicEntry": true, @@ -405,7 +427,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BStiaRgF.js", + "file": "D99LnZYi.js", "name": "impressum", "src": "pages/impressum.vue", "isDynamicEntry": true, @@ -421,21 +443,23 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B2cfq_o5.js", + "file": "KD1G0xGW.js", "name": "index", "src": "pages/index.vue", "isDynamicEntry": true, "imports": [ + "_DlAUqK2U.js", "node_modules/nuxt/dist/app/entry.js", "_YJHbYJtA.js", - "_DlAUqK2U.js" + "_oN0_bS6A.js", + "_BC4PNGtJ.js" ], "css": [ - "index.DqdQJZen.css" + "index.cxXLuf7u.css" ] }, - "index.DqdQJZen.css": { - "file": "index.DqdQJZen.css", + "index.cxXLuf7u.css": { + "file": "index.cxXLuf7u.css", "resourceType": "style", "prefetch": true, "preload": true @@ -445,14 +469,15 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "OKH0iApX.js", + "file": "BGsE9M8w.js", "name": "kontakt", "src": "pages/kontakt.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", "_C5SyyWEb.js", - "_SRZHqrjk.js", + "_DdHhmCne.js", + "_BC4PNGtJ.js", "_C8kQt0fa.js", "_C_U-NUAd.js" ] @@ -462,7 +487,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C3ZC2MBN.js", + "file": "B6TEfPSg.js", "name": "login", "src": "pages/login.vue", "isDynamicEntry": true, @@ -479,7 +504,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CStFQbHi.js", + "file": "COK-PGSA.js", "name": "_slug_", "src": "pages/mannschaften/[slug].vue", "isDynamicEntry": true, @@ -508,7 +533,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DQLCaib_.js", + "file": "sVyj_WZX.js", "name": "herren", "src": "pages/mannschaften/herren.vue", "isDynamicEntry": true, @@ -522,7 +547,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BFexRfL9.js", + "file": "BU5mk92E.js", "name": "index", "src": "pages/mannschaften/index.vue", "isDynamicEntry": true, @@ -538,7 +563,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "RzC6IeuO.js", + "file": "BZLaJF8o.js", "name": "jugend", "src": "pages/mannschaften/jugend.vue", "isDynamicEntry": true, @@ -552,7 +577,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "Nh9QSW5G.js", + "file": "BRhWghMt.js", "name": "spielplaene", "src": "pages/mannschaften/spielplaene.vue", "isDynamicEntry": true, @@ -568,7 +593,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CswPsggF.js", + "file": "rgKTeSYE.js", "name": "index", "src": "pages/mitgliederbereich/index.vue", "isDynamicEntry": true, @@ -585,16 +610,18 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BkmncYmZ.js", + "file": "nrzLFm_7.js", "name": "mitglieder", "src": "pages/mitgliederbereich/mitglieder.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", "_C_U-NUAd.js", + "_oN0_bS6A.js", "_CUq_0rkE.js", "_CGpRzXRB.js", - "_SRZHqrjk.js", + "_BC4PNGtJ.js", + "_DdHhmCne.js", "_C5SyyWEb.js", "_BteKZQ9T.js", "_C8kQt0fa.js" @@ -605,7 +632,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "YTUQ4PrF.js", + "file": "Dx1KRsmK.js", "name": "news", "src": "pages/mitgliederbereich/news.vue", "isDynamicEntry": true, @@ -625,7 +652,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CCK7-3Cn.js", + "file": "C9UhLsiJ.js", "name": "profil", "src": "pages/mitgliederbereich/profil.vue", "isDynamicEntry": true, @@ -642,7 +669,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C0ltx_3z.js", + "file": "BjiYAScN.js", "name": "mitgliedschaft", "src": "pages/mitgliedschaft.vue", "isDynamicEntry": true, @@ -661,7 +688,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DjHhXTxu.js", + "file": "DxIIJuzj.js", "name": "passwort-vergessen", "src": "pages/passwort-vergessen.vue", "isDynamicEntry": true, @@ -678,7 +705,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B7YOuq0i.js", + "file": "Bn7G3VMx.js", "name": "registrieren", "src": "pages/registrieren.vue", "isDynamicEntry": true, @@ -695,7 +722,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C7t1i8dL.js", + "file": "CTuRK0lH.js", "name": "satzung", "src": "pages/satzung.vue", "isDynamicEntry": true, @@ -710,7 +737,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BVFhdtwe.js", + "file": "BASo1Rw1.js", "name": "spielsysteme", "src": "pages/spielsysteme.vue", "isDynamicEntry": true, @@ -729,7 +756,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CUUerAfc.js", + "file": "DvrqIJw1.js", "name": "termine", "src": "pages/termine.vue", "isDynamicEntry": true, @@ -744,7 +771,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DDTUZ4Th.js", + "file": "C1eD6HzQ.js", "name": "anfaenger", "src": "pages/training/anfaenger.vue", "isDynamicEntry": true, @@ -774,7 +801,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CNPVZmuq.js", + "file": "BxR6w-Hd.js", "name": "trainer", "src": "pages/training/trainer.vue", "isDynamicEntry": true, @@ -788,7 +815,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BXPpCwtT.js", + "file": "DjcJk1g8.js", "name": "tt-regeln", "src": "pages/tt-regeln.vue", "isDynamicEntry": true, @@ -808,7 +835,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DMxhMw0T.js", + "file": "CT6VfTlB.js", "name": "ueber-uns", "src": "pages/ueber-uns.vue", "isDynamicEntry": true, @@ -824,7 +851,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DBnABJGp.js", + "file": "DHQur1V-.js", "name": "vereinsmeisterschaften", "src": "pages/vereinsmeisterschaften.vue", "isDynamicEntry": true, @@ -839,7 +866,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B7gCv9SJ.js", + "file": "B3KXwwdt.js", "name": "vorstand", "src": "pages/vorstand.vue", "isDynamicEntry": true, diff --git a/.output/server/chunks/build/index-BJlTQXby.mjs.map b/.output/server/chunks/build/index-BJlTQXby.mjs.map deleted file mode 100644 index f2102d2..0000000 --- a/.output/server/chunks/build/index-BJlTQXby.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-BJlTQXby.mjs","sources":["../../../../components/TermineVorschau.vue","../../../../components/Hero.vue","../../../../components/PublicNews.vue","../../../../pages/index.vue"],"sourcesContent":null,"names":["_ssrInterpolate","_push","_parent","_createVNode","_unref","_ssrRenderAttrs","_mergeProps","_ssrRenderList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA,IAAA,MAAM,OAAA,GAAU,GAAA,CAAI,EAAE,CAAA;AAEtB,IAAA,MAAM,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,MAAM,KAAA,uBAAY,IAAA,EAAI;AACtB,MAAA,OAAA,CAAQ,GAAA,CAAI,cAAc,KAAA,CAAM,WAAA,GAAc,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA;AAE3D,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,KAAA,CACtB,MAAA,CAAO,CAAA,CAAA,KAAK;AACX,QAAA,MAAM,WAAA,GAAc,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAA;AACpC,QAAA,MAAM,aAAa,WAAA,IAAe,KAAA;AAClC,QAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,OAAA,EAAU,CAAA,CAAE,KAAK,CAAA,EAAA,EAAK,CAAA,CAAE,KAAK,CAAA,GAAA,EAAM,UAAA,GAAa,SAAA,GAAY,aAAa,CAAA,CAAE,CAAA;AACvF,QAAA,OAAO,UAAA;AAAA,MACT,CAAC,CAAA,CACA,IAAA,CAAK,CAAC,GAAG,CAAA,KAAM,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAA,GAAI,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAC,CAAA;AAEvD,MAAA,OAAA,CAAQ,GAAA,CAAI,qBAAqB,QAAQ,CAAA;AACzC,MAAA,OAAO,QAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,SAAA,GAAY,CAAC,UAAA,KAAe;AAChC,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,OAAO,KAAK,OAAA,EAAO;AAAA,IACrB,CAAA;AAEA,IAAA,MAAM,WAAA,GAAc,CAAC,UAAA,KAAe;AAClC,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,MAAM,MAAA,GAAS,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AAClG,MAAA,OAAO,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,CAAA;AAAA,IAC/B,CAAA;;;;AA5EiB,MAAA,IAAA,eAAA,CAAA,KAAA,CAAgB,MAAA,GAAM,CAAA,EAAA;;sBAEH,eAAA,CAAA,KAAA,EAAe,CAAjC,MAAA,EAAQ,KAAA,KAAK;AAON,UAAA,KAAA,CAAA,CAAA,iSAAA,EAAA,cAAA,CAAA,SAAA,CAAU,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA,aAAA,EAAA,cAAA,CACtB,YAAY,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA,0DAAA,EAGUA,eAAA,MAAA,CAAO,KAAK,CAAA,CAAA,sCAAA,EACnBA,cAAAA,CAAA,OAAO,YAAY,CAAA,CAAA,6BAAA,EAAA,cAAA,CAAA;;YAG+B,MAAA,CAAO,SAAA,KAAS,YAAA,+BAAA,GAAA;AAAA,WAAA,CAAA,CAAA,EAAA,EAIrGA,cAAAA,CAAA,OAAO,SAAS,CAAA,CAAA,mBAAA,CAAA,CAAA;;;;;;UAOd,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;AAIlB,MAAA,IAAA,eAAA,CAAA,KAAA,CAAgB,MAAA,GAAM,CAAA,EAAA;;;UAE7B,EAAA,EAAG,UAAA;AAAA,UACH,KAAA,EAAM;AAAA,SAAA,EAAA;2BAFR,CAMW,CAAA,EAAAC,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;gBADI,IAAA,EAAM,EAAA;AAAA,gBAAI,KAAA,EAAM;AAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;gCAF9B,yBAEC,CAAA;AAAA,gBAAAC,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,kBAAzB,IAAA,EAAM,EAAA;AAAA,kBAAI,KAAA,EAAM;AAAA,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;QC9C5B,EAAA,EAAG,MAAA;AAAA,QAAO,KAAA,EAAM;AAAA,OAAA,EAAA,MAAA,CAAA,CAAA,CAAA,0UAAA,EAAA,cAAA,CAQnB,EAAA,kBAAA,EAAA,kCAAA,EAAA,mBAAA,OAAA,EAAA,qBAAA,EAAA,UAAgH,CAAA,CAAA,otBAAA,CAAA,CAAA;;QAkB5G,EAAA,EAAG,iBAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAMW,CAAA,EAAAH,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cADI,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;AAD7BC,cAAAA,WAAAA,CAA4B,cAAtB,iBAAe,CAAA;AAAA,cACrBA,WAAAA,CAAgFC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,gBAAnE,IAAA,EAAM,EAAA;AAAA,gBAAI,KAAA,EAAM;AAAA,eAAA;;;;;;;QAG7B,EAAA,EAAG,UAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAKW,CAAA,EAAAH,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;;8BAFV,qBAED;AAAA,aAAA;;;;;;;;;;;;;;;;;;;;;;ACGV,IAAA,MAAM,IAAA,GAAO,GAAA,CAAI,EAAE,CAAA;AAWnB,IAAA,MAAM,UAAA,GAAa,CAAC,UAAA,KAAe;AACjC,MAAA,IAAI,CAAC,YAAY,OAAO,EAAA;AACxB,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,OAAO,IAAA,CAAK,mBAAmB,OAAA,EAAS;AAAA,QACtC,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO,MAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN,CAAA;AAAA,IACH,CAAA;;AA3DiB,MAAA,IAAA,IAAA,CAAA,KAAA,CAAK,MAAA,GAAM,CAAA,EAAA;AAAM,QAAA,KAAA,CAAA,CAAA,QAAA,EAAAG,eAAAC,UAAAA,CAAA,EAAA,OAAM,yBAAA,EAAA,EAAyB,MAAA,CAAA,CAAA,CAAA,+fAAA,CAAA,CAAA;AAcxCC,QAAAA,aAAAA,CAAA,IAAA,CAAA,QAAR,IAAA,KAAI;;;YAKE,IAAA,EAAM,EAAA;AAAA,YAAI,KAAA,EAAM;AAAA,WAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;mCACxB,UAAA,CAAW,IAAA,CAAK,OAAO,CAAA,CAAA,CAAA,oFAAA,EAIvBP,cAAAA,CAAA,KAAK,KAAK,CAAA,CAAA,2DAAA,EAIVA,cAAAA,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA,cAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;AC5BpB,MAAA,KAAA,CAAA,CAAA,IAAA,EAAAK,eAAAC,UAAAA,CAAA,EAAA,OAAM,YAAA,EAAA,EAAY,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/build/index-BJlTQXby.mjs b/.output/server/chunks/build/index-CGHXrhNd.mjs similarity index 50% rename from .output/server/chunks/build/index-BJlTQXby.mjs rename to .output/server/chunks/build/index-CGHXrhNd.mjs index e24d94e..f7abe1a 100644 --- a/.output/server/chunks/build/index-BJlTQXby.mjs +++ b/.output/server/chunks/build/index-CGHXrhNd.mjs @@ -1,8 +1,8 @@ -import { mergeProps, withCtx, unref, createVNode, createTextVNode, ref, computed, useSSRContext } from 'vue'; +import { mergeProps, withCtx, unref, createTextVNode, createVNode, 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 { _ 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'; @@ -20,7 +20,21 @@ import 'unhead/utils'; import 'pinia'; import 'vue-router'; -const _sfc_main$3 = { +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-ff244c06"]]), { __name: "Hero" }); +const _sfc_main$4 = { __name: "TermineVorschau", __ssrInlineRender: true, setup(__props) { @@ -99,74 +113,55 @@ const _sfc_main$3 = { }; } }; -const _sfc_setup$3 = _sfc_main$3.setup; -_sfc_main$3.setup = (props, ctx) => { +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$3 ? _sfc_setup$3(props, ctx) : void 0; + return _sfc_setup$4 ? _sfc_setup$4(props, ctx) : void 0; }; -const _sfc_main$2 = { - __name: "Hero", +const _sfc_main$3 = { + __name: "HomeTermine", __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(`

Kommende Termine

`); + _push(ssrRenderComponent(_sfc_main$4, null, null, _parent)); + _push(`
`); _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" + 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(`Mitglied werden`); + _push2(` Alle Termine anzeigen `); _push2(ssrRenderComponent(unref(ArrowRight), { size: 20, - class: "group-hover:translate-x-1 transition-transform" + class: "ml-2" }, null, _parent2, _scopeId)); } else { return [ - createVNode("span", null, "Mitglied werden"), + createTextVNode(" Alle Termine anzeigen "), createVNode(unref(ArrowRight), { size: 20, - class: "group-hover:translate-x-1 transition-transform" + class: "ml-2" }) ]; } }), _: 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(`
`); + _push(`
`); }; } }; -const _sfc_setup$2 = _sfc_main$2.setup; -_sfc_main$2.setup = (props, ctx) => { +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/Hero.vue"); - return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0; + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/HomeTermine.vue"); + return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0; }; -const Hero = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-33d25311"]]); -const _sfc_main$1 = { +const _sfc_main$2 = { __name: "PublicNews", __ssrInlineRender: true, setup(__props) { @@ -198,13 +193,112 @@ const _sfc_main$1 = { }; } }; +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/PublicNews.vue"); + (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/HomeActions.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, @@ -212,7 +306,9 @@ const _sfc_main = { 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(``); }; } @@ -225,4 +321,4 @@ _sfc_main.setup = (props, ctx) => { }; export { _sfc_main as default }; -//# sourceMappingURL=index-BJlTQXby.mjs.map +//# sourceMappingURL=index-CGHXrhNd.mjs.map diff --git a/.output/server/chunks/build/index-CGHXrhNd.mjs.map b/.output/server/chunks/build/index-CGHXrhNd.mjs.map new file mode 100644 index 0000000..31d09cd --- /dev/null +++ b/.output/server/chunks/build/index-CGHXrhNd.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-CGHXrhNd.mjs","sources":["../../../../components/Hero.vue","../../../../components/TermineVorschau.vue","../../../../components/HomeTermine.vue","../../../../components/PublicNews.vue","../../../../components/HomeActions.vue","../../../../pages/index.vue"],"sourcesContent":null,"names":["_ssrInterpolate","_push","_parent","_createVNode","_unref","_ssrRenderAttrs","_mergeProps","_ssrRenderList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;IACW,EAAA,EAAG,MAAA;AAAA,IAAO,KAAA,EAAM;AAAA,GAAA,EAAA,MAAA,CAAA,CAAA,CAAA,0UAAA,EAAA,cAAA,CAQnB,EAAA,kBAAA,EAAA,kCAAA,EAAA,mBAAA,OAAA,EAAA,qBAAA,EAAA,UAAgH,CAAA,CAAA,05BAAA,CAAA,CAAA;;;;;;;;;;;;;ACgDxH,IAAA,MAAM,OAAA,GAAU,GAAA,CAAI,EAAE,CAAA;AAEtB,IAAA,MAAM,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,MAAM,KAAA,uBAAY,IAAA,EAAI;AACtB,MAAA,OAAA,CAAQ,GAAA,CAAI,cAAc,KAAA,CAAM,WAAA,GAAc,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA;AAE3D,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,KAAA,CACtB,MAAA,CAAO,CAAA,CAAA,KAAK;AACX,QAAA,MAAM,WAAA,GAAc,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAA;AACpC,QAAA,MAAM,aAAa,WAAA,IAAe,KAAA;AAClC,QAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,OAAA,EAAU,CAAA,CAAE,KAAK,CAAA,EAAA,EAAK,CAAA,CAAE,KAAK,CAAA,GAAA,EAAM,UAAA,GAAa,SAAA,GAAY,aAAa,CAAA,CAAE,CAAA;AACvF,QAAA,OAAO,UAAA;AAAA,MACT,CAAC,CAAA,CACA,IAAA,CAAK,CAAC,GAAG,CAAA,KAAM,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAA,GAAI,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAC,CAAA;AAEvD,MAAA,OAAA,CAAQ,GAAA,CAAI,qBAAqB,QAAQ,CAAA;AACzC,MAAA,OAAO,QAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,SAAA,GAAY,CAAC,UAAA,KAAe;AAChC,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,OAAO,KAAK,OAAA,EAAO;AAAA,IACrB,CAAA;AAEA,IAAA,MAAM,WAAA,GAAc,CAAC,UAAA,KAAe;AAClC,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,MAAM,MAAA,GAAS,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AAClG,MAAA,OAAO,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,CAAA;AAAA,IAC/B,CAAA;;;;AA5EiB,MAAA,IAAA,eAAA,CAAA,KAAA,CAAgB,MAAA,GAAM,CAAA,EAAA;;sBAEH,eAAA,CAAA,KAAA,EAAe,CAAjC,MAAA,EAAQ,KAAA,KAAK;AAON,UAAA,KAAA,CAAA,CAAA,iSAAA,EAAA,cAAA,CAAA,SAAA,CAAU,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA,aAAA,EAAA,cAAA,CACtB,YAAY,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA,0DAAA,EAGUA,eAAA,MAAA,CAAO,KAAK,CAAA,CAAA,sCAAA,EACnBA,cAAAA,CAAA,OAAO,YAAY,CAAA,CAAA,6BAAA,EAAA,cAAA,CAAA;;YAG+B,MAAA,CAAO,SAAA,KAAS,YAAA,+BAAA,GAAA;AAAA,WAAA,CAAA,CAAA,EAAA,EAIrGA,cAAAA,CAAA,OAAO,SAAS,CAAA,CAAA,mBAAA,CAAA,CAAA;;;;;;UAOd,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;AAIlB,MAAA,IAAA,eAAA,CAAA,KAAA,CAAgB,MAAA,GAAM,CAAA,EAAA;;;UAE7B,EAAA,EAAG,UAAA;AAAA,UACH,KAAA,EAAM;AAAA,SAAA,EAAA;2BAFR,CAMW,CAAA,EAAAC,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;gBADI,IAAA,EAAM,EAAA;AAAA,gBAAI,KAAA,EAAM;AAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;gCAF9B,yBAEC,CAAA;AAAA,gBAAAC,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,kBAAzB,IAAA,EAAM,EAAA;AAAA,kBAAI,KAAA,EAAM;AAAA,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC9C5B,MAAA,KAAA,CAAA,CAAA,QAAA,EAAAC,eAAAC,UAAAA,CAAA,EAAA,OAAM,2BAAA,EAAA,EAA2B,MAAA,CAAA,CAAA,CAAA,mRAAA,CAAA,CAAA;;;;QAelC,EAAA,EAAG,UAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAMW,CAAA,EAAAL,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cADI,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;8BAF9B,yBAEC,CAAA;AAAA,cAAAC,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,gBAAzB,IAAA,EAAM,EAAA;AAAA,gBAAI,KAAA,EAAM;AAAA,eAAA;;;;;;;;;;;;;;;;;;;;ACqBvC,IAAA,MAAM,IAAA,GAAO,GAAA,CAAI,EAAE,CAAA;AAWnB,IAAA,MAAM,UAAA,GAAa,CAAC,UAAA,KAAe;AACjC,MAAA,IAAI,CAAC,YAAY,OAAO,EAAA;AACxB,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,OAAO,IAAA,CAAK,mBAAmB,OAAA,EAAS;AAAA,QACtC,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO,MAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN,CAAA;AAAA,IACH,CAAA;;AA3DiB,MAAA,IAAA,IAAA,CAAA,KAAA,CAAK,MAAA,GAAM,CAAA,EAAA;AAAM,QAAA,KAAA,CAAA,CAAA,QAAA,EAAAC,eAAAC,UAAAA,CAAA,EAAA,OAAM,yBAAA,EAAA,EAAyB,MAAA,CAAA,CAAA,CAAA,+fAAA,CAAA,CAAA;AAcxCC,QAAAA,aAAAA,CAAA,IAAA,CAAA,QAAR,IAAA,KAAI;;;YAKE,IAAA,EAAM,EAAA;AAAA,YAAI,KAAA,EAAM;AAAA,WAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;mCACxB,UAAA,CAAW,IAAA,CAAK,OAAO,CAAA,CAAA,CAAA,oFAAA,EAIvBP,cAAAA,CAAA,KAAK,KAAK,CAAA,CAAA,2DAAA,EAIVA,cAAAA,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA,cAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AC5BhB,MAAA,KAAA,CAAA,CAAA,QAAA,EAAAK,eAAAC,UAAAA,CAAA,EAAA,OAAM,uDAAA,EAAA,EAAuD,MAAA,CAAA,CAAA,CAAA,8GAAA,CAAA,CAAA;;QAK9D,EAAA,EAAG,iBAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAoBW,CAAA,EAAAL,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cAdM,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;cAYhB,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;;AAd/BC,cAAAA,WAAAA,CAOM,KAAA,EAAA,EAPD,KAAA,EAAM,wBAAA,EAAwB,EAAA;AAAA,gBACjCA,WAAAA,CAEM,KAAA,EAAA,EAFD,KAAA,EAAM,qHAAmH,EAAA;AAAA,kBAC5HA,WAAAA,CAAyFC,KAAAA,CAAA,QAAA,CAAA,EAAA;AAAA,oBAA9E,IAAA,EAAM,EAAA;AAAA,oBAAI,KAAA,EAAM;AAAA,mBAAA;;AAE7BD,gBAAAA,WAAAA,CAEK,IAAA,EAAA,EAFD,KAAA,EAAM,oDAAA,IAAqD,mBAE/D;AAAA,eAAA,CAAA;AAEFA,cAAAA,WAAAA,CAGI,GAAA,EAAA,EAHD,KAAA,EAAM,oBAAA,IAAqB,wIAG9B,CAAA;AAAA,cACAA,WAAAA,CAGM,KAAA,EAAA,EAHD,KAAA,EAAM,mGAAiG,EAAA;AAAA,gBAAA,eAAA,CAAC,iBAE3G,CAAA;AAAA,gBAAAA,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,kBAAzB,IAAA,EAAM,EAAA;AAAA,kBAAI,KAAA,EAAM;AAAA,iBAAA;;;;;;;;QAM/B,EAAA,EAAG,UAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAoBW,CAAA,EAAAH,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cAdE,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;cAYZ,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;;AAd/BC,cAAAA,WAAAA,CAOM,KAAA,EAAA,EAPD,KAAA,EAAM,wBAAA,EAAwB,EAAA;AAAA,gBACjCA,WAAAA,CAEM,KAAA,EAAA,EAFD,KAAA,EAAM,qHAAmH,EAAA;AAAA,kBAC5HA,WAAAA,CAAqFC,KAAAA,CAAA,IAAA,CAAA,EAAA;AAAA,oBAA9E,IAAA,EAAM,EAAA;AAAA,oBAAI,KAAA,EAAM;AAAA,mBAAA;;AAEzBD,gBAAAA,WAAAA,CAEK,IAAA,EAAA,EAFD,KAAA,EAAM,oDAAA,IAAqD,qBAE/D;AAAA,eAAA,CAAA;AAEFA,cAAAA,WAAAA,CAGI,GAAA,EAAA,EAHD,KAAA,EAAM,oBAAA,IAAqB,+GAG9B,CAAA;AAAA,cACAA,WAAAA,CAGM,KAAA,EAAA,EAHD,KAAA,EAAM,mGAAiG,EAAA;AAAA,gBAAA,eAAA,CAAC,sBAE3G,CAAA;AAAA,gBAAAA,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,kBAAzB,IAAA,EAAM,EAAA;AAAA,kBAAI,KAAA,EAAM;AAAA,iBAAA;;;;;;;;;;;;;;;;;;;;;;AC7ClC,MAAA,KAAA,CAAA,CAAA,IAAA,EAAAC,eAAAC,UAAAA,CAAA,EAAA,OAAM,YAAA,EAAA,EAAY,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/build/server.mjs b/.output/server/chunks/build/server.mjs index 67721d6..9e3337d 100644 --- a/.output/server/chunks/build/server.mjs +++ b/.output/server/chunks/build/server.mjs @@ -416,7 +416,7 @@ const _routes = [ { name: "index", path: "/", - component: () => import('./index-BJlTQXby.mjs') + component: () => import('./index-CGHXrhNd.mjs') }, { name: "login", diff --git a/.output/server/chunks/build/styles.mjs b/.output/server/chunks/build/styles.mjs index f9be526..f6a7bee 100644 --- a/.output/server/chunks/build/styles.mjs +++ b/.output/server/chunks/build/styles.mjs @@ -2,12 +2,12 @@ const interopDefault = r => r.default || r || []; const styles = { "node_modules/nuxt/dist/app/components/error-404.vue": () => import('./error-404-styles.BsF5Lbhq.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-500.vue": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault), - "components/Hero.vue": () => import('./Hero-styles.DnxJI8Rq.mjs').then(interopDefault), + "components/Hero.vue": () => import('./Hero-styles.BpJ8SM3N.mjs').then(interopDefault), "components/PublicNews.vue": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault), - "components/Hero.vue?vue&type=style&index=0&scoped=33d25311&lang.css": () => import('./Hero-styles.DnxJI8Rq.mjs').then(interopDefault), - "components/PublicNews.vue?vue&type=style&index=0&scoped=f894f108&lang.css": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault), "node_modules/nuxt/dist/app/components/error-404.vue?vue&type=style&index=0&scoped=b728498f&lang.css": () => import('./error-404-styles.BsF5Lbhq.mjs').then(interopDefault), - "node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=70d84538&lang.css": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault) + "node_modules/nuxt/dist/app/components/error-500.vue?vue&type=style&index=0&scoped=70d84538&lang.css": () => import('./error-500-styles.Dccc6iq5.mjs').then(interopDefault), + "components/Hero.vue?vue&type=style&index=0&scoped=ff244c06&lang.css": () => import('./Hero-styles.BpJ8SM3N.mjs').then(interopDefault), + "components/PublicNews.vue?vue&type=style&index=0&scoped=f894f108&lang.css": () => import('./PublicNews-styles.nhqk16g5.mjs').then(interopDefault) }; export { styles as default }; diff --git a/.output/server/chunks/nitro/nitro.mjs b/.output/server/chunks/nitro/nitro.mjs index f8c9270..c4b740d 100644 --- a/.output/server/chunks/nitro/nitro.mjs +++ b/.output/server/chunks/nitro/nitro.mjs @@ -4293,7 +4293,7 @@ function _expandFromEnv(value) { const _inlineRuntimeConfig = { "app": { "baseURL": "/", - "buildId": "b481f44a-53e1-4bb6-af09-f69e4ce348a6", + "buildId": "91a49fd2-e68d-45c2-a8dc-fb93d147c1ef", "buildAssetsDir": "/_nuxt/", "cdnURL": "" }, @@ -4741,541 +4741,555 @@ const assets = { "/data/mannschaften.csv": { "type": "text/csv; charset=utf-8", "etag": "\"858-l94GKn8Q0I5RQnhrM0ZPJsYUmcw\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 2136, "path": "../public/data/mannschaften.csv" }, "/data/spielsysteme.csv": { "type": "text/csv; charset=utf-8", "etag": "\"9bc-4npLrNHYClsD0TKV5vSifxitfV0\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 2492, "path": "../public/data/spielsysteme.csv" }, "/data/termine.csv": { "type": "text/csv; charset=utf-8", "etag": "\"2e8-sZtaHF6QRmOQHinTWOLAYRgo6xk\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 744, "path": "../public/data/termine.csv" }, "/data/vereinsmeisterschaften.csv": { "type": "text/csv; charset=utf-8", "etag": "\"989-X8AB+Zegy2xUbjDtbQcXhuuyBDQ\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 2441, "path": "../public/data/vereinsmeisterschaften.csv" }, "/documents/Tischtennisregeln light.pdf": { "type": "application/pdf", "etag": "\"5177b-y/88q2+Y3RRechJMqWhse21KRdQ\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 333691, "path": "../public/documents/Tischtennisregeln light.pdf" }, "/documents/satzung.pdf": { "type": "application/pdf", "etag": "\"5c7cf-L0A3nT8D24T9sD57FFbij3QRpzw\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 378831, "path": "../public/documents/satzung.pdf" }, - "/_nuxt/B2cfq_o5.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1bd6-6YIneWgOuyhQMD1NK7bywAkIigM\"", - "mtime": "2025-10-21T13:28:05.811Z", - "size": 7126, - "path": "../public/_nuxt/B2cfq_o5.js" - }, - "/_nuxt/B4mSF5Ac.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"185-hHs3mU4qOcQAkGQaPrUYGaG0yao\"", - "mtime": "2025-10-21T13:28:05.811Z", - "size": 389, - "path": "../public/_nuxt/B4mSF5Ac.js" - }, - "/_nuxt/B7YOuq0i.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"16e6-8Vg7v0CXkfV49YEc1JQXy1gLan0\"", - "mtime": "2025-10-21T13:28:05.811Z", - "size": 5862, - "path": "../public/_nuxt/B7YOuq0i.js" - }, - "/_nuxt/B7gCv9SJ.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"81f-6Bk0n+tL5RE//UqXtfpZLRWgrZg\"", - "mtime": "2025-10-21T13:28:05.811Z", - "size": 2079, - "path": "../public/_nuxt/B7gCv9SJ.js" - }, - "/_nuxt/BFexRfL9.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"2029-iwuoR9lxo+DXhLAHMZAO2zACM08\"", - "mtime": "2025-10-21T13:28:05.811Z", - "size": 8233, - "path": "../public/_nuxt/BFexRfL9.js" - }, - "/_nuxt/BN9lzb-3.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1d90-9Hts4zf/hA14MfsVOPAOthFPRPg\"", - "mtime": "2025-10-21T13:28:05.811Z", - "size": 7568, - "path": "../public/_nuxt/BN9lzb-3.js" - }, - "/_nuxt/BStiaRgF.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1bdb-by0G4l2av3eFbDLNqMqS6ZO3BbU\"", - "mtime": "2025-10-21T13:28:05.811Z", - "size": 7131, - "path": "../public/_nuxt/BStiaRgF.js" - }, - "/_nuxt/BVFhdtwe.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1a9f-8pjUss6nQPq/UmK1V5sazK+zbw8\"", - "mtime": "2025-10-21T13:28:05.811Z", - "size": 6815, - "path": "../public/_nuxt/BVFhdtwe.js" - }, - "/_nuxt/BXPpCwtT.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"201d-C/Rtoa0Sra3hiXaQTO+xleXaljA\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 8221, - "path": "../public/_nuxt/BXPpCwtT.js" - }, - "/_nuxt/BdCoUFEM.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"3513-/hvdsaB1K6Hs48drV05zWAbpFdA\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 13587, - "path": "../public/_nuxt/BdCoUFEM.js" - }, - "/_nuxt/BkmncYmZ.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"3458-qSzm+7ekHc626arhZ883JlKVz5E\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 13400, - "path": "../public/_nuxt/BkmncYmZ.js" - }, - "/_nuxt/BteKZQ9T.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1ea-kmrGdt5SPmt15EiBI7kR9gXMQM0\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 490, - "path": "../public/_nuxt/BteKZQ9T.js" - }, - "/_nuxt/C0ltx_3z.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"13f6-6rN8M8DVjq/+sVK7SDeigUISXsQ\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 5110, - "path": "../public/_nuxt/C0ltx_3z.js" - }, - "/_nuxt/C3ZC2MBN.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"faa-Ajon44LbytnI1LXkETzWpD+H1MI\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 4010, - "path": "../public/_nuxt/C3ZC2MBN.js" - }, - "/_nuxt/C5SyyWEb.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"2a5-06iX+CL3i0ysaqW9nu7Eg2YzDhQ\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 677, - "path": "../public/_nuxt/C5SyyWEb.js" - }, - "/_nuxt/C7t1i8dL.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"177f-qD3UGuE4OC7U28On19lvyMsH2RY\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 6015, - "path": "../public/_nuxt/C7t1i8dL.js" - }, - "/_nuxt/C8kQt0fa.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"197-7X99z1xphxry8OnMwU7Ofs/uE0Q\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 407, - "path": "../public/_nuxt/C8kQt0fa.js" - }, - "/_nuxt/C9SglkVL.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"ee2-953PjDhBAep38tbBTU3/pMqFyww\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 3810, - "path": "../public/_nuxt/C9SglkVL.js" - }, - "/_nuxt/CCK7-3Cn.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1744-nF+y2r0cejVMq7OvztbaX6LXfAE\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 5956, - "path": "../public/_nuxt/CCK7-3Cn.js" - }, - "/_nuxt/CGpRzXRB.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"37d-FnxQohNMb8l0n0XcPv+1bmf1WCE\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 893, - "path": "../public/_nuxt/CGpRzXRB.js" - }, - "/_nuxt/CI8YYLGa.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"d8b-SdM/XDodrfUIexPUk7MhxL0ud70\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 3467, - "path": "../public/_nuxt/CI8YYLGa.js" - }, - "/_nuxt/CNPVZmuq.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"5f0-y8oRGHNYpR1drnPii3wiaBPCuFI\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 1520, - "path": "../public/_nuxt/CNPVZmuq.js" - }, - "/_nuxt/CStFQbHi.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1556-vq5n9s1NgeKebJ1S7Y++ZAocVlI\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 5462, - "path": "../public/_nuxt/CStFQbHi.js" - }, - "/_nuxt/CUUerAfc.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"dfc-Smw5sC6NZreSrNIZOnqDdZG0W0w\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 3580, - "path": "../public/_nuxt/CUUerAfc.js" - }, - "/_nuxt/CUq_0rkE.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"12d-JV4KW1fgT85/V3Ap13X4q2h9U3g\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 301, - "path": "../public/_nuxt/CUq_0rkE.js" - }, - "/_nuxt/CW9krljs.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"dbf-R7lqTpP/JoeELqrwiRklrTVdlP0\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 3519, - "path": "../public/_nuxt/CW9krljs.js" - }, - "/_nuxt/CWEkTB1z.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"198-ej4DRqc3/5nSwWU3c6wbOD3Ib9w\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 408, - "path": "../public/_nuxt/CWEkTB1z.js" - }, - "/_nuxt/CWgKKRjY.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"b10-oFx7HbsWZe0GKjDpkXZkW7joVCk\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 2832, - "path": "../public/_nuxt/CWgKKRjY.js" - }, - "/_nuxt/C_U-NUAd.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"13f-zgvIssSMnG3JGf/eGC7PlZzbsiY\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 319, - "path": "../public/_nuxt/C_U-NUAd.js" - }, - "/_nuxt/CkzaQq3X.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"17d-+xKrHjeww4bpFFkkjUNLD/ebn5A\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 381, - "path": "../public/_nuxt/CkzaQq3X.js" - }, - "/_nuxt/CrCcIvVp.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"274-9U7hEMtgHqdnQopnKeJsBKqKyKw\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 628, - "path": "../public/_nuxt/CrCcIvVp.js" - }, - "/_nuxt/CswPsggF.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"e71-obPuUDcnyVuainJoqDqOI+lLOfY\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 3697, - "path": "../public/_nuxt/CswPsggF.js" - }, - "/_nuxt/Cx4UcKGu.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"19d-5AMD0EnFEjOkM3qKDpC/NZZzwDI\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 413, - "path": "../public/_nuxt/Cx4UcKGu.js" - }, - "/_nuxt/Czdc6-TI.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"165-EMJ/yP2qajGIw0CL3y+L/hvMM/8\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 357, - "path": "../public/_nuxt/Czdc6-TI.js" - }, - "/_nuxt/DAACT36i.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1f9-dVOk5jAwb0VlMLJevIcT+s2NTgM\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 505, - "path": "../public/_nuxt/DAACT36i.js" - }, - "/_nuxt/DBnABJGp.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1827-PbVA559ApdC1/neKomM5sWq0IhA\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 6183, - "path": "../public/_nuxt/DBnABJGp.js" - }, - "/_nuxt/DCs9V8J_.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"11e7-UCtZMx2ShP0gsCdkgYlIloMbe0o\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 4583, - "path": "../public/_nuxt/DCs9V8J_.js" - }, - "/_nuxt/DDTUZ4Th.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"abb-N0NL4NDFLt42oHQ3+Ws+o2Z/tvI\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 2747, - "path": "../public/_nuxt/DDTUZ4Th.js" - }, - "/_nuxt/DI-K9rkb.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"32c5d-lwYfzRapiOf/45q1IY0eDwG4q4o\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 207965, - "path": "../public/_nuxt/DI-K9rkb.js" - }, - "/_nuxt/DMxhMw0T.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"10bb-ir0Ow3ryWVo8ggQ21XxSz7jP0qM\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 4283, - "path": "../public/_nuxt/DMxhMw0T.js" - }, - "/_nuxt/DQLCaib_.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"4d4-hA+KSGQaw/SsH1RENR0AxOi8ozI\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 1236, - "path": "../public/_nuxt/DQLCaib_.js" - }, - "/_nuxt/DaSgy0Cl.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"11f-soKnh1qfNJj5nvt+IcgQXYvg/z4\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 287, - "path": "../public/_nuxt/DaSgy0Cl.js" - }, - "/_nuxt/DjHhXTxu.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"bf0-pl2SjG1OYCV8b7twHgCDhp0DPjA\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 3056, - "path": "../public/_nuxt/DjHhXTxu.js" - }, - "/_nuxt/DjQJos7H.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1860-S+9hyNf3cwlVv5xbUvp0O8iMduw\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 6240, - "path": "../public/_nuxt/DjQJos7H.js" - }, - "/_nuxt/DkeYb0_S.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1ce-xiaAbRvqQ+zffTXF3Gc7rq14R0U\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 462, - "path": "../public/_nuxt/DkeYb0_S.js" - }, - "/_nuxt/DlAUqK2U.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"5b-eFCz/UrraTh721pgAl0VxBNR1es\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 91, - "path": "../public/_nuxt/DlAUqK2U.js" - }, - "/_nuxt/Harheimer TC.CKfYAfp1.svg": { - "type": "image/svg+xml", - "etag": "\"1d2535-Tx2lTuuFn2hBqGZOnDan3/OdRU0\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 1910069, - "path": "../public/_nuxt/Harheimer TC.CKfYAfp1.svg" - }, - "/_nuxt/KxVBmS-6.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"190-F0LVEAqwB2LwyGzW0v9yzLx0v/0\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 400, - "path": "../public/_nuxt/KxVBmS-6.js" - }, - "/_nuxt/LPF2GIYR.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"557-80ya3yG6VaGTcTbyJrpOfIs1ttU\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 1367, - "path": "../public/_nuxt/LPF2GIYR.js" - }, - "/_nuxt/Nh9QSW5G.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"16e9-VlsoKrolZ8b/Tj1EnMxCrdJKNoQ\"", - "mtime": "2025-10-21T13:28:05.812Z", - "size": 5865, - "path": "../public/_nuxt/Nh9QSW5G.js" - }, - "/_nuxt/OKH0iApX.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1daf-ltSqcBR4uurZVghDG5Txy7FOpJU\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 7599, - "path": "../public/_nuxt/OKH0iApX.js" - }, - "/_nuxt/QJE7pTvy.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1168-+rLAWWl8VA0HzSSdoBscXD/ZgX4\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 4456, - "path": "../public/_nuxt/QJE7pTvy.js" - }, - "/_nuxt/RzC6IeuO.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"685-0Jk+uTMaWz7Mx7NwTQafO+Hd8g0\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 1669, - "path": "../public/_nuxt/RzC6IeuO.js" - }, - "/_nuxt/SRZHqrjk.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"383-+7H4gpbdqNaMFlhjcQOVxgmex04\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 899, - "path": "../public/_nuxt/SRZHqrjk.js" - }, - "/_nuxt/XZ6RV9KH.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"175-xr1poEaGS4yjOp907AsRAr6XHLI\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 373, - "path": "../public/_nuxt/XZ6RV9KH.js" - }, - "/_nuxt/YJHbYJtA.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"19f-nQw578pUen9o8yYaMA8Bwag6xho\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 415, - "path": "../public/_nuxt/YJHbYJtA.js" - }, - "/_nuxt/YTUQ4PrF.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1d86-v0DlDfjK4Z2ltLCdJAIjJyXB/ZQ\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 7558, - "path": "../public/_nuxt/YTUQ4PrF.js" - }, - "/_nuxt/entry.IG_VkyCs.css": { - "type": "text/css; charset=utf-8", - "etag": "\"b5d5-y1n1xCyN5h2n7auBnntVRFmS3gw\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 46549, - "path": "../public/_nuxt/entry.IG_VkyCs.css" - }, - "/_nuxt/error-404.CbXQcqJW.css": { - "type": "text/css; charset=utf-8", - "etag": "\"97e-Ty5bTTSEudJkO/DsGUoIf37xYxc\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 2430, - "path": "../public/_nuxt/error-404.CbXQcqJW.css" - }, - "/_nuxt/error-500.L485xXhD.css": { - "type": "text/css; charset=utf-8", - "etag": "\"773-jNt1QdCa+iqaSZb1mv/IQWC5p6w\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 1907, - "path": "../public/_nuxt/error-500.L485xXhD.css" - }, - "/_nuxt/index.DqdQJZen.css": { - "type": "text/css; charset=utf-8", - "etag": "\"1db-xuGJ+gmy8idDz8qXy3nIfG923fc\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 475, - "path": "../public/_nuxt/index.DqdQJZen.css" - }, - "/_nuxt/jVj3QaoK.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"196-xWXv220Sy3kJeouwzrQ/gnXllWQ\"", - "mtime": "2025-10-21T13:28:05.813Z", - "size": 406, - "path": "../public/_nuxt/jVj3QaoK.js" + "/images/club_about_us.png": { + "type": "image/png", + "etag": "\"202e56-s4fLsHEgoAgKJeBRuI1qxPmqHV0\"", + "mtime": "2025-10-21T13:37:52.541Z", + "size": 2109014, + "path": "../public/images/club_about_us.png" }, "/spielplaene/1. Mannschaft 2025⁄2026.pdf": { "type": "application/pdf", "etag": "\"64c6-+477M+gD/spwpWR9NO/tMJ/inCc\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 25798, "path": "../public/spielplaene/1. Mannschaft 2025⁄2026.pdf" }, "/spielplaene/2. Mannschaft 2025⁄2026.pdf": { "type": "application/pdf", "etag": "\"5bfa-DRJMHLV15iss67lEISoGqSYmZjE\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 23546, "path": "../public/spielplaene/2. Mannschaft 2025⁄2026.pdf" }, "/spielplaene/3. Mannschaft 2025⁄2026.pdf": { "type": "application/pdf", "etag": "\"7447-w933CPQdXhkWJ2AZOVdY0UgJnPo\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 29767, "path": "../public/spielplaene/3. Mannschaft 2025⁄2026.pdf" }, "/spielplaene/4. Mannschaft 2025⁄2026.pdf": { "type": "application/pdf", "etag": "\"6a9b-4TPGn1yQlFUMRj7oB43SN//Np9o\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 27291, "path": "../public/spielplaene/4. Mannschaft 2025⁄2026.pdf" }, "/spielplaene/5. Mannschaft 2025⁄2026.pdf": { "type": "application/pdf", "etag": "\"6523-5VUfCMaoiNhcwHhptHHTVJ3lSwQ\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 25891, "path": "../public/spielplaene/5. Mannschaft 2025⁄2026.pdf" }, "/spielplaene/Jugend 11 2025⁄2026.pdf": { "type": "application/pdf", "etag": "\"52e9-3Rrk9UKUxPh80pBJ0w9oLVbe5dA\"", - "mtime": "2025-10-21T13:28:05.816Z", + "mtime": "2025-10-21T13:37:52.541Z", "size": 21225, "path": "../public/spielplaene/Jugend 11 2025⁄2026.pdf" }, - "/images/club_about_us.png": { - "type": "image/png", - "etag": "\"202e56-s4fLsHEgoAgKJeBRuI1qxPmqHV0\"", - "mtime": "2025-10-21T13:28:05.816Z", - "size": 2109014, - "path": "../public/images/club_about_us.png" + "/_nuxt/B23trXK4.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1168-Ulrp7wDqGkKdNtiJFHTxmUmXldI\"", + "mtime": "2025-10-21T13:37:52.537Z", + "size": 4456, + "path": "../public/_nuxt/B23trXK4.js" + }, + "/_nuxt/B3KXwwdt.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"81f-a2SnM+umqZ4dmwPE80AuhD/ofeY\"", + "mtime": "2025-10-21T13:37:52.537Z", + "size": 2079, + "path": "../public/_nuxt/B3KXwwdt.js" + }, + "/_nuxt/B4mSF5Ac.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"185-hHs3mU4qOcQAkGQaPrUYGaG0yao\"", + "mtime": "2025-10-21T13:37:52.537Z", + "size": 389, + "path": "../public/_nuxt/B4mSF5Ac.js" + }, + "/_nuxt/B6TEfPSg.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"faa-eKvxmyzZhwTvzR8CVB/YoBNhWPw\"", + "mtime": "2025-10-21T13:37:52.537Z", + "size": 4010, + "path": "../public/_nuxt/B6TEfPSg.js" + }, + "/_nuxt/BASo1Rw1.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1a9f-AETC+kRrTxOyu6uck7TEQ709m7k\"", + "mtime": "2025-10-21T13:37:52.537Z", + "size": 6815, + "path": "../public/_nuxt/BASo1Rw1.js" + }, + "/_nuxt/BC4PNGtJ.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"175-33lu59Ps/+kwbPv/hVeUdrq4wmI\"", + "mtime": "2025-10-21T13:37:52.537Z", + "size": 373, + "path": "../public/_nuxt/BC4PNGtJ.js" + }, + "/_nuxt/BGsE9M8w.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1dc5-wDAFBA19AfN1chv6Fou4TR+Ocyk\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 7621, + "path": "../public/_nuxt/BGsE9M8w.js" + }, + "/_nuxt/BRhWghMt.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"16e9-77KyMLdoERbk/9I/4xig919AOCQ\"", + "mtime": "2025-10-21T13:37:52.537Z", + "size": 5865, + "path": "../public/_nuxt/BRhWghMt.js" + }, + "/_nuxt/BU5mk92E.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"2029-KCj/1gSBJVISCuMvs9MA7PoIdnY\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 8233, + "path": "../public/_nuxt/BU5mk92E.js" + }, + "/_nuxt/BZLaJF8o.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"685-ABktMZGm1wLg51VMeeUc8FwDm3U\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 1669, + "path": "../public/_nuxt/BZLaJF8o.js" + }, + "/_nuxt/Bdk8d7qx.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"11e7-YYqkAkZMNacy1r/CaMWBfPJ94OU\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 4583, + "path": "../public/_nuxt/Bdk8d7qx.js" + }, + "/_nuxt/BjiYAScN.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"13f6-Hw3IRFNgh5L2rLxP61MG/cT8NzA\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 5110, + "path": "../public/_nuxt/BjiYAScN.js" + }, + "/_nuxt/Bn7G3VMx.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"16eb-6SRn6aWwajUUKphf99cu+aqdGpU\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 5867, + "path": "../public/_nuxt/Bn7G3VMx.js" + }, + "/_nuxt/BteKZQ9T.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1ea-kmrGdt5SPmt15EiBI7kR9gXMQM0\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 490, + "path": "../public/_nuxt/BteKZQ9T.js" + }, + "/_nuxt/BxR6w-Hd.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"5f0-Wm3M/7i81O9ViLRC6jPn0eQp24g\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 1520, + "path": "../public/_nuxt/BxR6w-Hd.js" + }, + "/_nuxt/C-bqeYjt.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"3513-AcHmeXV6b+tvCtqgBG6EnnxPL8w\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 13587, + "path": "../public/_nuxt/C-bqeYjt.js" + }, + "/_nuxt/C1eD6HzQ.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"abb-rmFamqyRm9KsgptRPeFJlFZ7AdI\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 2747, + "path": "../public/_nuxt/C1eD6HzQ.js" + }, + "/_nuxt/C5SyyWEb.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"2a5-06iX+CL3i0ysaqW9nu7Eg2YzDhQ\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 677, + "path": "../public/_nuxt/C5SyyWEb.js" + }, + "/_nuxt/C5WkR1xp.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"b10-7bTi/rXEsVv7CfCAujimlOWU3q0\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 2832, + "path": "../public/_nuxt/C5WkR1xp.js" + }, + "/_nuxt/C8kQt0fa.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"197-7X99z1xphxry8OnMwU7Ofs/uE0Q\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 407, + "path": "../public/_nuxt/C8kQt0fa.js" + }, + "/_nuxt/C9SglkVL.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"ee2-953PjDhBAep38tbBTU3/pMqFyww\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 3810, + "path": "../public/_nuxt/C9SglkVL.js" + }, + "/_nuxt/C9UhLsiJ.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1744-UhJxrXDy4uAkLfPpSs6j/m/gx64\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 5956, + "path": "../public/_nuxt/C9UhLsiJ.js" + }, + "/_nuxt/CGpRzXRB.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"37d-FnxQohNMb8l0n0XcPv+1bmf1WCE\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 893, + "path": "../public/_nuxt/CGpRzXRB.js" + }, + "/_nuxt/CI8YYLGa.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"d8b-SdM/XDodrfUIexPUk7MhxL0ud70\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 3467, + "path": "../public/_nuxt/CI8YYLGa.js" + }, + "/_nuxt/COK-PGSA.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1556-zTPwefaXANTxfUv6X27Ctd3j468\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 5462, + "path": "../public/_nuxt/COK-PGSA.js" + }, + "/_nuxt/CQbOfyWX.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"32c8e-BRY5tjpShU2JEmPvmVXJgqCkSW0\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 208014, + "path": "../public/_nuxt/CQbOfyWX.js" + }, + "/_nuxt/CT6VfTlB.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"10bb-m3q/ne67feCvdLmlKowXgEW18XE\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 4283, + "path": "../public/_nuxt/CT6VfTlB.js" + }, + "/_nuxt/CTuRK0lH.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"177f-9AHJLxzT1QXHm05RkMKEx5CuaVU\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 6015, + "path": "../public/_nuxt/CTuRK0lH.js" + }, + "/_nuxt/CUq_0rkE.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"12d-JV4KW1fgT85/V3Ap13X4q2h9U3g\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 301, + "path": "../public/_nuxt/CUq_0rkE.js" + }, + "/_nuxt/CW9krljs.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"dbf-R7lqTpP/JoeELqrwiRklrTVdlP0\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 3519, + "path": "../public/_nuxt/CW9krljs.js" + }, + "/_nuxt/CWEkTB1z.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"198-ej4DRqc3/5nSwWU3c6wbOD3Ib9w\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 408, + "path": "../public/_nuxt/CWEkTB1z.js" + }, + "/_nuxt/C_U-NUAd.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"13f-zgvIssSMnG3JGf/eGC7PlZzbsiY\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 319, + "path": "../public/_nuxt/C_U-NUAd.js" + }, + "/_nuxt/CkzaQq3X.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"17d-+xKrHjeww4bpFFkkjUNLD/ebn5A\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 381, + "path": "../public/_nuxt/CkzaQq3X.js" + }, + "/_nuxt/CrCcIvVp.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"274-9U7hEMtgHqdnQopnKeJsBKqKyKw\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 628, + "path": "../public/_nuxt/CrCcIvVp.js" + }, + "/_nuxt/CvtlfSR0.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1860-M3/zR8vfhVWmJ6erGqFzdHXQXuE\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 6240, + "path": "../public/_nuxt/CvtlfSR0.js" + }, + "/_nuxt/Cx4UcKGu.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"19d-5AMD0EnFEjOkM3qKDpC/NZZzwDI\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 413, + "path": "../public/_nuxt/Cx4UcKGu.js" + }, + "/_nuxt/Czdc6-TI.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"165-EMJ/yP2qajGIw0CL3y+L/hvMM/8\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 357, + "path": "../public/_nuxt/Czdc6-TI.js" + }, + "/_nuxt/D11oUMHK.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1d9a-l6JEyKxxIcbq3Kkksqm5qE2ZWj4\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 7578, + "path": "../public/_nuxt/D11oUMHK.js" + }, + "/_nuxt/D99LnZYi.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1bdb-/r79rlmI33Ifam5FH18djsiUTQ8\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 7131, + "path": "../public/_nuxt/D99LnZYi.js" + }, + "/_nuxt/DAACT36i.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1f9-dVOk5jAwb0VlMLJevIcT+s2NTgM\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 505, + "path": "../public/_nuxt/DAACT36i.js" + }, + "/_nuxt/DHQur1V-.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1827-DA/YFWxSxxRm0zvcpiuZvwwfzNE\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 6183, + "path": "../public/_nuxt/DHQur1V-.js" + }, + "/_nuxt/DaSgy0Cl.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"11f-soKnh1qfNJj5nvt+IcgQXYvg/z4\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 287, + "path": "../public/_nuxt/DaSgy0Cl.js" + }, + "/_nuxt/DdHhmCne.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"22d-uKYfhsDcUsz2NrXOJmxptUGZdyE\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 557, + "path": "../public/_nuxt/DdHhmCne.js" + }, + "/_nuxt/DjcJk1g8.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"201d-oQ9NMDE0anKxIZA105IRItTlM2w\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 8221, + "path": "../public/_nuxt/DjcJk1g8.js" + }, + "/_nuxt/DkeYb0_S.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1ce-xiaAbRvqQ+zffTXF3Gc7rq14R0U\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 462, + "path": "../public/_nuxt/DkeYb0_S.js" + }, + "/_nuxt/DlAUqK2U.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"5b-eFCz/UrraTh721pgAl0VxBNR1es\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 91, + "path": "../public/_nuxt/DlAUqK2U.js" + }, + "/_nuxt/DvrqIJw1.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"dfc-YqdcBHK+H9m+Gjgl+qCwmlBEIX0\"", + "mtime": "2025-10-21T13:37:52.538Z", + "size": 3580, + "path": "../public/_nuxt/DvrqIJw1.js" + }, + "/_nuxt/Dx1KRsmK.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1d86-kU610bWwsXBL249yP4W8lasEh3c\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 7558, + "path": "../public/_nuxt/Dx1KRsmK.js" + }, + "/_nuxt/DxIIJuzj.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"bf0-Q7VHINZ8z6pKO1o0BhgbcvRgIr0\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 3056, + "path": "../public/_nuxt/DxIIJuzj.js" + }, + "/_nuxt/Harheimer TC.CKfYAfp1.svg": { + "type": "image/svg+xml", + "etag": "\"1d2535-Tx2lTuuFn2hBqGZOnDan3/OdRU0\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 1910069, + "path": "../public/_nuxt/Harheimer TC.CKfYAfp1.svg" + }, + "/_nuxt/KD1G0xGW.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"251d-9mSm4uBS4U3k2RvCDR4CFh/cyzU\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 9501, + "path": "../public/_nuxt/KD1G0xGW.js" + }, + "/_nuxt/KxVBmS-6.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"190-F0LVEAqwB2LwyGzW0v9yzLx0v/0\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 400, + "path": "../public/_nuxt/KxVBmS-6.js" + }, + "/_nuxt/LPF2GIYR.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"557-80ya3yG6VaGTcTbyJrpOfIs1ttU\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 1367, + "path": "../public/_nuxt/LPF2GIYR.js" + }, + "/_nuxt/XZ6RV9KH.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"175-xr1poEaGS4yjOp907AsRAr6XHLI\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 373, + "path": "../public/_nuxt/XZ6RV9KH.js" + }, + "/_nuxt/YJHbYJtA.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"19f-nQw578pUen9o8yYaMA8Bwag6xho\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 415, + "path": "../public/_nuxt/YJHbYJtA.js" + }, + "/_nuxt/entry.DJ18GRwo.css": { + "type": "text/css; charset=utf-8", + "etag": "\"b628-Lo+DD9g1xXZWVoLY98IqfOoLNTY\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 46632, + "path": "../public/_nuxt/entry.DJ18GRwo.css" + }, + "/_nuxt/error-404.CbXQcqJW.css": { + "type": "text/css; charset=utf-8", + "etag": "\"97e-Ty5bTTSEudJkO/DsGUoIf37xYxc\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 2430, + "path": "../public/_nuxt/error-404.CbXQcqJW.css" + }, + "/_nuxt/error-500.L485xXhD.css": { + "type": "text/css; charset=utf-8", + "etag": "\"773-jNt1QdCa+iqaSZb1mv/IQWC5p6w\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 1907, + "path": "../public/_nuxt/error-500.L485xXhD.css" + }, + "/_nuxt/index.cxXLuf7u.css": { + "type": "text/css; charset=utf-8", + "etag": "\"1db-tVatgXxf30JZI684VZ6cO3K5lkQ\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 475, + "path": "../public/_nuxt/index.cxXLuf7u.css" + }, + "/_nuxt/jVj3QaoK.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"196-xWXv220Sy3kJeouwzrQ/gnXllWQ\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 406, + "path": "../public/_nuxt/jVj3QaoK.js" + }, + "/_nuxt/nrzLFm_7.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"32e3-ybdqGbfFawjPOvyY2mCJu5CTjkg\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 13027, + "path": "../public/_nuxt/nrzLFm_7.js" + }, + "/_nuxt/oN0_bS6A.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1d3-DKhiaT2RUlSXk55jBttctUuTQQI\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 467, + "path": "../public/_nuxt/oN0_bS6A.js" + }, + "/_nuxt/rgKTeSYE.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"e71-IzPUyj76F9mR9c9DaEV7x6UlmP0\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 3697, + "path": "../public/_nuxt/rgKTeSYE.js" + }, + "/_nuxt/sVyj_WZX.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"4d4-T+i1jfWN+C61xV/Shhjh8+auLuI\"", + "mtime": "2025-10-21T13:37:52.539Z", + "size": 1236, + "path": "../public/_nuxt/sVyj_WZX.js" }, "/_nuxt/builds/latest.json": { "type": "application/json", - "etag": "\"47-Y9kmNTFMesn0iVXzHT/FpBzyHSE\"", - "mtime": "2025-10-21T13:28:05.805Z", + "etag": "\"47-twu3tzwisF9kSp5STQPrG4z2vwU\"", + "mtime": "2025-10-21T13:37:52.531Z", "size": 71, "path": "../public/_nuxt/builds/latest.json" }, - "/_nuxt/builds/meta/b481f44a-53e1-4bb6-af09-f69e4ce348a6.json": { + "/_nuxt/builds/meta/91a49fd2-e68d-45c2-a8dc-fb93d147c1ef.json": { "type": "application/json", - "etag": "\"8b-oZuj/8l7oQ31QmS0ngmguVBHbUk\"", - "mtime": "2025-10-21T13:28:05.802Z", + "etag": "\"8b-FbedD3Dm2/nOQaYFjltnPAfIaqg\"", + "mtime": "2025-10-21T13:37:52.528Z", "size": 139, - "path": "../public/_nuxt/builds/meta/b481f44a-53e1-4bb6-af09-f69e4ce348a6.json" + "path": "../public/_nuxt/builds/meta/91a49fd2-e68d-45c2-a8dc-fb93d147c1ef.json" } }; diff --git a/.output/server/chunks/routes/renderer.mjs b/.output/server/chunks/routes/renderer.mjs index 56cab47..7c18bae 100644 --- a/.output/server/chunks/routes/renderer.mjs +++ b/.output/server/chunks/routes/renderer.mjs @@ -272,7 +272,7 @@ async function renderInlineStyles(usedModules) { const renderSSRHeadOptions = {"omitLineBreaks":true}; -const entryFileName = "DI-K9rkb.js"; +const entryFileName = "CQbOfyWX.js"; globalThis.__buildAssetsURL = buildAssetsURL; globalThis.__publicAssetsURL = publicAssetsURL; diff --git a/components/Hero.vue b/components/Hero.vue index d70920f..9aeedc3 100644 --- a/components/Hero.vue +++ b/components/Hero.vue @@ -12,7 +12,7 @@ -
+

Willkommen beim
@@ -25,13 +25,6 @@

- - -
-
-
-
-