From 228e2e9f070db1d6285443b91bb18e69fc026de0 Mon Sep 17 00:00:00 2001 From: "Torsten Schulz (local)" Date: Tue, 21 Oct 2025 16:47:55 +0200 Subject: [PATCH] Connect Vorstand page to config and add Einstellungen to CMS overview --- .output/nitro.json | 2 +- .output/public/_nuxt/B23trXK4.js | 1 - .output/public/_nuxt/B3KXwwdt.js | 1 - .output/public/_nuxt/BLmxLqU-.js | 12 - .output/public/_nuxt/BZLaJF8o.js | 1 - .output/public/_nuxt/B_w5gbrC.js | 11 - .output/public/_nuxt/Bivc7aFF.js | 2 - .output/public/_nuxt/BpS9ghZc.js | 2 - .output/public/_nuxt/BqZP274n.js | 1 - .output/public/_nuxt/C-bqeYjt.js | 1 - .output/public/_nuxt/C1eD6HzQ.js | 1 - .output/public/_nuxt/C3627_Er.js | 31 - .output/public/_nuxt/C9SglkVL.js | 1 - .output/public/_nuxt/CASz9Fiv.js | 6 - .output/public/_nuxt/CDaMcsB4.js | 1 - .output/public/_nuxt/CJ4iaRop.js | 1 - .output/public/_nuxt/CTuRK0lH.js | 1 - .output/public/_nuxt/CW9krljs.js | 1 - .output/public/_nuxt/C_U-NUAd.js | 1 - .output/public/_nuxt/Cx_3U4cr.js | 11 - .output/public/_nuxt/CzgMfPlN.js | 1 - .output/public/_nuxt/D99LnZYi.js | 1 - .output/public/_nuxt/DCC-mN0A.js | 6 - .output/public/_nuxt/DDYB2ueJ.js | 1 - .output/public/_nuxt/DF1dYnic.js | 2 - .output/public/_nuxt/DYva3pFh.js | 1 - .output/public/_nuxt/DeoKPvBx.js | 6 - .output/public/_nuxt/DjcJk1g8.js | 16 - .output/public/_nuxt/LPF2GIYR.js | 1 - .output/public/_nuxt/S5xR3JqC.js | 7 - .output/public/_nuxt/builds/latest.json | 2 +- .output/public/_nuxt/pO5XAgdL.js | 1 - .output/public/_nuxt/rgKTeSYE.js | 1 - .output/public/_nuxt/sVyj_WZX.js | 1 - .../server/chunks/build/client.manifest.mjs | 172 +++--- .output/server/chunks/build/server.mjs | 38 +- .output/server/chunks/nitro/nitro.mjs | 550 +++++++++--------- .output/server/chunks/routes/renderer.mjs | 2 +- pages/cms/index.vue | 18 +- pages/vorstand.vue | 129 +++- 40 files changed, 523 insertions(+), 522 deletions(-) delete mode 100644 .output/public/_nuxt/B23trXK4.js delete mode 100644 .output/public/_nuxt/B3KXwwdt.js delete mode 100644 .output/public/_nuxt/BLmxLqU-.js delete mode 100644 .output/public/_nuxt/BZLaJF8o.js delete mode 100644 .output/public/_nuxt/B_w5gbrC.js delete mode 100644 .output/public/_nuxt/Bivc7aFF.js delete mode 100644 .output/public/_nuxt/BpS9ghZc.js delete mode 100644 .output/public/_nuxt/BqZP274n.js delete mode 100644 .output/public/_nuxt/C-bqeYjt.js delete mode 100644 .output/public/_nuxt/C1eD6HzQ.js delete mode 100644 .output/public/_nuxt/C3627_Er.js delete mode 100644 .output/public/_nuxt/C9SglkVL.js delete mode 100644 .output/public/_nuxt/CASz9Fiv.js delete mode 100644 .output/public/_nuxt/CDaMcsB4.js delete mode 100644 .output/public/_nuxt/CJ4iaRop.js delete mode 100644 .output/public/_nuxt/CTuRK0lH.js delete mode 100644 .output/public/_nuxt/CW9krljs.js delete mode 100644 .output/public/_nuxt/C_U-NUAd.js delete mode 100644 .output/public/_nuxt/Cx_3U4cr.js delete mode 100644 .output/public/_nuxt/CzgMfPlN.js delete mode 100644 .output/public/_nuxt/D99LnZYi.js delete mode 100644 .output/public/_nuxt/DCC-mN0A.js delete mode 100644 .output/public/_nuxt/DDYB2ueJ.js delete mode 100644 .output/public/_nuxt/DF1dYnic.js delete mode 100644 .output/public/_nuxt/DYva3pFh.js delete mode 100644 .output/public/_nuxt/DeoKPvBx.js delete mode 100644 .output/public/_nuxt/DjcJk1g8.js delete mode 100644 .output/public/_nuxt/LPF2GIYR.js delete mode 100644 .output/public/_nuxt/S5xR3JqC.js delete mode 100644 .output/public/_nuxt/pO5XAgdL.js delete mode 100644 .output/public/_nuxt/rgKTeSYE.js delete mode 100644 .output/public/_nuxt/sVyj_WZX.js diff --git a/.output/nitro.json b/.output/nitro.json index 0fd5f96..303ca38 100644 --- a/.output/nitro.json +++ b/.output/nitro.json @@ -1,5 +1,5 @@ { - "date": "2025-10-21T14:42:46.721Z", + "date": "2025-10-21T14:47:54.684Z", "preset": "node-server", "framework": { "name": "nuxt", diff --git a/.output/public/_nuxt/B23trXK4.js b/.output/public/_nuxt/B23trXK4.js deleted file mode 100644 index eab5b4a..0000000 --- a/.output/public/_nuxt/B23trXK4.js +++ /dev/null @@ -1 +0,0 @@ -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/B3KXwwdt.js b/.output/public/_nuxt/B3KXwwdt.js deleted file mode 100644 index 5029f11..0000000 --- a/.output/public/_nuxt/B3KXwwdt.js +++ /dev/null @@ -1 +0,0 @@ -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/BLmxLqU-.js b/.output/public/_nuxt/BLmxLqU-.js deleted file mode 100644 index c330ce5..0000000 --- a/.output/public/_nuxt/BLmxLqU-.js +++ /dev/null @@ -1,12 +0,0 @@ -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,i as S,n as h,b as d,u as m,d as c,o as i,t as n,j 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. - * See the LICENSE file in the root directory of this source tree. - */const E=z("HashIcon",[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]]);/** - * @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 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/BZLaJF8o.js b/.output/public/_nuxt/BZLaJF8o.js deleted file mode 100644 index 749ab72..0000000 --- a/.output/public/_nuxt/BZLaJF8o.js +++ /dev/null @@ -1 +0,0 @@ -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/B_w5gbrC.js b/.output/public/_nuxt/B_w5gbrC.js deleted file mode 100644 index e5a1c15..0000000 --- a/.output/public/_nuxt/B_w5gbrC.js +++ /dev/null @@ -1,11 +0,0 @@ -import{e as h,r as c,c as n,o as a,a as e,F as x,i as y,n as f,p,s as C,t as g,l as I,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 _=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=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/Bivc7aFF.js b/.output/public/_nuxt/Bivc7aFF.js deleted file mode 100644 index 519b10d..0000000 --- a/.output/public/_nuxt/Bivc7aFF.js +++ /dev/null @@ -1,2 +0,0 @@ -import{r as S,h as C,c as i,o as l,F as w,i as k,a as e,t as m,n as D,j 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/BpS9ghZc.js b/.output/public/_nuxt/BpS9ghZc.js deleted file mode 100644 index 7ac4dde..0000000 --- a/.output/public/_nuxt/BpS9ghZc.js +++ /dev/null @@ -1,2 +0,0 @@ -import{A as M,r as L,h as N,c as l,a as e,t as a,F as z,i as C,j 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/BqZP274n.js b/.output/public/_nuxt/BqZP274n.js deleted file mode 100644 index aed3b7d..0000000 --- a/.output/public/_nuxt/BqZP274n.js +++ /dev/null @@ -1 +0,0 @@ -import{u as g}from"./C_U-NUAd.js";import{C as p}from"./YJHbYJtA.js";import{r as h,g as b,h as y,c as r,a as e,F as f,i as w,b as _,u as v,o,t as n,n as D}from"#entry";const k={class:"min-h-full py-16 bg-gray-50"},T={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},M={key:0,class:"space-y-4"},F={class:"flex items-start space-x-4"},z={class:"flex-shrink-0 w-16 h-16 bg-primary-600 rounded-xl flex flex-col items-center justify-center text-white"},S={class:"text-2xl font-bold"},A={class:"text-xs"},J={class:"flex-1"},C={class:"flex items-start justify-between"},H={class:"text-xl font-semibold text-gray-900 mb-1"},$={class:"text-gray-600 mb-2"},B={class:"text-sm text-gray-500"},N={key:1,class:"text-center py-16 bg-white rounded-xl shadow-lg"},O={__name:"termine",setup(V){const l=h([]),m=b(()=>{const s=new Date;return s.setHours(0,0,0,0),l.value.filter(t=>new Date(t.datum)>=s).sort((t,a)=>new Date(t.datum)-new Date(a.datum))}),d=s=>new Date(s).getDate(),u=s=>{const t=new Date(s);return["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"][t.getMonth()]},c=s=>{const t=new Date(s),a=["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],i=["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"];return`${a[t.getDay()]}, ${t.getDate()}. ${i[t.getMonth()]} ${t.getFullYear()}`},x=async()=>{try{const s=await $fetch("/api/termine");l.value=s.termine||[]}catch(s){console.error("Fehler beim Laden der Termine:",s),l.value=[]}};return y(()=>{x()}),g({title:"Termine & Events - Harheimer TC"}),(s,t)=>(o(),r("div",k,[e("div",T,[t[2]||(t[2]=e("div",{class:"text-center mb-12"},[e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Termine & Events "),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"}," Alle kommenden Termine und Veranstaltungen des Harheimer TC ")],-1)),m.value.length>0?(o(),r("div",M,[(o(!0),r(f,null,w(m.value,(a,i)=>(o(),r("div",{key:i,class:"bg-white rounded-xl shadow-lg p-6 hover:shadow-xl transition-shadow"},[e("div",F,[e("div",z,[e("span",S,n(d(a.datum)),1),e("span",A,n(u(a.datum)),1)]),e("div",J,[e("div",C,[e("div",null,[e("h3",H,n(a.titel),1),e("p",$,n(a.beschreibung),1),e("p",B,n(c(a.datum)),1)]),e("span",{class:D(["px-3 py-1 text-sm font-medium rounded-full",a.kategorie==="Turnier"?"bg-yellow-100 text-yellow-800":"bg-blue-100 text-blue-800"])},n(a.kategorie),3)])])])]))),128))])):(o(),r("div",N,[_(v(p),{size:64,class:"text-gray-400 mx-auto mb-4"}),t[0]||(t[0]=e("h3",{class:"text-2xl font-semibold text-gray-900 mb-2"},"Keine kommenden Termine",-1)),t[1]||(t[1]=e("p",{class:"text-gray-600"}," Aktuell sind keine Termine geplant. Schauen Sie bald wieder vorbei! ",-1))])),t[3]||(t[3]=e("div",{class:"mt-12 bg-primary-50 border border-primary-100 rounded-xl p-6"},[e("h3",{class:"text-lg font-semibold text-primary-900 mb-2"}," Hinweis "),e("p",{class:"text-primary-800"}," Alle Termine sind vorbehaltlich kurzfristiger Änderungen. Bei Fragen zu einzelnen Veranstaltungen kontaktieren Sie uns gerne. ")],-1))])]))}};export{O as default}; diff --git a/.output/public/_nuxt/C-bqeYjt.js b/.output/public/_nuxt/C-bqeYjt.js deleted file mode 100644 index cee2e48..0000000 --- a/.output/public/_nuxt/C-bqeYjt.js +++ /dev/null @@ -1 +0,0 @@ -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/C1eD6HzQ.js b/.output/public/_nuxt/C1eD6HzQ.js deleted file mode 100644 index de1bb3e..0000000 --- a/.output/public/_nuxt/C1eD6HzQ.js +++ /dev/null @@ -1 +0,0 @@ -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/C3627_Er.js b/.output/public/_nuxt/C3627_Er.js deleted file mode 100644 index c466fc1..0000000 --- a/.output/public/_nuxt/C3627_Er.js +++ /dev/null @@ -1,31 +0,0 @@ -import{e as s,c as i,o as a,a as e,f as p,F as h,i 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. - * See the LICENSE file in the root directory of this source tree. - */const x=s("CloudRainIcon",[["path",{d:"M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242",key:"1pljnt"}],["path",{d:"M16 14v6",key:"1j4efv"}],["path",{d:"M8 14v6",key:"17c4r9"}],["path",{d:"M12 16v6",key:"c8a4gj"}]]);/** - * @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=s("DropletsIcon",[["path",{d:"M7 16.3c2.2 0 4-1.83 4-4.05 0-1.16-.57-2.26-1.71-3.19S7.29 6.75 7 5.3c-.29 1.45-1.14 2.84-2.29 3.76S3 11.1 3 12.25c0 2.22 1.8 4.05 4 4.05z",key:"1ptgy4"}],["path",{d:"M12.56 6.6A10.97 10.97 0 0 0 14 3.02c.5 2.5 2 4.9 4 6.5s3 3.5 3 5.5a6.98 6.98 0 0 1-11.91 4.97",key:"1sl1rz"}]]);/** - * @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=s("DumbbellIcon",[["path",{d:"m6.5 6.5 11 11",key:"f7oqzb"}],["path",{d:"m21 21-1-1",key:"cpc6if"}],["path",{d:"m3 3 1 1",key:"d3rpuf"}],["path",{d:"m18 22 4-4",key:"1e32o6"}],["path",{d:"m2 6 4-4",key:"189tqz"}],["path",{d:"m3 10 7-7",key:"1bxui2"}],["path",{d:"m14 21 7-7",key:"16x78n"}]]);/** - * @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 k=s("SunIcon",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** - * @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 _=s("UtensilsIcon",[["path",{d:"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2",key:"cjf0a3"}],["path",{d:"M7 2v20",key:"1473qp"}],["path",{d:"M21 15V2v0a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7",key:"1ogz0v"}]]);/** - * @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 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))])]))}},C={class:"min-h-screen"},B={__name:"anlagen",setup(c){return v({title:"Anlagen - Harheimer TC"}),(n,d)=>(a(),i("div",C,[f(S)]))}};export{B as default}; diff --git a/.output/public/_nuxt/C9SglkVL.js b/.output/public/_nuxt/C9SglkVL.js deleted file mode 100644 index 7d0922d..0000000 --- a/.output/public/_nuxt/C9SglkVL.js +++ /dev/null @@ -1 +0,0 @@ -import{c as s,o as a,a as t,t as n,b as i,w as u,d as c,_ as l}from"#entry";import{_ as d}from"./DlAUqK2U.js";import{u as f}from"./C_U-NUAd.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],b=["textContent"],g=["textContent"],x={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Page not found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(e){const r=e;return f({title:`${r.statusCode} - ${r.statusMessage} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,_)=>{const o=l;return a(),s("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.statusCode)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusMessage)},null,8,b),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,g),t("div",x,[i(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:u(()=>[c(n(e.backHome),1)]),_:1})])])])}}},N=d(y,[["__scopeId","data-v-b728498f"]]);export{N as default}; diff --git a/.output/public/_nuxt/CASz9Fiv.js b/.output/public/_nuxt/CASz9Fiv.js deleted file mode 100644 index b9808ce..0000000 --- a/.output/public/_nuxt/CASz9Fiv.js +++ /dev/null @@ -1,6 +0,0 @@ -import{e as a,k as d,c as g,a as t,b as s,p as m,j as u,w as l,u as r,_ as x,o as i}from"#entry";import{u as p}from"./C_U-NUAd.js";import{N as c}from"./DAACT36i.js";import{C as h}from"./YJHbYJtA.js";import{U as b}from"./DkeYb0_S.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=a("UserCogIcon",[["circle",{cx:"18",cy:"15",r:"3",key:"gjjjvw"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}],["path",{d:"M10 15H6a4 4 0 0 0-4 4v2",key:"1nfge6"}],["path",{d:"m21.7 16.4-.9-.3",key:"12j9ji"}],["path",{d:"m15.2 13.9-.9-.3",key:"1fdjdi"}],["path",{d:"m16.6 18.7.3-.9",key:"heedtr"}],["path",{d:"m19.1 12.2.3-.9",key:"1af3ki"}],["path",{d:"m19.6 18.7-.4-1",key:"1x9vze"}],["path",{d:"m16.8 12.3-.4-1",key:"vqeiwj"}],["path",{d:"m14.3 16.6 1-.4",key:"1qlj63"}],["path",{d:"m20.7 13.8 1-.4",key:"1v5t8k"}]]),f={class:"min-h-full py-16 bg-gray-50"},w={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},v={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},_={class:"flex items-center mb-4"},k={class:"w-12 h-12 bg-blue-100 rounded-lg flex items-center justify-center group-hover:bg-blue-600 transition-colors"},j={class:"flex items-center mb-4"},C={class:"w-12 h-12 bg-green-100 rounded-lg flex items-center justify-center group-hover:bg-green-600 transition-colors"},z={class:"flex items-center mb-4"},N={class:"w-12 h-12 bg-purple-100 rounded-lg flex items-center justify-center group-hover:bg-purple-600 transition-colors"},B={class:"flex items-center mb-4"},M={class:"w-12 h-12 bg-yellow-100 rounded-lg flex items-center justify-center group-hover:bg-yellow-600 transition-colors"},T={__name:"index",setup(S){const n=d();return p({title:"CMS - Harheimer TC"}),(U,e)=>{const o=x;return i(),g("div",f,[t("div",w,[e[8]||(e[8]=t("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Content Management System ",-1)),e[9]||(e[9]=t("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t("div",v,[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",_,[t("div",k,[s(r(c),{size:24,class:"text-blue-600 group-hover:text-white"})]),e[0]||(e[0]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Interne News",-1))]),e[1]||(e[1]=t("p",{class:"text-gray-600"}," News für Mitglieder erstellen und verwalten ",-1))]),_:1}),s(o,{to:"/cms/termine",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",j,[t("div",C,[s(r(h),{size:24,class:"text-green-600 group-hover:text-white"})]),e[2]||(e[2]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Termine",-1))]),e[3]||(e[3]=t("p",{class:"text-gray-600"}," Vereinstermine erstellen und 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",z,[t("div",N,[s(r(b),{size:24,class:"text-purple-600 group-hover:text-white"})]),e[4]||(e[4]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Mitglieder",-1))]),e[5]||(e[5]=t("p",{class:"text-gray-600"}," Mitgliederliste bearbeiten ",-1))]),_:1}),r(n).role==="admin"?(i(),m(o,{key:0,to:"/cms/benutzer",class:"bg-white p-6 rounded-xl shadow-lg border border-gray-100 hover:shadow-xl transition-all group"},{default:l(()=>[t("div",B,[t("div",M,[s(r(y),{size:24,class:"text-yellow-600 group-hover:text-white"})]),e[6]||(e[6]=t("h2",{class:"ml-4 text-xl font-semibold text-gray-900"},"Benutzerverwaltung",-1))]),e[7]||(e[7]=t("p",{class:"text-gray-600"}," Benutzer freischalten und verwalten ",-1))]),_:1})):u("",!0)])])])}}};export{T as default}; diff --git a/.output/public/_nuxt/CDaMcsB4.js b/.output/public/_nuxt/CDaMcsB4.js deleted file mode 100644 index ca0e095..0000000 --- a/.output/public/_nuxt/CDaMcsB4.js +++ /dev/null @@ -1 +0,0 @@ -import{k as _,r as i,h as S,c as f,a as s,b as v,u as c,l as V,j 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/CJ4iaRop.js b/.output/public/_nuxt/CJ4iaRop.js deleted file mode 100644 index d676d37..0000000 --- a/.output/public/_nuxt/CJ4iaRop.js +++ /dev/null @@ -1 +0,0 @@ -import{r as d,h as f,x as _,c as a,j as u,o as n,a as e,F as b,i 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/CTuRK0lH.js b/.output/public/_nuxt/CTuRK0lH.js deleted file mode 100644 index cd219d9..0000000 --- a/.output/public/_nuxt/CTuRK0lH.js +++ /dev/null @@ -1 +0,0 @@ -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/CW9krljs.js b/.output/public/_nuxt/CW9krljs.js deleted file mode 100644 index 5895a92..0000000 --- a/.output/public/_nuxt/CW9krljs.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as o}from"./DlAUqK2U.js";import{u as s}from"./C_U-NUAd.js";import{c as a,o as i,a as t,t as r}from"#entry";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},l={class:"max-w-520px text-center"},c=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return s({title:`${n.statusCode} - ${n.statusMessage} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(m,g)=>(i(),a("div",u,[t("div",l,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.statusCode)},null,8,c),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusMessage)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},y=o(f,[["__scopeId","data-v-70d84538"]]);export{y as default}; diff --git a/.output/public/_nuxt/C_U-NUAd.js b/.output/public/_nuxt/C_U-NUAd.js deleted file mode 100644 index a2266b5..0000000 --- a/.output/public/_nuxt/C_U-NUAd.js +++ /dev/null @@ -1 +0,0 @@ -import{C as a,D as s,E as r,G as u,H as o}from"#entry";function d(t){const e=t||s();return e.ssrContext?.head||e.runWithContext(()=>{if(r()){const n=u(o);if(!n)throw new Error("[nuxt] [unhead] Missing Unhead instance.");return n}})}function i(t,e={}){const n=e.head||d(e.nuxt);return a(t,{head:n,...e})}export{i as u}; diff --git a/.output/public/_nuxt/Cx_3U4cr.js b/.output/public/_nuxt/Cx_3U4cr.js deleted file mode 100644 index 041a3d2..0000000 --- a/.output/public/_nuxt/Cx_3U4cr.js +++ /dev/null @@ -1,11 +0,0 @@ -import{e as B,k as K,r as p,g as T,h as I,c as l,a as e,j as i,p as $,d as h,s as G,u as n,t as d,b as u,F as b,i 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}from"./6EY4_GXp.js";import{T as U}from"./FF_cyd6S.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"],Ct={__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{Ct as default}; diff --git a/.output/public/_nuxt/CzgMfPlN.js b/.output/public/_nuxt/CzgMfPlN.js deleted file mode 100644 index d61cabd..0000000 --- a/.output/public/_nuxt/CzgMfPlN.js +++ /dev/null @@ -1 +0,0 @@ -import{r as g,g as f,h as S,c as i,a as e,j as 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,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/D99LnZYi.js b/.output/public/_nuxt/D99LnZYi.js deleted file mode 100644 index bfd4cd7..0000000 --- a/.output/public/_nuxt/D99LnZYi.js +++ /dev/null @@ -1 +0,0 @@ -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/DCC-mN0A.js b/.output/public/_nuxt/DCC-mN0A.js deleted file mode 100644 index 3327e9c..0000000 --- a/.output/public/_nuxt/DCC-mN0A.js +++ /dev/null @@ -1,6 +0,0 @@ -import{e as k,k as L,r as i,c as p,a as e,l as M,j 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"}]]),q={class:"min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},D={class:"max-w-md w-full space-y-8"},I={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",q,[e("div",D,[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",I,[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}; diff --git a/.output/public/_nuxt/DDYB2ueJ.js b/.output/public/_nuxt/DDYB2ueJ.js deleted file mode 100644 index c10e809..0000000 --- a/.output/public/_nuxt/DDYB2ueJ.js +++ /dev/null @@ -1 +0,0 @@ -import{k as L,r as d,h as z,c as l,a as e,j as p,b as m,d as w,u as c,F as C,i as M,l as k,m as g,v as h,y as P,f as A,t as u,p as B,o,n as $}from"#entry";import{u as j}from"./C_U-NUAd.js";import{P as E}from"./R6Iy1jPP.js";import{L as _}from"./CUq_0rkE.js";import{T as F}from"./FF_cyd6S.js";import{A as N}from"./C8kQt0fa.js";const U={class:"min-h-full py-16 bg-gray-50"},q={class:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"},K={class:"flex justify-between items-center mb-6"},H={key:0,class:"flex items-center justify-center py-12"},O={key:1,class:"bg-white rounded-xl shadow-lg overflow-hidden"},R={class:"overflow-x-auto"},G={class:"min-w-full divide-y divide-gray-200"},I={class:"bg-white divide-y divide-gray-200"},J={class:"px-4 py-3 whitespace-nowrap text-sm text-gray-900"},Q={class:"px-4 py-3 text-sm font-medium text-gray-900"},W={class:"px-4 py-3 text-sm text-gray-600"},X={class:"px-4 py-3 whitespace-nowrap"},Y={class:"px-4 py-3 whitespace-nowrap text-right text-sm font-medium"},Z=["onClick"],ee={key:0,class:"text-center py-12 text-gray-500"},te={class:"bg-white rounded-xl shadow-2xl max-w-2xl w-full p-8"},se={class:"grid grid-cols-2 gap-4"},ae=["disabled"],re=["disabled"],ie=["disabled"],oe=["disabled"],le={key:0,class:"flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm"},ne={class:"flex justify-end space-x-4 pt-4"},de=["disabled"],ue=["disabled"],ve={__name:"termine",setup(ce){L();const x=d(!0),r=d(!1),b=d([]),y=d(!1),n=d(""),i=d({datum:"",titel:"",beschreibung:"",kategorie:"Sonstiges"}),f=async()=>{x.value=!0;try{const a=await $fetch("/api/termine-manage");b.value=a.termine}catch(a){console.error("Fehler beim Laden der Termine:",a)}finally{x.value=!1}},T=()=>{i.value={datum:"",titel:"",beschreibung:"",kategorie:"Sonstiges"},y.value=!0,n.value=""},v=()=>{y.value=!1,n.value=""},S=async()=>{r.value=!0,n.value="";try{await $fetch("/api/termine-manage",{method:"POST",body:i.value}),v(),await f()}catch(a){n.value=a.data?.message||"Fehler beim Speichern des Termins."}finally{r.value=!1}},V=async a=>{if(confirm(`Möchten Sie den Termin "${a.titel}" wirklich löschen?`))try{const t=new URLSearchParams({datum:a.datum,titel:a.titel,beschreibung:a.beschreibung||"",kategorie:a.kategorie||"Sonstiges"});await $fetch(`/api/termine-manage?${t.toString()}`,{method:"DELETE"}),await f()}catch{alert("Fehler beim Löschen des Termins.")}},D=a=>a?new Date(a).toLocaleDateString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit"}):"";return z(()=>{f()}),j({title:"Termine verwalten - Harheimer TC"}),(a,t)=>(o(),l("div",U,[e("div",q,[e("div",K,[t[5]||(t[5]=e("div",null,[e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-2"}," Termine verwalten "),e("div",{class:"w-24 h-1 bg-primary-600 mb-4"})],-1)),e("button",{onClick:T,class:"flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},[m(c(E),{size:20,class:"mr-2"}),t[4]||(t[4]=w(" Termin hinzufügen ",-1))])]),x.value?(o(),l("div",H,[m(c(_),{size:40,class:"animate-spin text-primary-600"})])):(o(),l("div",O,[e("div",R,[e("table",G,[t[6]||(t[6]=e("thead",{class:"bg-gray-50"},[e("tr",null,[e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Datum"),e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Titel"),e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Beschreibung"),e("th",{class:"px-4 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"},"Kategorie"),e("th",{class:"px-4 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider"},"Aktionen")])],-1)),e("tbody",I,[(o(!0),l(C,null,M(b.value,s=>(o(),l("tr",{key:s.id,class:"hover:bg-gray-50"},[e("td",J,u(D(s.datum)),1),e("td",Q,u(s.titel),1),e("td",W,u(s.beschreibung||"-"),1),e("td",X,[e("span",{class:$([{"bg-blue-100 text-blue-800":s.kategorie==="Training","bg-green-100 text-green-800":s.kategorie==="Punktspiel","bg-purple-100 text-purple-800":s.kategorie==="Turnier","bg-yellow-100 text-yellow-800":s.kategorie==="Veranstaltung","bg-gray-100 text-gray-800":s.kategorie==="Sonstiges"},"px-2 py-1 text-xs font-medium rounded-full"])},u(s.kategorie),3)]),e("td",Y,[e("button",{onClick:pe=>V(s),class:"text-red-600 hover:text-red-900",title:"Löschen"},[m(c(F),{size:18})],8,Z)])]))),128))])])]),b.value.length===0?(o(),l("div",ee," Keine Termine vorhanden. ")):p("",!0)])),y.value?(o(),l("div",{key:2,class:"fixed inset-0 z-50 bg-black/50 flex items-center justify-center p-4",onClick:k(v,["self"])},[e("div",te,[t[12]||(t[12]=e("h2",{class:"text-2xl font-display font-bold text-gray-900 mb-6"}," Termin hinzufügen ",-1)),e("form",{onSubmit:k(S,["prevent"]),class:"space-y-4"},[e("div",se,[e("div",null,[t[7]||(t[7]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Datum *",-1)),g(e("input",{"onUpdate:modelValue":t[0]||(t[0]=s=>i.value.datum=s),type:"date",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:r.value},null,8,ae),[[h,i.value.datum]])]),e("div",null,[t[9]||(t[9]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Kategorie *",-1)),g(e("select",{"onUpdate:modelValue":t[1]||(t[1]=s=>i.value.kategorie=s),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:r.value},[...t[8]||(t[8]=[A('',5)])],8,re),[[P,i.value.kategorie]])])]),e("div",null,[t[10]||(t[10]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Titel *",-1)),g(e("input",{"onUpdate:modelValue":t[2]||(t[2]=s=>i.value.titel=s),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:r.value},null,8,ie),[[h,i.value.titel]])]),e("div",null,[t[11]||(t[11]=e("label",{class:"block text-sm font-medium text-gray-700 mb-2"},"Beschreibung",-1)),g(e("textarea",{"onUpdate:modelValue":t[3]||(t[3]=s=>i.value.beschreibung=s),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:r.value},null,8,oe),[[h,i.value.beschreibung]])]),n.value?(o(),l("div",le,[m(c(N),{size:20,class:"mr-2"}),w(" "+u(n.value),1)])):p("",!0),e("div",ne,[e("button",{type:"button",onClick:v,class:"px-6 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors",disabled:r.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:r.value},[r.value?(o(),B(c(_),{key:0,size:20,class:"animate-spin mr-2"})):p("",!0),e("span",null,u(r.value?"Speichert...":"Speichern"),1)],8,ue)])],32)])])):p("",!0)])]))}};export{ve as default}; diff --git a/.output/public/_nuxt/DF1dYnic.js b/.output/public/_nuxt/DF1dYnic.js deleted file mode 100644 index 830cf44..0000000 --- a/.output/public/_nuxt/DF1dYnic.js +++ /dev/null @@ -1,2 +0,0 @@ -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,i as f,n as h,b as _,u as w,t as d,d as z,o as n,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/DYva3pFh.js b/.output/public/_nuxt/DYva3pFh.js deleted file mode 100644 index dcb440c..0000000 --- a/.output/public/_nuxt/DYva3pFh.js +++ /dev/null @@ -1 +0,0 @@ -import{r as o,c as d,a as e,l as b,j 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/DeoKPvBx.js b/.output/public/_nuxt/DeoKPvBx.js deleted file mode 100644 index 04274b2..0000000 --- a/.output/public/_nuxt/DeoKPvBx.js +++ /dev/null @@ -1,6 +0,0 @@ -import{e as w,r as d,c as f,a as s,l as h,j 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. - * See the LICENSE file in the root directory of this source tree. - */const S=w("InfoIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]),T={class:"min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},z={class:"max-w-md w-full space-y-8"},C={class:"bg-white rounded-xl shadow-lg p-8"},L={key:0,class:"bg-red-50 border border-red-200 rounded-lg p-4"},N={class:"text-sm text-red-800 flex items-center"},Z={key:1,class:"bg-green-50 border border-green-200 rounded-lg p-4"},D={class:"text-sm text-green-800 flex items-center"},U=["disabled"],q={class:"text-center"},E={class:"bg-yellow-50 border border-yellow-200 rounded-lg p-4"},j={class:"text-sm text-yellow-800"},G={__name:"registrieren",setup(A){const r=d({name:"",email:"",phone:"",password:"",confirmPassword:""}),o=d(!1),a=d(""),i=d(""),v=async()=>{if(a.value="",i.value="",r.value.password.length<8){a.value="Das Passwort muss mindestens 8 Zeichen lang sein.";return}if(r.value.password!==r.value.confirmPassword){a.value="Die Passwörter stimmen nicht überein.";return}o.value=!0;try{(await $fetch("/api/auth/register",{method:"POST",body:{name:r.value.name,email:r.value.email,phone:r.value.phone,password:r.value.password}})).success&&(i.value="Registrierung erfolgreich! Sie erhalten eine E-Mail, sobald Ihr Zugang freigeschaltet wurde.",r.value={name:"",email:"",phone:"",password:"",confirmPassword:""},setTimeout(()=>{V("/login")},3e3))}catch(c){a.value=c.data?.message||"Registrierung fehlgeschlagen. Bitte versuchen Sie es später erneut."}finally{o.value=!1}};return _({title:"Registrierung - Harheimer TC"}),(c,e)=>{const x=P;return g(),f("div",T,[s("div",z,[e[14]||(e[14]=s("div",{class:"text-center"},[s("h2",{class:"text-3xl font-display font-bold text-gray-900"}," Registrierung "),s("p",{class:"mt-2 text-sm text-gray-600"}," Beantragen Sie Zugang zum Mitgliederbereich ")],-1)),s("div",C,[s("form",{onSubmit:h(v,["prevent"]),class:"space-y-6"},[s("div",null,[e[5]||(e[5]=s("label",{for:"name",class:"block text-sm font-medium text-gray-700 mb-2"}," Vollständiger Name ",-1)),l(s("input",{id:"name","onUpdate:modelValue":e[0]||(e[0]=t=>r.value.name=t),type:"text",required:"",autocomplete:"name",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",placeholder:"Max Mustermann"},null,512),[[n,r.value.name]])]),s("div",null,[e[6]||(e[6]=s("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),l(s("input",{id:"email","onUpdate:modelValue":e[1]||(e[1]=t=>r.value.email=t),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",placeholder:"ihre-email@example.com"},null,512),[[n,r.value.email]])]),s("div",null,[e[7]||(e[7]=s("label",{for:"phone",class:"block text-sm font-medium text-gray-700 mb-2"}," Telefonnummer (optional) ",-1)),l(s("input",{id:"phone","onUpdate:modelValue":e[2]||(e[2]=t=>r.value.phone=t),type:"tel",autocomplete:"tel",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",placeholder:"069-12345678"},null,512),[[n,r.value.phone]])]),s("div",null,[e[8]||(e[8]=s("label",{for:"password",class:"block text-sm font-medium text-gray-700 mb-2"}," Passwort ",-1)),l(s("input",{id:"password","onUpdate:modelValue":e[3]||(e[3]=t=>r.value.password=t),type:"password",required:"",autocomplete:"new-password",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",placeholder:"••••••••"},null,512),[[n,r.value.password]]),e[9]||(e[9]=s("p",{class:"mt-1 text-xs text-gray-500"}," Mindestens 8 Zeichen ",-1))]),s("div",null,[e[10]||(e[10]=s("label",{for:"confirmPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Passwort bestätigen ",-1)),l(s("input",{id:"confirmPassword","onUpdate:modelValue":e[4]||(e[4]=t=>r.value.confirmPassword=t),type:"password",required:"",autocomplete:"new-password",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",placeholder:"••••••••"},null,512),[[n,r.value.confirmPassword]])]),a.value?(g(),f("div",L,[s("p",N,[u(p(B),{size:18,class:"mr-2"}),m(" "+y(a.value),1)])])):b("",!0),i.value?(g(),f("div",Z,[s("p",D,[u(p(I),{size:18,class:"mr-2"}),m(" "+y(i.value),1)])])):b("",!0),s("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?(g(),k(p(R),{key:0,size:20,class:"mr-2 animate-spin"})):b("",!0),s("span",null,y(o.value?"Wird gesendet...":"Registrierung beantragen"),1)],8,U),s("div",q,[u(x,{to:"/login",class:"text-sm text-primary-600 hover:text-primary-700 font-medium"},{default:M(()=>[...e[11]||(e[11]=[m(" Bereits registriert? Zum Login ",-1)])]),_:1})])],32)]),s("div",E,[s("p",j,[u(p(S),{size:16,class:"inline mr-1"}),e[12]||(e[12]=s("strong",null,"Hinweis:",-1)),e[13]||(e[13]=m(" Ihre Registrierung muss vom Vorstand freigegeben werden. Sie erhalten eine E-Mail, sobald Ihr Zugang aktiviert wurde. ",-1))])])])])}}};export{G as default}; diff --git a/.output/public/_nuxt/DjcJk1g8.js b/.output/public/_nuxt/DjcJk1g8.js deleted file mode 100644 index 57deecd..0000000 --- a/.output/public/_nuxt/DjcJk1g8.js +++ /dev/null @@ -1,16 +0,0 @@ -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. - * See the LICENSE file in the root directory of this source tree. - */const f=n("CircleIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** - * @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 u=n("PlayIcon",[["polygon",{points:"5 3 19 12 5 21 5 3",key:"191637"}]]);/** - * @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=n("ZapIcon",[["polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",key:"45s27k"}]]),h={class:"min-h-full py-16 bg-gray-50"},w={class:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"},v={class:"grid md:grid-cols-2 gap-8 mb-12 items-stretch"},T={class:"bg-white rounded-xl shadow-lg p-8 border border-gray-100 flex flex-col h-full"},k={class:"flex items-center mb-6"},z={class:"w-12 h-12 bg-gradient-to-br from-blue-500 to-blue-600 rounded-xl flex items-center justify-center mr-4"},B={class:"bg-white rounded-xl shadow-lg p-8 border border-gray-100 flex flex-col h-full"},_={class:"flex items-center mb-6"},R={class:"w-12 h-12 bg-gradient-to-br from-primary-500 to-primary-600 rounded-xl flex items-center justify-center mr-4"},I={class:"bg-white rounded-xl shadow-lg p-8 mb-12"},D={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},F={class:"text-center p-6 bg-gray-50 rounded-lg"},V={class:"w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4"},j={class:"text-center p-6 bg-gray-50 rounded-lg"},S={class:"w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4"},G={class:"text-center p-6 bg-gray-50 rounded-lg"},H={class:"w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4"},P={class:"text-center p-6 bg-gray-50 rounded-lg"},N={class:"w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4"},O={class:"text-center p-6 bg-gray-50 rounded-lg"},W={class:"w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4"},A={class:"text-center p-6 bg-gray-50 rounded-lg"},C={class:"w-16 h-16 bg-primary-100 rounded-full flex items-center justify-center mx-auto mb-4"},E={class:"bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white"},L={class:"text-2xl font-display font-bold mb-6 flex items-center"},ee={__name:"tt-regeln",setup(M){return o({title:"TT-Regeln - Harheimer TC"}),(U,t)=>(x(),m("div",h,[e("div",w,[t[20]||(t[20]=e("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Tischtennis-Regeln ",-1)),t[21]||(t[21]=e("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),t[22]||(t[22]=e("p",{class:"text-xl text-gray-600 mb-12"}," Offizielle Regeln und Bestimmungen für den Tischtennissport ",-1)),e("div",v,[e("div",T,[e("div",k,[e("div",z,[r(l(a),{size:24,class:"text-white"})]),t[0]||(t[0]=e("div",null,[e("h2",{class:"text-2xl font-display font-bold text-gray-900"},"Offizielles ITTF-Reglement"),e("p",{class:"text-gray-600"},"Internationale Tischtennis-Regeln")],-1))]),t[1]||(t[1]=i('

Die offiziellen Regeln des Internationalen Tischtennis-Verbands (ITTF) gelten weltweit für alle Wettkämpfe und Turniere.

🔗 Offizielle ITTF-Regeln aufrufen

Deutsche Übersetzung auf tischtennis.de

Internationale Tischtennis-Regeln A & B

',2))]),e("div",B,[e("div",_,[e("div",R,[r(l(d),{size:24,class:"text-white"})]),t[2]||(t[2]=e("div",null,[e("h2",{class:"text-2xl font-display font-bold text-gray-900"},"Tischtennis-Regeln Light"),e("p",{class:"text-gray-600"},"Vereinfachte Übersicht")],-1))]),t[3]||(t[3]=e("p",{class:"text-gray-700 mb-6 leading-relaxed flex-grow"}," Eine kompakte Übersicht der wichtigsten Tischtennis-Regeln für Einsteiger und Hobbyspieler. Diese vereinfachte Version erklärt die Grundlagen verständlich und übersichtlich. ",-1)),t[4]||(t[4]=e("div",{class:"space-y-3 mt-auto"},[e("a",{href:"/documents/Tischtennisregeln light.pdf",target:"_blank",download:"",class:"block w-full px-6 py-4 bg-primary-600 hover:bg-primary-700 text-white font-bold rounded-lg transition-colors text-center text-lg border-2 border-primary-600 shadow-lg"}," ⬇️ Regeln Light herunterladen "),e("p",{class:"text-sm text-gray-500 text-center"}," PDF-Dokument (vereinfachte Fassung) ")],-1))])]),e("div",I,[t[17]||(t[17]=e("h2",{class:"text-3xl font-display font-bold text-gray-900 mb-8 text-center"}," Grundregeln im Überblick ",-1)),e("div",D,[e("div",F,[e("div",V,[r(l(g),{size:32,class:"text-primary-600"})]),t[5]||(t[5]=e("h3",{class:"text-xl font-semibold text-gray-900 mb-2"},"Spielfeld",-1)),t[6]||(t[6]=e("p",{class:"text-gray-600 text-sm"},[s(" Tisch: 2,74m × 1,525m, Höhe: 76cm"),e("br"),s(" Netz: 15,25cm hoch ")],-1))]),e("div",j,[e("div",S,[r(l(f),{size:32,class:"text-primary-600"})]),t[7]||(t[7]=e("h3",{class:"text-xl font-semibold text-gray-900 mb-2"},"Ball",-1)),t[8]||(t[8]=e("p",{class:"text-gray-600 text-sm"},[s(" Durchmesser: 40mm"),e("br"),s(" Gewicht: 2,7g ")],-1))]),e("div",G,[e("div",H,[r(l(y),{size:32,class:"text-primary-600"})]),t[9]||(t[9]=e("h3",{class:"text-xl font-semibold text-gray-900 mb-2"},"Schläger",-1)),t[10]||(t[10]=e("p",{class:"text-gray-600 text-sm"},[s(" Belag: schwarz + farbig"),e("br"),s(" (rot, grün, pink, blau, gelb, lila)"),e("br"),s(" Holz: mindestens 85% ")],-1))]),e("div",P,[e("div",N,[r(l(u),{size:32,class:"text-primary-600"})]),t[11]||(t[11]=e("h3",{class:"text-xl font-semibold text-gray-900 mb-2"},"Aufschlag",-1)),t[12]||(t[12]=e("p",{class:"text-gray-600 text-sm"},[s(" Ball muss sichtbar hochgeworfen werden"),e("br"),s(" Mindestens 16cm Höhe ")],-1))]),e("div",O,[e("div",W,[r(l(c),{size:32,class:"text-primary-600"})]),t[13]||(t[13]=e("h3",{class:"text-xl font-semibold text-gray-900 mb-2"},"Satz",-1)),t[14]||(t[14]=e("p",{class:"text-gray-600 text-sm"},[s(" Gewinn bei 11 Punkten"),e("br"),s(" Mindestens 2 Punkte Vorsprung ")],-1))]),e("div",A,[e("div",C,[r(l(p),{size:32,class:"text-primary-600"})]),t[15]||(t[15]=e("h3",{class:"text-xl font-semibold text-gray-900 mb-2"},"Spiel",-1)),t[16]||(t[16]=e("p",{class:"text-gray-600 text-sm"},[s(" Best of 5 oder 7 Sätze"),e("br"),s(" Wechsel alle 2 Punkte ")],-1))])])]),e("div",E,[e("h3",L,[r(l(b),{size:28,class:"mr-3"}),t[18]||(t[18]=s(" Weitere Informationen ",-1))]),t[19]||(t[19]=i('

Die offiziellen ITTF-Regeln werden regelmäßig aktualisiert und gelten für alle internationalen Wettkämpfe. Für regionale Turniere können abweichende Bestimmungen gelten.

Bei Fragen zu spezifischen Regeln wenden Sie sich an den Deutschen Tischtennis-Bund (DTTB) oder Ihren regionalen Verband.

',1))])])]))}};export{ee as default}; diff --git a/.output/public/_nuxt/LPF2GIYR.js b/.output/public/_nuxt/LPF2GIYR.js deleted file mode 100644 index f3bfde5..0000000 --- a/.output/public/_nuxt/LPF2GIYR.js +++ /dev/null @@ -1 +0,0 @@ -import{c as n,a as s,b as a,w as o,_ as r,o as l,d as i}from"#entry";import{u as m}from"./C_U-NUAd.js";const d={class:"min-h-full py-16 bg-gray-50"},x={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},p={class:"bg-white p-8 rounded-xl shadow-lg"},f={class:"mt-8"},h={__name:"damen",setup(g){return m({title:"Damenmannschaft - Harheimer TC"}),(u,t)=>{const e=r;return l(),n("div",d,[s("div",x,[t[6]||(t[6]=s("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Damenmannschaft ",-1)),t[7]||(t[7]=s("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),s("div",p,[t[3]||(t[3]=s("h3",{class:"text-2xl font-display font-bold text-gray-900 mb-4"},"1. Damen",-1)),t[4]||(t[4]=s("p",{class:"text-gray-600 mb-4"},"Liga: Bezirksliga",-1)),t[5]||(t[5]=s("p",{class:"text-gray-600 mb-6"},"Mannschaftsführerin: Name folgt",-1)),s("div",f,[t[1]||(t[1]=s("h4",{class:"text-lg font-semibold text-gray-900 mb-4"},"Wir suchen Verstärkung!",-1)),t[2]||(t[2]=s("p",{class:"text-gray-600 mb-4"}," Unsere Damenmannschaft freut sich über neue Spielerinnen. Interessiert? Dann melde dich bei uns! ",-1)),a(e,{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(()=>[...t[0]||(t[0]=[i(" Kontakt aufnehmen ",-1)])]),_:1})])])])])}}};export{h as default}; diff --git a/.output/public/_nuxt/S5xR3JqC.js b/.output/public/_nuxt/S5xR3JqC.js deleted file mode 100644 index f9def4d..0000000 --- a/.output/public/_nuxt/S5xR3JqC.js +++ /dev/null @@ -1,7 +0,0 @@ -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,i as S,b as x,u as g,j 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=$("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/builds/latest.json b/.output/public/_nuxt/builds/latest.json index 971ff6a..930c0ea 100644 --- a/.output/public/_nuxt/builds/latest.json +++ b/.output/public/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"d5fb7e66-2645-4f98-906c-371ebb86764a","timestamp":1761057759472} \ No newline at end of file +{"id":"c39bd364-08ee-4b3f-9f4a-75cb97dc0ab9","timestamp":1761058067210} \ No newline at end of file diff --git a/.output/public/_nuxt/pO5XAgdL.js b/.output/public/_nuxt/pO5XAgdL.js deleted file mode 100644 index ea1705c..0000000 --- a/.output/public/_nuxt/pO5XAgdL.js +++ /dev/null @@ -1 +0,0 @@ -import{k as $,r as p,g as j,h as A,c as r,a as e,j as c,b as i,d as f,u as a,F as E,i as F,l as z,t as u,m as _,v as D,B as I,p as U,o,U as q}from"#entry";import{u as G}from"./C_U-NUAd.js";import{P as H}from"./R6Iy1jPP.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}from"./6EY4_GXp.js";import{T as K}from"./FF_cyd6S.js";import{N as O}from"./DAACT36i.js";import{A as R}from"./C8kQt0fa.js";const J={class:"min-h-full py-16 bg-gray-50"},Q={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},X={class:"flex justify-between items-center mb-6"},Y={key:0,class:"flex items-center justify-center py-12"},Z={key:1,class:"space-y-6"},ee={class:"flex justify-between items-start mb-4"},te={class:"flex-1"},se={class:"flex items-center space-x-3 mb-2"},le={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"},ae={class:"flex items-center"},ie={class:"flex items-center"},ne={key:0,class:"flex items-center"},de={key:0,class:"flex space-x-2 ml-4"},ce=["onClick"],ue=["onClick"],me={class:"prose prose-lg max-w-none text-gray-700 whitespace-pre-wrap"},pe={key:0,class:"text-center py-12"},fe={key:0,class:"text-gray-400 text-sm mt-2"},be={class:"bg-white rounded-xl shadow-2xl max-w-3xl w-full p-8 max-h-[90vh] overflow-y-auto"},xe={class:"text-2xl font-display font-bold text-gray-900 mb-6"},ve=["disabled"],he=["disabled"],ye={class:"flex items-center space-x-3 p-4 bg-blue-50 rounded-lg border border-blue-200"},ge=["disabled"],we={for:"isPublic",class:"text-sm font-medium text-gray-900 cursor-pointer flex-1"},_e={class:"flex items-center"},ke={key:0,class:"flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm"},Ne={class:"flex justify-end space-x-4 pt-4"},ze=["disabled"],De=["disabled"],Ee={__name:"news",setup(Se){const k=$(),v=p(!0),n=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=""},T=async()=>{n.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{n.value=!1}},B=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()}),G({title:"Interne News - Harheimer TC"}),(s,t)=>(o(),r("div",J,[e("div",Q,[e("div",X,[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?(o(),r("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"},[i(a(H),{size:20,class:"mr-2"}),t[3]||(t[3]=f(" News erstellen ",-1))])):c("",!0)]),v.value?(o(),r("div",Y,[i(a(S),{size:40,class:"animate-spin text-primary-600"})])):(o(),r("div",Z,[(o(!0),r(E,null,F(h.value,l=>(o(),r("article",{key:l.id,class:"bg-white rounded-xl shadow-lg p-6 border border-gray-100"},[e("div",ee,[e("div",te,[e("div",se,[e("h2",le,u(l.title),1),l.isPublic?(o(),r("span",oe,[i(a(C),{size:14,class:"mr-1"}),t[5]||(t[5]=f(" Öffentlich ",-1))])):c("",!0)]),e("div",re,[e("div",ae,[i(a(q),{size:16,class:"mr-1"}),f(" "+u(l.author),1)]),e("div",ie,[i(a(W),{size:16,class:"mr-1"}),f(" "+u(N(l.created)),1)]),l.updated!==l.created?(o(),r("div",ne,[i(a(P),{size:16,class:"mr-1"}),f(" Aktualisiert: "+u(N(l.updated)),1)])):c("",!0)])]),y.value?(o(),r("div",de,[e("button",{onClick:V=>L(l),class:"p-2 text-blue-600 hover:bg-blue-50 rounded-lg transition-colors",title:"Bearbeiten"},[i(a(P),{size:20})],8,ce),e("button",{onClick:V=>B(l),class:"p-2 text-red-600 hover:bg-red-50 rounded-lg transition-colors",title:"Löschen"},[i(a(K),{size:20})],8,ue)])):c("",!0)]),e("div",me,u(l.content),1)]))),128)),h.value.length===0?(o(),r("div",pe,[i(a(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?(o(),r("p",fe,' Klicken Sie auf "News erstellen", um die erste News zu veröffentlichen. ')):c("",!0)])):c("",!0)])),x.value?(o(),r("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",be,[e("h2",xe,u(b.value?"News bearbeiten":"News erstellen"),1),e("form",{onSubmit:z(T,["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:n.value},null,8,ve),[[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:n.value},null,8,he),[[D,d.value.content]])]),e("div",ye,[_(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:n.value},null,8,ge),[[I,d.value.isPublic]]),e("label",we,[e("div",_e,[i(a(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?(o(),r("div",ke,[i(a(R),{size:20,class:"mr-2"}),f(" "+u(m.value),1)])):c("",!0),e("div",Ne,[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:n.value}," Abbrechen ",8,ze),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:n.value},[n.value?(o(),U(a(S),{key:0,size:20,class:"animate-spin mr-2"})):c("",!0),e("span",null,u(n.value?"Speichert...":"Speichern"),1)],8,De)])],32)])])):c("",!0)])]))}};export{Ee as default}; diff --git a/.output/public/_nuxt/rgKTeSYE.js b/.output/public/_nuxt/rgKTeSYE.js deleted file mode 100644 index dadddaa..0000000 --- a/.output/public/_nuxt/rgKTeSYE.js +++ /dev/null @@ -1 +0,0 @@ -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/sVyj_WZX.js b/.output/public/_nuxt/sVyj_WZX.js deleted file mode 100644 index 9cb61d3..0000000 --- a/.output/public/_nuxt/sVyj_WZX.js +++ /dev/null @@ -1 +0,0 @@ -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/client.manifest.mjs b/.output/server/chunks/build/client.manifest.mjs index 3a6f7f1..e607efa 100644 --- a/.output/server/chunks/build/client.manifest.mjs +++ b/.output/server/chunks/build/client.manifest.mjs @@ -32,6 +32,17 @@ const client_manifest = { "node_modules/nuxt/dist/app/entry.js" ] }, + "_BXW39s3J.js": { + "resourceType": "script", + "module": true, + "prefetch": true, + "preload": true, + "file": "BXW39s3J.js", + "name": "composables", + "imports": [ + "node_modules/nuxt/dist/app/entry.js" + ] + }, "_BteKZQ9T.js": { "resourceType": "script", "module": true, @@ -87,17 +98,6 @@ const client_manifest = { "node_modules/nuxt/dist/app/entry.js" ] }, - "_C_U-NUAd.js": { - "resourceType": "script", - "module": true, - "prefetch": true, - "preload": true, - "file": "C_U-NUAd.js", - "name": "composables", - "imports": [ - "node_modules/nuxt/dist/app/entry.js" - ] - }, "_CkzaQq3X.js": { "resourceType": "script", "module": true, @@ -283,7 +283,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C-bqeYjt.js", + "file": "EeIrJXnY.js", "name": "auth", "src": "middleware/auth.js", "isDynamicEntry": true, @@ -296,14 +296,14 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C9SglkVL.js", + "file": "DJPBgJL8.js", "name": "error-404", "src": "node_modules/nuxt/dist/app/components/error-404.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", "_DlAUqK2U.js", - "_C_U-NUAd.js" + "_BXW39s3J.js" ], "css": [] }, @@ -318,13 +318,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CW9krljs.js", + "file": "DWTdWpQd.js", "name": "error-500", "src": "node_modules/nuxt/dist/app/components/error-500.vue", "isDynamicEntry": true, "imports": [ "_DlAUqK2U.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "node_modules/nuxt/dist/app/entry.js" ], "css": [] @@ -340,7 +340,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CLsYyjY5.js", + "file": "RQ8nWlxB.js", "name": "entry", "src": "node_modules/nuxt/dist/app/entry.js", "isEntry": true, @@ -350,14 +350,14 @@ const client_manifest = { "node_modules/nuxt/dist/app/components/error-500.vue" ], "css": [ - "entry.CuxYSkzU.css" + "entry.DVYKRK2W.css" ], "assets": [ "Harheimer TC.CKfYAfp1.svg" ] }, - "entry.CuxYSkzU.css": { - "file": "entry.CuxYSkzU.css", + "entry.DVYKRK2W.css": { + "file": "entry.DVYKRK2W.css", "resourceType": "style", "prefetch": true, "preload": true @@ -373,13 +373,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C3627_Er.js", + "file": "BPilXqKI.js", "name": "anlagen", "src": "pages/anlagen.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js" + "_BXW39s3J.js" ] }, "pages/cms/benutzer.vue": { @@ -387,13 +387,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CzgMfPlN.js", + "file": "B5NNGTRz.js", "name": "benutzer", "src": "pages/cms/benutzer.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_C8kQt0fa.js", "_DaSgy0Cl.js" ] @@ -403,13 +403,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "OEtiuumO.js", + "file": "ByieZ3dI.js", "name": "einstellungen", "src": "pages/cms/einstellungen.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_CUq_0rkE.js", "_YJHbYJtA.js", "_DkeYb0_S.js", @@ -424,13 +424,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CASz9Fiv.js", + "file": "BNsA7a9i.js", "name": "index", "src": "pages/cms/index.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_DAACT36i.js", "_YJHbYJtA.js", "_DkeYb0_S.js" @@ -441,13 +441,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DDYB2ueJ.js", + "file": "CnIz7aqC.js", "name": "termine", "src": "pages/cms/termine.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_R6Iy1jPP.js", "_CUq_0rkE.js", "_FF_cyd6S.js", @@ -459,13 +459,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CJ4iaRop.js", + "file": "BcTQ3ZrQ.js", "name": "galerie", "src": "pages/galerie.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js" + "_BXW39s3J.js" ] }, "pages/geschichte.vue": { @@ -473,12 +473,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B23trXK4.js", + "file": "hUxVgsHD.js", "name": "geschichte", "src": "pages/geschichte.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "node_modules/nuxt/dist/app/entry.js" ] }, @@ -487,13 +487,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "D99LnZYi.js", + "file": "u1HLWGyJ.js", "name": "impressum", "src": "pages/impressum.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_BteKZQ9T.js", "_Czdc6-TI.js" ] @@ -529,7 +529,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B_w5gbrC.js", + "file": "BpA0GIVf.js", "name": "kontakt", "src": "pages/kontakt.vue", "isDynamicEntry": true, @@ -539,7 +539,7 @@ const client_manifest = { "_DdHhmCne.js", "_BC4PNGtJ.js", "_C8kQt0fa.js", - "_C_U-NUAd.js" + "_BXW39s3J.js" ] }, "pages/login.vue": { @@ -547,13 +547,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DCC-mN0A.js", + "file": "B06GZ9uO.js", "name": "login", "src": "pages/login.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_C8kQt0fa.js", "_DaSgy0Cl.js", "_CUq_0rkE.js" @@ -564,13 +564,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BpS9ghZc.js", + "file": "BnKWN4Oy.js", "name": "_slug_", "src": "pages/mannschaften/[slug].vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_jVj3QaoK.js" ] }, @@ -579,13 +579,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "LPF2GIYR.js", + "file": "CL_Nf87N.js", "name": "damen", "src": "pages/mannschaften/damen.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js" + "_BXW39s3J.js" ] }, "pages/mannschaften/herren.vue": { @@ -593,12 +593,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "sVyj_WZX.js", + "file": "zd7exPny.js", "name": "herren", "src": "pages/mannschaften/herren.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "node_modules/nuxt/dist/app/entry.js" ] }, @@ -607,7 +607,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "Bivc7aFF.js", + "file": "C1uGS7gR.js", "name": "index", "src": "pages/mannschaften/index.vue", "isDynamicEntry": true, @@ -615,7 +615,7 @@ const client_manifest = { "node_modules/nuxt/dist/app/entry.js", "_jVj3QaoK.js", "_DkeYb0_S.js", - "_C_U-NUAd.js" + "_BXW39s3J.js" ] }, "pages/mannschaften/jugend.vue": { @@ -623,13 +623,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BZLaJF8o.js", + "file": "RjSM_UUd.js", "name": "jugend", "src": "pages/mannschaften/jugend.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js" + "_BXW39s3J.js" ] }, "pages/mannschaften/spielplaene.vue": { @@ -637,12 +637,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "S5xR3JqC.js", + "file": "FbfSPM4Z.js", "name": "spielplaene", "src": "pages/mannschaften/spielplaene.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "_BteKZQ9T.js", "node_modules/nuxt/dist/app/entry.js", "_Cx4UcKGu.js" @@ -653,13 +653,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "rgKTeSYE.js", + "file": "D9z3flIC.js", "name": "index", "src": "pages/mitgliederbereich/index.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_DkeYb0_S.js", "_DAACT36i.js", "_DaSgy0Cl.js" @@ -670,13 +670,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "Cx_3U4cr.js", + "file": "DveM-V_M.js", "name": "mitglieder", "src": "pages/mitgliederbereich/mitglieder.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_oN0_bS6A.js", "_CUq_0rkE.js", "_6EY4_GXp.js", @@ -693,13 +693,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "pO5XAgdL.js", + "file": "BVYOM1cc.js", "name": "news", "src": "pages/mitgliederbereich/news.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_R6Iy1jPP.js", "_CUq_0rkE.js", "_KxVBmS-6.js", @@ -715,13 +715,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CDaMcsB4.js", + "file": "DW-tvTAe.js", "name": "profil", "src": "pages/mitgliederbereich/profil.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_CUq_0rkE.js", "_C8kQt0fa.js", "_DaSgy0Cl.js" @@ -732,7 +732,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DqRf-l2m.js", + "file": "Nw9RHo1W.js", "name": "mitgliedschaft", "src": "pages/mitgliedschaft.vue", "isDynamicEntry": true, @@ -744,7 +744,7 @@ const client_manifest = { "_DkeYb0_S.js", "_BteKZQ9T.js", "_Czdc6-TI.js", - "_C_U-NUAd.js" + "_BXW39s3J.js" ] }, "pages/passwort-vergessen.vue": { @@ -752,13 +752,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DYva3pFh.js", + "file": "wt6AdiEW.js", "name": "passwort-vergessen", "src": "pages/passwort-vergessen.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_C8kQt0fa.js", "_DaSgy0Cl.js", "_CUq_0rkE.js" @@ -769,13 +769,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DeoKPvBx.js", + "file": "B_CZVwyK.js", "name": "registrieren", "src": "pages/registrieren.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_C8kQt0fa.js", "_DaSgy0Cl.js", "_CUq_0rkE.js" @@ -786,12 +786,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CTuRK0lH.js", + "file": "DdSeQqGm.js", "name": "satzung", "src": "pages/satzung.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "_BteKZQ9T.js", "node_modules/nuxt/dist/app/entry.js" ] @@ -801,12 +801,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BLmxLqU-.js", + "file": "CsQa_zuj.js", "name": "spielsysteme", "src": "pages/spielsysteme.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "_DkeYb0_S.js", "_YJHbYJtA.js", "node_modules/nuxt/dist/app/entry.js", @@ -820,12 +820,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BqZP274n.js", + "file": "DNZj15pI.js", "name": "termine", "src": "pages/termine.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "_YJHbYJtA.js", "node_modules/nuxt/dist/app/entry.js" ] @@ -835,13 +835,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C1eD6HzQ.js", + "file": "bl3BNeqr.js", "name": "anfaenger", "src": "pages/training/anfaenger.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_DaSgy0Cl.js" ] }, @@ -850,13 +850,13 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B672hUde.js", + "file": "DQYaA4Cg.js", "name": "index", "src": "pages/training/index.vue", "isDynamicEntry": true, "imports": [ "node_modules/nuxt/dist/app/entry.js", - "_C_U-NUAd.js", + "_BXW39s3J.js", "_C5SyyWEb.js" ] }, @@ -865,12 +865,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CV6p3MQQ.js", + "file": "DoTwWdu9.js", "name": "trainer", "src": "pages/training/trainer.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "node_modules/nuxt/dist/app/entry.js" ] }, @@ -879,12 +879,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DjcJk1g8.js", + "file": "3wcxvDC4.js", "name": "tt-regeln", "src": "pages/tt-regeln.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "_KxVBmS-6.js", "_BteKZQ9T.js", "_B4mSF5Ac.js", @@ -899,7 +899,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B0zS1aUD.js", + "file": "COklTxTt.js", "name": "ueber-uns", "src": "pages/ueber-uns.vue", "isDynamicEntry": true, @@ -907,7 +907,7 @@ const client_manifest = { "node_modules/nuxt/dist/app/entry.js", "_CWEkTB1z.js", "_B4mSF5Ac.js", - "_C_U-NUAd.js" + "_BXW39s3J.js" ] }, "pages/vereinsmeisterschaften.vue": { @@ -915,12 +915,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DF1dYnic.js", + "file": "DOzbeoSS.js", "name": "vereinsmeisterschaften", "src": "pages/vereinsmeisterschaften.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "_CrCcIvVp.js", "node_modules/nuxt/dist/app/entry.js" ] @@ -930,12 +930,12 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B3KXwwdt.js", + "file": "DPgDYjRZ.js", "name": "vorstand", "src": "pages/vorstand.vue", "isDynamicEntry": true, "imports": [ - "_C_U-NUAd.js", + "_BXW39s3J.js", "node_modules/nuxt/dist/app/entry.js" ] } diff --git a/.output/server/chunks/build/server.mjs b/.output/server/chunks/build/server.mjs index 88e1f66..0bf468d 100644 --- a/.output/server/chunks/build/server.mjs +++ b/.output/server/chunks/build/server.mjs @@ -461,18 +461,18 @@ const _routes = [ { name: "vorstand", path: "/vorstand", - component: () => import('./vorstand-8Zq68Ugj.mjs') + component: () => import('./vorstand-BRGSrtx1.mjs') }, { name: "cms", path: "/cms", meta: { ...__nuxt_page_meta$6 || {}, ...{ "middleware": "auth" } }, - component: () => import('./index-KdWVJJR_.mjs') + component: () => import('./index-JlNEET1p.mjs') }, { name: "impressum", path: "/impressum", - component: () => import('./impressum-GfpVRr_5.mjs') + component: () => import('./impressum-CbZNDKhk.mjs') }, { name: "tt-regeln", @@ -1937,6 +1937,22 @@ const _sfc_main$4 = { }), _: 1 }, _parent)); + _push(ssrRenderComponent(_component_NuxtLink, { + to: "/cms/einstellungen", + onClick: ($event) => showCmsDropdown.value = false, + class: "block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(` Einstellungen `); + } else { + return [ + createTextVNode(" Einstellungen ") + ]; + } + }), + _: 1 + }, _parent)); _push(ssrRenderComponent(_component_NuxtLink, { to: "/cms/benutzer", onClick: ($event) => showCmsDropdown.value = false, @@ -2440,6 +2456,22 @@ const _sfc_main$4 = { }), _: 1 }, _parent)); + _push(ssrRenderComponent(_component_NuxtLink, { + to: "/cms/einstellungen", + onClick: ($event) => isMobileMenuOpen.value = false, + class: "block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors" + }, { + default: withCtx((_, _push2, _parent2, _scopeId) => { + if (_push2) { + _push2(` Einstellungen `); + } else { + return [ + createTextVNode(" Einstellungen ") + ]; + } + }), + _: 1 + }, _parent)); _push(ssrRenderComponent(_component_NuxtLink, { to: "/cms/benutzer", onClick: ($event) => isMobileMenuOpen.value = false, diff --git a/.output/server/chunks/nitro/nitro.mjs b/.output/server/chunks/nitro/nitro.mjs index 206d406..7b45860 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": "d5fb7e66-2645-4f98-906c-371ebb86764a", + "buildId": "c39bd364-08ee-4b3f-9f4a-75cb97dc0ab9", "buildAssetsDir": "/_nuxt/", "cdnURL": "" }, @@ -4738,586 +4738,586 @@ const plugins = [ ]; const assets = { - "/images/club_about_us.png": { - "type": "image/png", - "etag": "\"202e56-s4fLsHEgoAgKJeBRuI1qxPmqHV0\"", - "mtime": "2025-10-21T14:42:44.076Z", - "size": 2109014, - "path": "../public/images/club_about_us.png" - }, "/data/mannschaften.csv": { "type": "text/csv; charset=utf-8", "etag": "\"858-l94GKn8Q0I5RQnhrM0ZPJsYUmcw\"", - "mtime": "2025-10-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.065Z", "size": 2136, "path": "../public/data/mannschaften.csv" }, "/data/spielsysteme.csv": { "type": "text/csv; charset=utf-8", "etag": "\"9bc-4npLrNHYClsD0TKV5vSifxitfV0\"", - "mtime": "2025-10-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.065Z", "size": 2492, "path": "../public/data/spielsysteme.csv" }, "/data/termine.csv": { "type": "text/csv; charset=utf-8", "etag": "\"91-TO3ZO4MdjBcYgGXZQ1ZuM6BIMbg\"", - "mtime": "2025-10-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.065Z", "size": 145, "path": "../public/data/termine.csv" }, "/data/vereinsmeisterschaften.csv": { "type": "text/csv; charset=utf-8", "etag": "\"989-X8AB+Zegy2xUbjDtbQcXhuuyBDQ\"", - "mtime": "2025-10-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.065Z", "size": 2441, "path": "../public/data/vereinsmeisterschaften.csv" }, "/documents/Tischtennisregeln light.pdf": { "type": "application/pdf", "etag": "\"5177b-y/88q2+Y3RRechJMqWhse21KRdQ\"", - "mtime": "2025-10-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.065Z", "size": 333691, "path": "../public/documents/Tischtennisregeln light.pdf" }, "/documents/satzung.pdf": { "type": "application/pdf", "etag": "\"5c7cf-L0A3nT8D24T9sD57FFbij3QRpzw\"", - "mtime": "2025-10-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.065Z", "size": 378831, "path": "../public/documents/satzung.pdf" }, + "/images/club_about_us.png": { + "type": "image/png", + "etag": "\"202e56-s4fLsHEgoAgKJeBRuI1qxPmqHV0\"", + "mtime": "2025-10-21T14:47:52.065Z", + "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-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.065Z", "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-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.065Z", "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-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.066Z", "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-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.065Z", "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-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.066Z", "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-21T14:42:44.076Z", + "mtime": "2025-10-21T14:47:52.066Z", "size": 21225, "path": "../public/spielplaene/Jugend 11 2025⁄2026.pdf" }, + "/_nuxt/3wcxvDC4.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"201d-iP7io+Nc7eWcaskQ96DDDv4n3Dg\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 8221, + "path": "../public/_nuxt/3wcxvDC4.js" + }, "/_nuxt/6EY4_GXp.js": { "type": "text/javascript; charset=utf-8", "etag": "\"19e-CzjelZROfgCPWyXIjP0DPtd+UHQ\"", - "mtime": "2025-10-21T14:42:44.071Z", + "mtime": "2025-10-21T14:47:52.061Z", "size": 414, "path": "../public/_nuxt/6EY4_GXp.js" }, - "/_nuxt/B0zS1aUD.js": { + "/_nuxt/B06GZ9uO.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"10c2-dv0Fl2k5xVTgZGSg+Mb3Lw57By0\"", - "mtime": "2025-10-21T14:42:44.071Z", - "size": 4290, - "path": "../public/_nuxt/B0zS1aUD.js" - }, - "/_nuxt/B23trXK4.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1168-Ulrp7wDqGkKdNtiJFHTxmUmXldI\"", - "mtime": "2025-10-21T14:42:44.071Z", - "size": 4456, - "path": "../public/_nuxt/B23trXK4.js" - }, - "/_nuxt/B3KXwwdt.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"81f-a2SnM+umqZ4dmwPE80AuhD/ofeY\"", - "mtime": "2025-10-21T14:42:44.071Z", - "size": 2079, - "path": "../public/_nuxt/B3KXwwdt.js" + "etag": "\"faa-GQIGUpbNA+R+bXINWXHU0YLS4es\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 4010, + "path": "../public/_nuxt/B06GZ9uO.js" }, "/_nuxt/B4mSF5Ac.js": { "type": "text/javascript; charset=utf-8", "etag": "\"185-hHs3mU4qOcQAkGQaPrUYGaG0yao\"", - "mtime": "2025-10-21T14:42:44.072Z", + "mtime": "2025-10-21T14:47:52.061Z", "size": 389, "path": "../public/_nuxt/B4mSF5Ac.js" }, - "/_nuxt/B672hUde.js": { + "/_nuxt/B5NNGTRz.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"dc2-n5+Jrg++Bz3SI0aMN10cjTZGG2g\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 3522, - "path": "../public/_nuxt/B672hUde.js" + "etag": "\"1d9a-htQK1os/3pJ9el/aKJ4D9yIf3Z4\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 7578, + "path": "../public/_nuxt/B5NNGTRz.js" }, "/_nuxt/B6R2Q32I.js": { "type": "text/javascript; charset=utf-8", "etag": "\"201e-GGMCGamCalF6U5Sbg/B20sKxrIo\"", - "mtime": "2025-10-21T14:42:44.072Z", + "mtime": "2025-10-21T14:47:52.061Z", "size": 8222, "path": "../public/_nuxt/B6R2Q32I.js" }, "/_nuxt/BC4PNGtJ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"175-33lu59Ps/+kwbPv/hVeUdrq4wmI\"", - "mtime": "2025-10-21T14:42:44.072Z", + "mtime": "2025-10-21T14:47:52.061Z", "size": 373, "path": "../public/_nuxt/BC4PNGtJ.js" }, - "/_nuxt/BLmxLqU-.js": { + "/_nuxt/BNsA7a9i.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1a9f-eYz55V0eO8N4bvdty9x8JBG5qIw\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 6815, - "path": "../public/_nuxt/BLmxLqU-.js" + "etag": "\"1152-gwHgNhIKbXAbsZFol9889Ojnoc4\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 4434, + "path": "../public/_nuxt/BNsA7a9i.js" }, - "/_nuxt/BZLaJF8o.js": { + "/_nuxt/BPilXqKI.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"685-ABktMZGm1wLg51VMeeUc8FwDm3U\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 1669, - "path": "../public/_nuxt/BZLaJF8o.js" + "etag": "\"1860-O4L8Qft8fg3/2BnoqtMJZCwyGxY\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 6240, + "path": "../public/_nuxt/BPilXqKI.js" }, - "/_nuxt/B_w5gbrC.js": { + "/_nuxt/BVYOM1cc.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1dc0-VemUVNnKtYX+T2aPkZsAvATr8cU\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 7616, - "path": "../public/_nuxt/B_w5gbrC.js" + "etag": "\"1caa-SuOG62IOzXne17qfBuKiMoSs73s\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 7338, + "path": "../public/_nuxt/BVYOM1cc.js" }, - "/_nuxt/Bivc7aFF.js": { + "/_nuxt/BXW39s3J.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"2029-cRwtIdVsJWLW1S5Bl927TM/rr0o\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 8233, - "path": "../public/_nuxt/Bivc7aFF.js" + "etag": "\"13f-f/VZhfor7yXrVKuVmjl/wF1NcXs\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 319, + "path": "../public/_nuxt/BXW39s3J.js" }, - "/_nuxt/BpS9ghZc.js": { + "/_nuxt/B_CZVwyK.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1556-fAs7WNw+3yw3iFD9Rkes1ZuBW60\"", - "mtime": "2025-10-21T14:42:44.072Z", + "etag": "\"16eb-cBkG5GEXDp1qLXa9HJk5Agxwbls\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 5867, + "path": "../public/_nuxt/B_CZVwyK.js" + }, + "/_nuxt/BcTQ3ZrQ.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"b10-Y9k5nWggI25MfaKUDAp871or8mY\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 2832, + "path": "../public/_nuxt/BcTQ3ZrQ.js" + }, + "/_nuxt/BnKWN4Oy.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1556-5EyWNl9oa8b8qByma2HZILoQbVQ\"", + "mtime": "2025-10-21T14:47:52.062Z", "size": 5462, - "path": "../public/_nuxt/BpS9ghZc.js" + "path": "../public/_nuxt/BnKWN4Oy.js" }, - "/_nuxt/BqZP274n.js": { + "/_nuxt/BpA0GIVf.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"c5c-+adaLKVcGsLD+mC5x2NddJAVdgw\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 3164, - "path": "../public/_nuxt/BqZP274n.js" + "etag": "\"1dc0-lq2ZcNSh4RZ3gr0e7QIETxt99MI\"", + "mtime": "2025-10-21T14:47:52.061Z", + "size": 7616, + "path": "../public/_nuxt/BpA0GIVf.js" }, "/_nuxt/BteKZQ9T.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1ea-kmrGdt5SPmt15EiBI7kR9gXMQM0\"", - "mtime": "2025-10-21T14:42:44.072Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 490, "path": "../public/_nuxt/BteKZQ9T.js" }, - "/_nuxt/C-bqeYjt.js": { + "/_nuxt/ByieZ3dI.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"3513-AcHmeXV6b+tvCtqgBG6EnnxPL8w\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 13587, - "path": "../public/_nuxt/C-bqeYjt.js" + "etag": "\"3c49-btJDs0O24Tg8EJSHttHwGR0wLYg\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 15433, + "path": "../public/_nuxt/ByieZ3dI.js" }, - "/_nuxt/C1eD6HzQ.js": { + "/_nuxt/C1uGS7gR.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"abb-rmFamqyRm9KsgptRPeFJlFZ7AdI\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 2747, - "path": "../public/_nuxt/C1eD6HzQ.js" - }, - "/_nuxt/C3627_Er.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1860-WfaogXmfix1Il+z3+9JvyOxfUWc\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 6240, - "path": "../public/_nuxt/C3627_Er.js" + "etag": "\"2029-6zy3ulvgDSgV79EQq708tKwUamE\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 8233, + "path": "../public/_nuxt/C1uGS7gR.js" }, "/_nuxt/C5SyyWEb.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2a5-06iX+CL3i0ysaqW9nu7Eg2YzDhQ\"", - "mtime": "2025-10-21T14:42:44.072Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 677, "path": "../public/_nuxt/C5SyyWEb.js" }, "/_nuxt/C8kQt0fa.js": { "type": "text/javascript; charset=utf-8", "etag": "\"197-7X99z1xphxry8OnMwU7Ofs/uE0Q\"", - "mtime": "2025-10-21T14:42:44.072Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 407, "path": "../public/_nuxt/C8kQt0fa.js" }, - "/_nuxt/C9SglkVL.js": { + "/_nuxt/CL_Nf87N.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"ee2-953PjDhBAep38tbBTU3/pMqFyww\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 3810, - "path": "../public/_nuxt/C9SglkVL.js" + "etag": "\"557-VKch7vMVRRWPHlE5g7lP2V4RN0I\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 1367, + "path": "../public/_nuxt/CL_Nf87N.js" }, - "/_nuxt/CASz9Fiv.js": { + "/_nuxt/COklTxTt.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"ee9-sKp1Omp9LQhv9a6ab9xk8naHK9k\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 3817, - "path": "../public/_nuxt/CASz9Fiv.js" - }, - "/_nuxt/CDaMcsB4.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1744-EVBf4KmUuGbFen1F02KGsrF+hGI\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 5956, - "path": "../public/_nuxt/CDaMcsB4.js" - }, - "/_nuxt/CJ4iaRop.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"b10-OECled9SRrrXt0OinwRJj2Ix5YM\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 2832, - "path": "../public/_nuxt/CJ4iaRop.js" - }, - "/_nuxt/CLsYyjY5.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"33737-SIgQIp6xFFQI73C/d2Vrq55hDR4\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 210743, - "path": "../public/_nuxt/CLsYyjY5.js" - }, - "/_nuxt/CTuRK0lH.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"177f-9AHJLxzT1QXHm05RkMKEx5CuaVU\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 6015, - "path": "../public/_nuxt/CTuRK0lH.js" + "etag": "\"10c2-6iDJ3gGGXk3StA20VW24/Yz7mis\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 4290, + "path": "../public/_nuxt/COklTxTt.js" }, "/_nuxt/CUq_0rkE.js": { "type": "text/javascript; charset=utf-8", "etag": "\"12d-JV4KW1fgT85/V3Ap13X4q2h9U3g\"", - "mtime": "2025-10-21T14:42:44.072Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 301, "path": "../public/_nuxt/CUq_0rkE.js" }, - "/_nuxt/CV6p3MQQ.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"57d-ajsjngy7fAY+Xb5DnVw2eb3Wjx0\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 1405, - "path": "../public/_nuxt/CV6p3MQQ.js" - }, - "/_nuxt/CW9krljs.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"dbf-R7lqTpP/JoeELqrwiRklrTVdlP0\"", - "mtime": "2025-10-21T14:42:44.072Z", - "size": 3519, - "path": "../public/_nuxt/CW9krljs.js" - }, "/_nuxt/CWEkTB1z.js": { "type": "text/javascript; charset=utf-8", "etag": "\"198-ej4DRqc3/5nSwWU3c6wbOD3Ib9w\"", - "mtime": "2025-10-21T14:42:44.072Z", + "mtime": "2025-10-21T14:47:52.062Z", "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-21T14:42:44.072Z", - "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-21T14:42:44.072Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 381, "path": "../public/_nuxt/CkzaQq3X.js" }, + "/_nuxt/CnIz7aqC.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1bf1-jwB9tw9f4QSrc5JHwSAvkoOWE1E\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 7153, + "path": "../public/_nuxt/CnIz7aqC.js" + }, "/_nuxt/CrCcIvVp.js": { "type": "text/javascript; charset=utf-8", "etag": "\"274-9U7hEMtgHqdnQopnKeJsBKqKyKw\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 628, "path": "../public/_nuxt/CrCcIvVp.js" }, + "/_nuxt/CsQa_zuj.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1a9f-XLm54QrVoqMLelfblZgZLsUozkA\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 6815, + "path": "../public/_nuxt/CsQa_zuj.js" + }, "/_nuxt/Cx4UcKGu.js": { "type": "text/javascript; charset=utf-8", "etag": "\"19d-5AMD0EnFEjOkM3qKDpC/NZZzwDI\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 413, "path": "../public/_nuxt/Cx4UcKGu.js" }, - "/_nuxt/Cx_3U4cr.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"3303-kA/sRWGwuhzDWqIGIpOPH/t2uxY\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 13059, - "path": "../public/_nuxt/Cx_3U4cr.js" - }, "/_nuxt/Czdc6-TI.js": { "type": "text/javascript; charset=utf-8", "etag": "\"165-EMJ/yP2qajGIw0CL3y+L/hvMM/8\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 357, "path": "../public/_nuxt/Czdc6-TI.js" }, - "/_nuxt/CzgMfPlN.js": { + "/_nuxt/D9z3flIC.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1d9a-uI9Gu5wonCfTrcA2TPR74Z738js\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 7578, - "path": "../public/_nuxt/CzgMfPlN.js" - }, - "/_nuxt/D99LnZYi.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1bdb-/r79rlmI33Ifam5FH18djsiUTQ8\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 7131, - "path": "../public/_nuxt/D99LnZYi.js" + "etag": "\"e71-SKQXzjRqIVc7KbaoPH61zqHfYw0\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 3697, + "path": "../public/_nuxt/D9z3flIC.js" }, "/_nuxt/DAACT36i.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1f9-dVOk5jAwb0VlMLJevIcT+s2NTgM\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 505, "path": "../public/_nuxt/DAACT36i.js" }, - "/_nuxt/DCC-mN0A.js": { + "/_nuxt/DJPBgJL8.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"faa-gR+Y5ET9eX9AUBll6ClCrUgMFfM\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 4010, - "path": "../public/_nuxt/DCC-mN0A.js" + "etag": "\"ee2-rTpw+RrHChbR6trZMOiz0MP+9S0\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 3810, + "path": "../public/_nuxt/DJPBgJL8.js" }, - "/_nuxt/DDYB2ueJ.js": { + "/_nuxt/DNZj15pI.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1bf1-tbqPDIoIIOyOPuxr7lu+9bz6I9A\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 7153, - "path": "../public/_nuxt/DDYB2ueJ.js" + "etag": "\"c5c-qIoJa7wAc07yM5H199hAKjmvTTs\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 3164, + "path": "../public/_nuxt/DNZj15pI.js" }, - "/_nuxt/DF1dYnic.js": { + "/_nuxt/DOzbeoSS.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1822-F6/LMMvYSDyJLbWtmIcGXOjwdVI\"", - "mtime": "2025-10-21T14:42:44.073Z", + "etag": "\"1822-i/h2sKeOkINlr08h8wDbWQxQD40\"", + "mtime": "2025-10-21T14:47:52.062Z", "size": 6178, - "path": "../public/_nuxt/DF1dYnic.js" + "path": "../public/_nuxt/DOzbeoSS.js" }, - "/_nuxt/DYva3pFh.js": { + "/_nuxt/DPgDYjRZ.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"bf0-VZJ4omCiGedJWNFfqojHT+R0eEg\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 3056, - "path": "../public/_nuxt/DYva3pFh.js" + "etag": "\"1c7c-5Cf+n90v0I0b85haHzlpucpBkOA\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 7292, + "path": "../public/_nuxt/DPgDYjRZ.js" + }, + "/_nuxt/DQYaA4Cg.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"dc2-DCyhTlybAUVtCBXZuufgnqaMQuc\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 3522, + "path": "../public/_nuxt/DQYaA4Cg.js" + }, + "/_nuxt/DW-tvTAe.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1744-EoDJ94vw+t1CRsoS6xMLlcWdRfs\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 5956, + "path": "../public/_nuxt/DW-tvTAe.js" + }, + "/_nuxt/DWTdWpQd.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"dbf-LyR+KsJcrh6ikfV3EnJlHPhY6CM\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 3519, + "path": "../public/_nuxt/DWTdWpQd.js" }, "/_nuxt/DaSgy0Cl.js": { "type": "text/javascript; charset=utf-8", "etag": "\"11f-soKnh1qfNJj5nvt+IcgQXYvg/z4\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 287, "path": "../public/_nuxt/DaSgy0Cl.js" }, "/_nuxt/DdHhmCne.js": { "type": "text/javascript; charset=utf-8", "etag": "\"22d-uKYfhsDcUsz2NrXOJmxptUGZdyE\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 557, "path": "../public/_nuxt/DdHhmCne.js" }, - "/_nuxt/DeoKPvBx.js": { + "/_nuxt/DdSeQqGm.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"16eb-TpYobwJ2U3v+YsJtPupLa/phq5M\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 5867, - "path": "../public/_nuxt/DeoKPvBx.js" - }, - "/_nuxt/DjcJk1g8.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"201d-oQ9NMDE0anKxIZA105IRItTlM2w\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 8221, - "path": "../public/_nuxt/DjcJk1g8.js" + "etag": "\"177f-xIau1NpLF1yuT8dJOOLIjOG9Yyk\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 6015, + "path": "../public/_nuxt/DdSeQqGm.js" }, "/_nuxt/DkeYb0_S.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1ce-xiaAbRvqQ+zffTXF3Gc7rq14R0U\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 462, "path": "../public/_nuxt/DkeYb0_S.js" }, "/_nuxt/DlAUqK2U.js": { "type": "text/javascript; charset=utf-8", "etag": "\"5b-eFCz/UrraTh721pgAl0VxBNR1es\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 91, "path": "../public/_nuxt/DlAUqK2U.js" }, - "/_nuxt/DqRf-l2m.js": { + "/_nuxt/DoTwWdu9.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"134f-PaJ8MbYxG5MkWmiBgOq5t3qrS7Y\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 4943, - "path": "../public/_nuxt/DqRf-l2m.js" + "etag": "\"57d-6H3bmCVs9bO00sV5mJoPwdS5l5w\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 1405, + "path": "../public/_nuxt/DoTwWdu9.js" + }, + "/_nuxt/DveM-V_M.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"3303-Q7/YG1BDz0AlIC1SIKjl+wBYmuA\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 13059, + "path": "../public/_nuxt/DveM-V_M.js" + }, + "/_nuxt/EeIrJXnY.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"3519-nT69QrEdDz/xtkkBiIth2uJYquA\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 13593, + "path": "../public/_nuxt/EeIrJXnY.js" }, "/_nuxt/FF_cyd6S.js": { "type": "text/javascript; charset=utf-8", "etag": "\"203-rairGPfunSg/yCk4txod3zRSZus\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 515, "path": "../public/_nuxt/FF_cyd6S.js" }, + "/_nuxt/FbfSPM4Z.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"16e9-3siY7QL7G2FIMMFx6heWWHwJ6uI\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 5865, + "path": "../public/_nuxt/FbfSPM4Z.js" + }, "/_nuxt/Harheimer TC.CKfYAfp1.svg": { "type": "image/svg+xml", "etag": "\"1d2535-Tx2lTuuFn2hBqGZOnDan3/OdRU0\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "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-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 400, "path": "../public/_nuxt/KxVBmS-6.js" }, - "/_nuxt/LPF2GIYR.js": { + "/_nuxt/Nw9RHo1W.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"557-80ya3yG6VaGTcTbyJrpOfIs1ttU\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 1367, - "path": "../public/_nuxt/LPF2GIYR.js" - }, - "/_nuxt/OEtiuumO.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"3c49-isMWKTDvc5KhmkHLIGrzljtUBO8\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 15433, - "path": "../public/_nuxt/OEtiuumO.js" + "etag": "\"134f-NWDlNKDo1rD4HZKtLaJaiCWNlkA\"", + "mtime": "2025-10-21T14:47:52.062Z", + "size": 4943, + "path": "../public/_nuxt/Nw9RHo1W.js" }, "/_nuxt/R6Iy1jPP.js": { "type": "text/javascript; charset=utf-8", "etag": "\"137-QCUizOitouzMVC2drCYFTAZmqPU\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.062Z", "size": 311, "path": "../public/_nuxt/R6Iy1jPP.js" }, - "/_nuxt/S5xR3JqC.js": { + "/_nuxt/RQ8nWlxB.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"16e9-iU8tNfwzZDCfrS7SDnGc1zdluhk\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 5865, - "path": "../public/_nuxt/S5xR3JqC.js" + "etag": "\"33935-o7Kt2dVlAPXDeIPefH67KFYXoDM\"", + "mtime": "2025-10-21T14:47:52.063Z", + "size": 211253, + "path": "../public/_nuxt/RQ8nWlxB.js" + }, + "/_nuxt/RjSM_UUd.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"685-fwZijBvINZTZJr7W29+JTlIBPQQ\"", + "mtime": "2025-10-21T14:47:52.063Z", + "size": 1669, + "path": "../public/_nuxt/RjSM_UUd.js" }, "/_nuxt/XZ6RV9KH.js": { "type": "text/javascript; charset=utf-8", "etag": "\"175-xr1poEaGS4yjOp907AsRAr6XHLI\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.063Z", "size": 373, "path": "../public/_nuxt/XZ6RV9KH.js" }, "/_nuxt/YJHbYJtA.js": { "type": "text/javascript; charset=utf-8", "etag": "\"19f-nQw578pUen9o8yYaMA8Bwag6xho\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.063Z", "size": 415, "path": "../public/_nuxt/YJHbYJtA.js" }, - "/_nuxt/entry.CuxYSkzU.css": { + "/_nuxt/bl3BNeqr.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"abb-7P7BzyL2ogBVr+sVq2zsOjND144\"", + "mtime": "2025-10-21T14:47:52.063Z", + "size": 2747, + "path": "../public/_nuxt/bl3BNeqr.js" + }, + "/_nuxt/entry.DVYKRK2W.css": { "type": "text/css; charset=utf-8", - "etag": "\"b9e3-qswPp2KuJRlxS9Rn7tj5L+2WXdk\"", - "mtime": "2025-10-21T14:42:44.073Z", - "size": 47587, - "path": "../public/_nuxt/entry.CuxYSkzU.css" + "etag": "\"badf-EZvbbuLFgOrx2GUdkWL0bDelNkk\"", + "mtime": "2025-10-21T14:47:52.063Z", + "size": 47839, + "path": "../public/_nuxt/entry.DVYKRK2W.css" }, "/_nuxt/error-404.CbXQcqJW.css": { "type": "text/css; charset=utf-8", "etag": "\"97e-Ty5bTTSEudJkO/DsGUoIf37xYxc\"", - "mtime": "2025-10-21T14:42:44.073Z", + "mtime": "2025-10-21T14:47:52.063Z", "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-21T14:42:44.074Z", + "mtime": "2025-10-21T14:47:52.063Z", "size": 1907, "path": "../public/_nuxt/error-500.L485xXhD.css" }, + "/_nuxt/hUxVgsHD.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1168-c/eyWqix4HQtDDg1dd1BEVFafEc\"", + "mtime": "2025-10-21T14:47:52.063Z", + "size": 4456, + "path": "../public/_nuxt/hUxVgsHD.js" + }, "/_nuxt/index.ByttcLyP.css": { "type": "text/css; charset=utf-8", "etag": "\"1db-P3imbnjv59PWVm0HNpwpfdEtAK4\"", - "mtime": "2025-10-21T14:42:44.074Z", + "mtime": "2025-10-21T14:47:52.063Z", "size": 475, "path": "../public/_nuxt/index.ByttcLyP.css" }, "/_nuxt/jVj3QaoK.js": { "type": "text/javascript; charset=utf-8", "etag": "\"196-xWXv220Sy3kJeouwzrQ/gnXllWQ\"", - "mtime": "2025-10-21T14:42:44.074Z", + "mtime": "2025-10-21T14:47:52.063Z", "size": 406, "path": "../public/_nuxt/jVj3QaoK.js" }, "/_nuxt/oN0_bS6A.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1d3-DKhiaT2RUlSXk55jBttctUuTQQI\"", - "mtime": "2025-10-21T14:42:44.074Z", + "mtime": "2025-10-21T14:47:52.063Z", "size": 467, "path": "../public/_nuxt/oN0_bS6A.js" }, - "/_nuxt/pO5XAgdL.js": { + "/_nuxt/u1HLWGyJ.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1caa-8s46v8ZVjnRPK/d5dpFk/XgPjHM\"", - "mtime": "2025-10-21T14:42:44.074Z", - "size": 7338, - "path": "../public/_nuxt/pO5XAgdL.js" + "etag": "\"26e5-7ior77RScljWj4py3Y91FClSUXI\"", + "mtime": "2025-10-21T14:47:52.063Z", + "size": 9957, + "path": "../public/_nuxt/u1HLWGyJ.js" }, - "/_nuxt/rgKTeSYE.js": { + "/_nuxt/wt6AdiEW.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"e71-IzPUyj76F9mR9c9DaEV7x6UlmP0\"", - "mtime": "2025-10-21T14:42:44.074Z", - "size": 3697, - "path": "../public/_nuxt/rgKTeSYE.js" + "etag": "\"bf0-eUA/uQ8EyyBE+7sTYyxVmf9I3tg\"", + "mtime": "2025-10-21T14:47:52.063Z", + "size": 3056, + "path": "../public/_nuxt/wt6AdiEW.js" }, - "/_nuxt/sVyj_WZX.js": { + "/_nuxt/zd7exPny.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"4d4-T+i1jfWN+C61xV/Shhjh8+auLuI\"", - "mtime": "2025-10-21T14:42:44.074Z", + "etag": "\"4d4-EN8dyi8qnXe2SCEtx/zJmZ4IOQA\"", + "mtime": "2025-10-21T14:47:52.063Z", "size": 1236, - "path": "../public/_nuxt/sVyj_WZX.js" + "path": "../public/_nuxt/zd7exPny.js" }, "/_nuxt/builds/latest.json": { "type": "application/json", - "etag": "\"47-7UDL5x5N5geDGKsklA+LCMUMKUc\"", - "mtime": "2025-10-21T14:42:44.065Z", + "etag": "\"47-SjuVqmfWEoMBl3IuIblZHDhe7hQ\"", + "mtime": "2025-10-21T14:47:52.055Z", "size": 71, "path": "../public/_nuxt/builds/latest.json" }, - "/_nuxt/builds/meta/d5fb7e66-2645-4f98-906c-371ebb86764a.json": { + "/_nuxt/builds/meta/c39bd364-08ee-4b3f-9f4a-75cb97dc0ab9.json": { "type": "application/json", - "etag": "\"8b-Mv+uhxfw7axg0wGh5CmMg7MvSFA\"", - "mtime": "2025-10-21T14:42:44.060Z", + "etag": "\"8b-nvVFl6UB72DRlNMVAIo/XA38Cog\"", + "mtime": "2025-10-21T14:47:52.051Z", "size": 139, - "path": "../public/_nuxt/builds/meta/d5fb7e66-2645-4f98-906c-371ebb86764a.json" + "path": "../public/_nuxt/builds/meta/c39bd364-08ee-4b3f-9f4a-75cb97dc0ab9.json" } }; diff --git a/.output/server/chunks/routes/renderer.mjs b/.output/server/chunks/routes/renderer.mjs index 9bb2ca3..7115f89 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 = "CLsYyjY5.js"; +const entryFileName = "RQ8nWlxB.js"; globalThis.__buildAssetsURL = buildAssetsURL; globalThis.__publicAssetsURL = publicAssetsURL; diff --git a/pages/cms/index.vue b/pages/cms/index.vue index 90717ac..ca0836e 100644 --- a/pages/cms/index.vue +++ b/pages/cms/index.vue @@ -55,6 +55,22 @@

+ + +
+
+ +
+

Einstellungen

+
+

+ Training, Trainer, Mitgliedschaft & Vorstand +

+
+