diff --git a/.output/nitro.json b/.output/nitro.json index 42e05ee..9fe77ce 100644 --- a/.output/nitro.json +++ b/.output/nitro.json @@ -1,5 +1,5 @@ { - "date": "2025-10-21T14:21:24.235Z", + "date": "2025-10-21T14:23:16.435Z", "preset": "node-server", "framework": { "name": "nuxt", diff --git a/.output/public/_nuxt/D2MkqZXd.js b/.output/public/_nuxt/5cTtis_o.js similarity index 98% rename from .output/public/_nuxt/D2MkqZXd.js rename to .output/public/_nuxt/5cTtis_o.js index 64be559..10181e1 100644 --- a/.output/public/_nuxt/D2MkqZXd.js +++ b/.output/public/_nuxt/5cTtis_o.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./FENYPvwZ.js","./DlAUqK2U.js","./YJHbYJtA.js","./oN0_bS6A.js","./BC4PNGtJ.js","./index.ByttcLyP.css","./B6TEfPSg.js","./C_U-NUAd.js","./C8kQt0fa.js","./DaSgy0Cl.js","./CUq_0rkE.js","./CvtlfSR0.js","./C5WkR1xp.js","./BGsE9M8w.js","./C5SyyWEb.js","./DdHhmCne.js","./CTuRK0lH.js","./BteKZQ9T.js","./BQa0cr2b.js","./B3KXwwdt.js","./DO_5fT64.js","./DAACT36i.js","./DkeYb0_S.js","./D99LnZYi.js","./Czdc6-TI.js","./DjcJk1g8.js","./KxVBmS-6.js","./B4mSF5Ac.js","./CrCcIvVp.js","./CkzaQq3X.js","./CT6VfTlB.js","./CWEkTB1z.js","./B23trXK4.js","./C_WhudVk.js","./R6Iy1jPP.js","./FF_cyd6S.js","./D11oUMHK.js","./Bn7G3VMx.js","./BASo1Rw1.js","./XZ6RV9KH.js","./Cx4UcKGu.js","./BjiYAScN.js","./CI8YYLGa.js","./BxR6w-Hd.js","./LPF2GIYR.js","./BU5mk92E.js","./jVj3QaoK.js","./DxIIJuzj.js","./C1eD6HzQ.js","./COK-PGSA.js","./sVyj_WZX.js","./BZLaJF8o.js","./B6D6IUyr.js","./6EY4_GXp.js","./DHQur1V-.js","./rgKTeSYE.js","./BRhWghMt.js","./C9UhLsiJ.js","./DHyEjCGa.js","./C9SglkVL.js","./error-404.CbXQcqJW.css","./CW9krljs.js","./error-500.L485xXhD.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./B6R2Q32I.js","./DlAUqK2U.js","./YJHbYJtA.js","./oN0_bS6A.js","./BC4PNGtJ.js","./index.ByttcLyP.css","./DCC-mN0A.js","./C_U-NUAd.js","./C8kQt0fa.js","./DaSgy0Cl.js","./CUq_0rkE.js","./C3627_Er.js","./CJ4iaRop.js","./B_w5gbrC.js","./C5SyyWEb.js","./DdHhmCne.js","./CTuRK0lH.js","./BteKZQ9T.js","./BqZP274n.js","./B3KXwwdt.js","./CASz9Fiv.js","./DAACT36i.js","./DkeYb0_S.js","./D99LnZYi.js","./Czdc6-TI.js","./DjcJk1g8.js","./KxVBmS-6.js","./B4mSF5Ac.js","./CrCcIvVp.js","./CkzaQq3X.js","./C4R6hOY6.js","./CWEkTB1z.js","./B23trXK4.js","./DDYB2ueJ.js","./R6Iy1jPP.js","./FF_cyd6S.js","./CzgMfPlN.js","./DeoKPvBx.js","./BLmxLqU-.js","./XZ6RV9KH.js","./Cx4UcKGu.js","./Zs8yqLLb.js","./CI8YYLGa.js","./BxR6w-Hd.js","./LPF2GIYR.js","./Bivc7aFF.js","./jVj3QaoK.js","./DYva3pFh.js","./C1eD6HzQ.js","./BpS9ghZc.js","./sVyj_WZX.js","./BZLaJF8o.js","./pO5XAgdL.js","./6EY4_GXp.js","./DF1dYnic.js","./rgKTeSYE.js","./S5xR3JqC.js","./CDaMcsB4.js","./Cx_3U4cr.js","./C9SglkVL.js","./error-404.CbXQcqJW.css","./CW9krljs.js","./error-500.L485xXhD.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function r(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();/** * @vue/shared v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors @@ -28,7 +28,7 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./FENYPvwZ.js","./DlAU * vue-router v4.6.3 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let Sg=()=>location.protocol+"//"+location.host;function $c(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(i);return l[0]!=="/"&&(l="/"+l),cl(l,"")}return cl(n,e)+r+s}function Ag(e,t,n,r){let s=[],o=[],i=null;const l=({state:g})=>{const p=$c(e,location),_=n.value,w=t.value;let E=0;if(g){if(n.value=p,t.value=g,i&&i===_){i=null;return}E=w?g.position-w.position:0}else r(p);s.forEach(f=>{f(n.value,_,{delta:E,type:uo.pop,direction:E?E>0?Ns.forward:Ns.back:Ns.unknown})})};function a(){i=n.value}function d(g){s.push(g);const p=()=>{const _=s.indexOf(g);_>-1&&s.splice(_,1)};return o.push(p),p}function c(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(fe({},g.state,{scroll:ds()}),"")}}function u(){for(const g of o)g();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:d,destroy:u}}function hl(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?ds():null}}function Pg(e){const{history:t,location:n}=window,r={value:$c(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,d,c){const u=e.indexOf("#"),g=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+a:Sg()+e+a;try{t[c?"replaceState":"pushState"](d,"",g),s.value=d}catch(p){console.error(p),n[c?"replace":"assign"](g)}}function i(a,d){o(a,fe({},t.state,hl(s.value.back,a,s.value.forward,!0),d,{position:s.value.position}),!0),r.value=a}function l(a,d){const c=fe({},s.value,t.state,{forward:a,scroll:ds()});o(c.current,c,!0),o(a,fe({},hl(r.value,a,null),{position:c.position+1},d),!1),r.value=a}return{location:r,state:s,push:l,replace:i}}function Og(e){e=hg(e);const t=Pg(e),n=Ag(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=fe({location:"",base:e,go:r,createHref:mg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Yt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ke=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(ke||{});const Ig={type:Yt.Static,value:""},Mg=/[a-zA-Z0-9_]/;function Lg(e){if(!e)return[[]];if(e==="/")return[[Ig]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${d}": ${p}`)}let n=ke.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,a,d="",c="";function u(){d&&(n===ke.Static?o.push({type:Yt.Static,value:d}):n===ke.Param||n===ke.ParamRegExp||n===ke.ParamRegExpEnd?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Yt.Param,value:d,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),d="")}function g(){d+=a}for(;lt.length?t.length===1&&t[0]===Ue.Static+Ue.Segment?1:-1:0}function jc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const jg={strict:!1,end:!0,sensitive:!1};function Fg(e,t,n){const r=Dg(Lg(e.path),n),s=fe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function Bg(e,t){const n=[],r=new Map;t=al(jg,t);function s(u){return r.get(u)}function o(u,g,p){const _=!p,w=vl(u);w.aliasOf=p&&p.record;const E=al(t,u),f=[w];if("alias"in u){const b=typeof u.alias=="string"?[u.alias]:u.alias;for(const x of b)f.push(vl(fe({},w,{components:p?p.record.components:w.components,path:x,aliasOf:p?p.record:w})))}let y,h;for(const b of f){const{path:x}=b;if(g&&x[0]!=="/"){const S=g.record.path,L=S[S.length-1]==="/"?"":"/";b.path=g.record.path+(x&&L+x)}if(y=Fg(b,g,E),p?p.alias.push(y):(h=h||y,h!==y&&h.alias.push(y),_&&u.name&&!bl(y)&&i(u.name)),Fc(y)&&a(y),w.children){const S=w.children;for(let L=0;L{i(h)}:er}function i(u){if(Hc(u)){const g=r.get(u);g&&(r.delete(u),n.splice(n.indexOf(g),1),g.children.forEach(i),g.alias.forEach(i))}else{const g=n.indexOf(u);g>-1&&(n.splice(g,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function l(){return n}function a(u){const g=Wg(u,n);n.splice(g,0,u),u.record.name&&!bl(u)&&r.set(u.record.name,u)}function d(u,g){let p,_={},w,E;if("name"in u&&u.name){if(p=r.get(u.name),!p)throw In(Ce.MATCHER_NOT_FOUND,{location:u});E=p.record.name,_=fe(yl(g.params,p.keys.filter(h=>!h.optional).concat(p.parent?p.parent.keys.filter(h=>h.optional):[]).map(h=>h.name)),u.params&&yl(u.params,p.keys.map(h=>h.name))),w=p.stringify(_)}else if(u.path!=null)w=u.path,p=n.find(h=>h.re.test(w)),p&&(_=p.parse(w),E=p.record.name);else{if(p=g.name?r.get(g.name):n.find(h=>h.re.test(g.path)),!p)throw In(Ce.MATCHER_NOT_FOUND,{location:u,currentLocation:g});E=p.record.name,_=fe({},g.params,u.params),w=p.stringify(_)}const f=[];let y=p;for(;y;)f.unshift(y.record),y=y.parent;return{name:E,path:w,params:_,matched:f,meta:Vg(f)}}e.forEach(u=>o(u));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:d,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:s}}function yl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function vl(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ug(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ug(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function bl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Vg(e){return e.reduce((t,n)=>fe(t,n.meta),{})}function Wg(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;jc(e,t[o])<0?r=o:n=o+1}const s=Kg(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Kg(e){let t=e;for(;t=t.parent;)if(Fc(t)&&jc(e,t)===0)return t}function Fc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function _l(e){const t=je(ps),n=je(qo),r=ve(()=>{const a=te(e.to);return t.resolve(a)}),s=ve(()=>{const{matched:a}=r.value,{length:d}=a,c=a[d-1],u=n.matched;if(!c||!u.length)return-1;const g=u.findIndex(On.bind(null,c));if(g>-1)return g;const p=wl(a[d-2]);return d>1&&wl(c)===p&&u[u.length-1].path!==p?u.findIndex(On.bind(null,a[d-2])):g}),o=ve(()=>s.value>-1&&Yg(n.params,r.value.params)),i=ve(()=>s.value>-1&&s.value===n.matched.length-1&&Nc(n.params,r.value.params));function l(a={}){if(Jg(a)){const d=t[te(e.replace)?"replace":"push"](te(e.to)).catch(er);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:r,href:ve(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}function Gg(e){return e.length===1?e[0]:e}const qg=Hn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:_l,setup(e,{slots:t}){const n=Ot(_l(e)),{options:r}=je(ps),s=ve(()=>({[xl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Gg(t.default(n));return e.custom?o:$e("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),zg=qg;function Jg(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Yg(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!ct(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function wl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xl=(e,t,n)=>e??t??n,Qg=Hn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=je(po),s=ve(()=>e.route||r.value),o=je(pl,0),i=ve(()=>{let d=te(o);const{matched:c}=s.value;let u;for(;(u=c[d])&&!u.components;)d++;return d}),l=ve(()=>s.value.matched[i.value]);En(pl,ve(()=>i.value+1)),En(Tg,l),En(po,s);const a=Se();return en(()=>[a.value,l.value,e.name],([d,c,u],[g,p,_])=>{c&&(c.instances[u]=d,p&&p!==c&&d&&d===g&&(c.leaveGuards.size||(c.leaveGuards=p.leaveGuards),c.updateGuards.size||(c.updateGuards=p.updateGuards))),d&&c&&(!p||!On(c,p)||!g)&&(c.enterCallbacks[u]||[]).forEach(w=>w(d))},{flush:"post"}),()=>{const d=s.value,c=e.name,u=l.value,g=u&&u.components[c];if(!g)return El(n.default,{Component:g,route:d});const p=u.props[c],_=p?p===!0?d.params:typeof p=="function"?p(d):p:null,E=$e(g,fe({},_,t,{onVnodeUnmounted:f=>{f.component.isUnmounted&&(u.instances[c]=null)},ref:a}));return El(n.default,{Component:E,route:d})||E}}});function El(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Bc=Qg;function Xg(e){const t=Bg(e.routes,e),n=e.parseQuery||Cg,r=e.stringifyQuery||dl,s=e.history,o=Vn(),i=Vn(),l=Vn(),a=Rn(nt);let d=nt;hn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Ms.bind(null,T=>""+T),u=Ms.bind(null,lg),g=Ms.bind(null,ar);function p(T,W){let F,X;return Hc(T)?(F=t.getRecordMatcher(T),X=W):X=T,t.addRoute(X,F)}function _(T){const W=t.getRecordMatcher(T);W&&t.removeRoute(W)}function w(){return t.getRoutes().map(T=>T.record)}function E(T){return!!t.getRecordMatcher(T)}function f(T,W){if(W=fe({},W||a.value),typeof T=="string"){const v=Ls(n,T,W.path),C=t.resolve({path:v.path},W),O=s.createHref(v.fullPath);return fe(v,C,{params:g(C.params),hash:ar(v.hash),redirectedFrom:void 0,href:O})}let F;if(T.path!=null)F=fe({},T,{path:Ls(n,T.path,W.path).path});else{const v=fe({},T.params);for(const C in v)v[C]==null&&delete v[C];F=fe({},T,{params:u(v)}),W.params=u(W.params)}const X=t.resolve(F,W),oe=T.hash||"";X.params=c(g(X.params));const be=ug(r,fe({},T,{hash:sg(oe),path:X.path})),m=s.createHref(be);return fe({fullPath:be,hash:oe,query:r===dl?Rg(T.query):T.query||{}},X,{redirectedFrom:void 0,href:m})}function y(T){return typeof T=="string"?Ls(n,T,a.value.path):fe({},T)}function h(T,W){if(d!==T)return In(Ce.NAVIGATION_CANCELLED,{from:W,to:T})}function b(T){return L(T)}function x(T){return b(fe(y(T),{replace:!0}))}function S(T,W){const F=T.matched[T.matched.length-1];if(F&&F.redirect){const{redirect:X}=F;let oe=typeof X=="function"?X(T,W):X;return typeof oe=="string"&&(oe=oe.includes("?")||oe.includes("#")?oe=y(oe):{path:oe},oe.params={}),fe({query:T.query,hash:T.hash,params:oe.path!=null?{}:T.params},oe)}}function L(T,W){const F=d=f(T),X=a.value,oe=T.state,be=T.force,m=T.replace===!0,v=S(F,X);if(v)return L(fe(y(v),{state:typeof v=="object"?fe({},oe,v.state):oe,force:be,replace:m}),W||F);const C=F;C.redirectedFrom=W;let O;return!be&&fg(r,X,F)&&(O=In(Ce.NAVIGATION_DUPLICATED,{to:C,from:X}),ft(X,X,!0,!1)),(O?Promise.resolve(O):A(C,X)).catch(R=>bt(R)?bt(R,Ce.NAVIGATION_GUARD_REDIRECT)?R:Lt(R):z(R,C,X)).then(R=>{if(R){if(bt(R,Ce.NAVIGATION_GUARD_REDIRECT))return L(fe({replace:m},y(R.to),{state:typeof R.to=="object"?fe({},oe,R.to.state):oe,force:be}),W||C)}else R=P(C,X,!0,m,oe);return G(C,X,R),R})}function H(T,W){const F=h(T,W);return F?Promise.reject(F):Promise.resolve()}function k(T){const W=cn.values().next().value;return W&&typeof W.runWithContext=="function"?W.runWithContext(T):T()}function A(T,W){let F;const[X,oe,be]=kg(T,W);F=Hs(X.reverse(),"beforeRouteLeave",T,W);for(const v of X)v.leaveGuards.forEach(C=>{F.push(Ft(C,T,W))});const m=H.bind(null,T,W);return F.push(m),et(F).then(()=>{F=[];for(const v of o.list())F.push(Ft(v,T,W));return F.push(m),et(F)}).then(()=>{F=Hs(oe,"beforeRouteUpdate",T,W);for(const v of oe)v.updateGuards.forEach(C=>{F.push(Ft(C,T,W))});return F.push(m),et(F)}).then(()=>{F=[];for(const v of be)if(v.beforeEnter)if(ct(v.beforeEnter))for(const C of v.beforeEnter)F.push(Ft(C,T,W));else F.push(Ft(v.beforeEnter,T,W));return F.push(m),et(F)}).then(()=>(T.matched.forEach(v=>v.enterCallbacks={}),F=Hs(be,"beforeRouteEnter",T,W,k),F.push(m),et(F))).then(()=>{F=[];for(const v of i.list())F.push(Ft(v,T,W));return F.push(m),et(F)}).catch(v=>bt(v,Ce.NAVIGATION_CANCELLED)?v:Promise.reject(v))}function G(T,W,F){l.list().forEach(X=>k(()=>X(T,W,F)))}function P(T,W,F,X,oe){const be=h(T,W);if(be)return be;const m=W===nt,v=hn?history.state:{};F&&(X||m?s.replace(T.fullPath,fe({scroll:m&&v&&v.scroll},oe)):s.push(T.fullPath,oe)),a.value=T,ft(T,W,F,m),Lt()}let q;function ie(){q||(q=s.listen((T,W,F)=>{if(!Vt.listening)return;const X=f(T),oe=S(X,Vt.currentRoute.value);if(oe){L(fe(oe,{replace:!0,force:!0}),X).catch(er);return}d=X;const be=a.value;hn&&bg(fl(be.fullPath,F.delta),ds()),A(X,be).catch(m=>bt(m,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_CANCELLED)?m:bt(m,Ce.NAVIGATION_GUARD_REDIRECT)?(L(fe(y(m.to),{force:!0}),X).then(v=>{bt(v,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_DUPLICATED)&&!F.delta&&F.type===uo.pop&&s.go(-1,!1)}).catch(er),Promise.reject()):(F.delta&&s.go(-F.delta,!1),z(m,X,be))).then(m=>{m=m||P(X,be,!1),m&&(F.delta&&!bt(m,Ce.NAVIGATION_CANCELLED)?s.go(-F.delta,!1):F.type===uo.pop&&bt(m,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),G(X,be,m)}).catch(er)}))}let ue=Vn(),U=Vn(),J;function z(T,W,F){Lt(T);const X=U.list();return X.length?X.forEach(oe=>oe(T,W,F)):console.error(T),Promise.reject(T)}function Ee(){return J&&a.value!==nt?Promise.resolve():new Promise((T,W)=>{ue.add([T,W])})}function Lt(T){return J||(J=!T,ie(),ue.list().forEach(([W,F])=>T?F(T):W()),ue.reset()),T}function ft(T,W,F,X){const{scrollBehavior:oe}=e;if(!hn||!oe)return Promise.resolve();const be=!F&&_g(fl(T.fullPath,0))||(X||!F)&&history.state&&history.state.scroll||null;return sn().then(()=>oe(T,W,be)).then(m=>m&&vg(m)).catch(m=>z(m,T,W))}const We=T=>s.go(T);let an;const cn=new Set,Vt={currentRoute:a,listening:!0,addRoute:p,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:w,resolve:f,options:e,push:b,replace:x,go:We,back:()=>We(-1),forward:()=>We(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:U.add,isReady:Ee,install(T){T.component("RouterLink",zg),T.component("RouterView",Bc),T.config.globalProperties.$router=Vt,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>te(a)}),hn&&!an&&a.value===nt&&(an=!0,b(s.location).catch(X=>{}));const W={};for(const X in nt)Object.defineProperty(W,X,{get:()=>a.value[X],enumerable:!0});T.provide(ps,Vt),T.provide(qo,Ct(W)),T.provide(po,a);const F=T.unmount;cn.add(T),T.unmount=function(){cn.delete(T),cn.size<1&&(d=nt,q&&q(),q=null,a.value=nt,an=!1,J=!1),F()}}};function et(T){return T.reduce((W,F)=>W.then(()=>k(F)),Promise.resolve())}return Vt}function Zg(){return je(ps)}function em(e){return je(qo)}const tm=/(:\w+)\([^)]+\)/g,nm=/(:\w+)[?+*]/g,rm=/:\w+/g,sm=(e,t)=>t.path.replace(tm,"$1").replace(nm,"$1").replace(rm,n=>e.params[n.slice(1)]?.toString()||""),ho=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&sm(e.route,n));return typeof r=="function"?r(e.route):r},om=(e,t)=>({default:()=>e?$e(zu,e===!0?{}:e,t):t});function zo(e){return Array.isArray(e)?e:[e]}const im={layout:"default"},lm={layout:"default"},am={layout:"default"},cm={layout:"default"},um={layout:"default"},fm={layout:"default"},dm={layout:"default"},Ds=[{name:"index",path:"/",component:()=>le(()=>import("./FENYPvwZ.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{name:"login",path:"/login",meta:im||{},component:()=>le(()=>import("./B6TEfPSg.js"),__vite__mapDeps([6,7,8,9,10]),import.meta.url)},{name:"anlagen",path:"/anlagen",component:()=>le(()=>import("./CvtlfSR0.js"),__vite__mapDeps([11,7]),import.meta.url)},{name:"galerie",path:"/galerie",component:()=>le(()=>import("./C5WkR1xp.js"),__vite__mapDeps([12,7]),import.meta.url)},{name:"kontakt",path:"/kontakt",component:()=>le(()=>import("./BGsE9M8w.js"),__vite__mapDeps([13,14,15,4,8,7]),import.meta.url)},{name:"satzung",path:"/satzung",component:()=>le(()=>import("./CTuRK0lH.js"),__vite__mapDeps([16,7,17]),import.meta.url)},{name:"termine",path:"/termine",component:()=>le(()=>import("./BQa0cr2b.js"),__vite__mapDeps([18,7,2]),import.meta.url)},{name:"vorstand",path:"/vorstand",component:()=>le(()=>import("./B3KXwwdt.js"),__vite__mapDeps([19,7]),import.meta.url)},{name:"cms",path:"/cms",meta:{...lm||{},middleware:"auth"},component:()=>le(()=>import("./DO_5fT64.js"),__vite__mapDeps([20,7,21,2,22]),import.meta.url)},{name:"impressum",path:"/impressum",component:()=>le(()=>import("./D99LnZYi.js"),__vite__mapDeps([23,7,17,24]),import.meta.url)},{name:"tt-regeln",path:"/tt-regeln",component:()=>le(()=>import("./DjcJk1g8.js"),__vite__mapDeps([25,7,26,17,27,28,22,29]),import.meta.url)},{name:"ueber-uns",path:"/ueber-uns",component:()=>le(()=>import("./CT6VfTlB.js"),__vite__mapDeps([30,31,27,7]),import.meta.url)},{name:"geschichte",path:"/geschichte",component:()=>le(()=>import("./B23trXK4.js"),__vite__mapDeps([32,7]),import.meta.url)},{name:"cms-termine",path:"/cms/termine",meta:{...am||{},middleware:"auth"},component:()=>le(()=>import("./C_WhudVk.js"),__vite__mapDeps([33,7,34,10,35,8]),import.meta.url)},{name:"cms-benutzer",path:"/cms/benutzer",meta:{middleware:"auth"},component:()=>le(()=>import("./D11oUMHK.js"),__vite__mapDeps([36,7,8,9]),import.meta.url)},{name:"registrieren",path:"/registrieren",component:()=>le(()=>import("./Bn7G3VMx.js"),__vite__mapDeps([37,7,8,9,10]),import.meta.url)},{name:"spielsysteme",path:"/spielsysteme",component:()=>le(()=>import("./BASo1Rw1.js"),__vite__mapDeps([38,7,22,2,39,29,40]),import.meta.url)},{name:"mitgliedschaft",path:"/mitgliedschaft",component:()=>le(()=>import("./BjiYAScN.js"),__vite__mapDeps([41,9,39,31,17,24,7]),import.meta.url)},{name:"training",path:"/training",component:()=>le(()=>import("./CI8YYLGa.js"),__vite__mapDeps([42,7,14]),import.meta.url)},{name:"training-trainer",path:"/training/trainer",component:()=>le(()=>import("./BxR6w-Hd.js"),__vite__mapDeps([43,7]),import.meta.url)},{name:"mannschaften-damen",path:"/mannschaften/damen",component:()=>le(()=>import("./LPF2GIYR.js"),__vite__mapDeps([44,7]),import.meta.url)},{name:"mannschaften",path:"/mannschaften",component:()=>le(()=>import("./BU5mk92E.js"),__vite__mapDeps([45,46,22,7]),import.meta.url)},{name:"passwort-vergessen",path:"/passwort-vergessen",component:()=>le(()=>import("./DxIIJuzj.js"),__vite__mapDeps([47,7,8,9,10]),import.meta.url)},{name:"training-anfaenger",path:"/training/anfaenger",component:()=>le(()=>import("./C1eD6HzQ.js"),__vite__mapDeps([48,7,9]),import.meta.url)},{name:"mannschaften-slug",path:"/mannschaften/:slug()",component:()=>le(()=>import("./COK-PGSA.js"),__vite__mapDeps([49,7,46]),import.meta.url)},{name:"mannschaften-herren",path:"/mannschaften/herren",component:()=>le(()=>import("./sVyj_WZX.js"),__vite__mapDeps([50,7]),import.meta.url)},{name:"mannschaften-jugend",path:"/mannschaften/jugend",component:()=>le(()=>import("./BZLaJF8o.js"),__vite__mapDeps([51,7]),import.meta.url)},{name:"mitgliederbereich-news",path:"/mitgliederbereich/news",meta:{...cm||{},middleware:"auth"},component:()=>le(()=>import("./B6D6IUyr.js"),__vite__mapDeps([52,7,34,10,26,2,53,35,21,8]),import.meta.url)},{name:"vereinsmeisterschaften",path:"/vereinsmeisterschaften",component:()=>le(()=>import("./DHQur1V-.js"),__vite__mapDeps([54,7,28]),import.meta.url)},{name:"mitgliederbereich",path:"/mitgliederbereich",meta:{...um||{},middleware:"auth"},component:()=>le(()=>import("./rgKTeSYE.js"),__vite__mapDeps([55,7,22,21,9]),import.meta.url)},{name:"mannschaften-spielplaene",path:"/mannschaften/spielplaene",component:()=>le(()=>import("./BRhWghMt.js"),__vite__mapDeps([56,7,17,40]),import.meta.url)},{name:"mitgliederbereich-profil",path:"/mitgliederbereich/profil",meta:{...fm||{},middleware:"auth"},component:()=>le(()=>import("./C9UhLsiJ.js"),__vite__mapDeps([57,7,10,8,9]),import.meta.url)},{name:"mitgliederbereich-mitglieder",path:"/mitgliederbereich/mitglieder",meta:{...dm||{},middleware:"auth"},component:()=>le(()=>import("./DHyEjCGa.js"),__vite__mapDeps([58,7,3,10,53,35,4,15,14,17,8]),import.meta.url)}],pm=(e,t)=>({default:()=>e?$e(jo,e===!0?{}:e,t):t.default?.()}),hm=/(:\w+)\([^)]+\)/g,gm=/(:\w+)[?+*]/g,mm=/:\w+/g;function Cl(e){const t=e?.meta.key??e.path.replace(hm,"$1").replace(gm,"$1").replace(mm,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function ym(e,t){return e===t||t===nt?!1:Cl(e)!==Cl(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}const vm={scrollBehavior(e,t,n){const r=Te(),s=ze().options?.scrollBehaviorType??"auto";if(e.path.replace(/\/$/,"")===t.path.replace(/\/$/,""))return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:Uc(e.hash),behavior:s}:!1;if((typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1)return!1;const i=r._runningTransition?"page:transition:finish":"page:loading:end";return new Promise(l=>{if(t===nt){l(Rl(e,t,n,s));return}r.hooks.hookOnce(i,()=>{requestAnimationFrame(()=>l(Rl(e,t,n,s)))})})}};function Uc(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function Rl(e,t,n,r){if(n)return n;const s=ym(e,t);return e.hash?{el:e.hash,top:Uc(e.hash),behavior:s?r:"instant"}:{left:0,top:0}}const bm={hashMode:!1,scrollBehaviorType:"auto"},Ht={...bm,...vm},_m=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=nn(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=rn({fatal:!0,statusCode:s&&s.statusCode||404,statusMessage:s&&s.statusMessage||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},Jo=nh("auth",{state:()=>({isLoggedIn:!1,user:null,role:null}),getters:{isAdmin:e=>e.role==="admin"||e.role==="vorstand"},actions:{async checkAuth(){try{const e=await $fetch("/api/auth/status");return this.isLoggedIn=e.isLoggedIn,this.user=e.user,this.role=e.role,e}catch{return this.isLoggedIn=!1,this.user=null,this.role=null,{isLoggedIn:!1}}},async login(e,t){const n=await $fetch("/api/auth/login",{method:"POST",body:{email:e,password:t}});return n.success&&await this.checkAuth(),n},async logout(){try{await $fetch("/api/auth/logout",{method:"POST"}),this.isLoggedIn=!1,this.user=null,this.role=null}catch(e){throw console.error("Logout fehlgeschlagen:",e),e}}}}),wm=async(e,t)=>{let n,r;const s=Jo();if(e.meta.middleware==="auth"&&(s.isLoggedIn||([n,r]=nn(()=>s.checkAuth()),await n,r()),!s.isLoggedIn))return mn("/login")},xm=async e=>{let t,n;const r=([t,n]=nn(()=>Wo({path:e.path})),t=await t,n(),t);if(r.redirect)return Mt(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},Em=[_m,wm,xm],go={auth:()=>le(()=>import("./C-bqeYjt.js"),[],import.meta.url)};function Cm(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const d=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(d);return c[0]!=="/"&&(c="/"+c),Bi(c,"")}const l=Bi(r,e),a=!n||Zd(l,n)?l:n;return a+(a.includes("?")?"":s)+o}const Rm=ut({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=hr().app.baseURL;const s=Ht.history?.(r)??Og(r),o=Ht.routes?([t,n]=nn(()=>Ht.routes(Ds)),t=await t,n(),t??Ds):Ds;let i;const l=Xg({...Ht,scrollBehavior:(E,f,y)=>{if(f===nt){i=y;return}if(Ht.scrollBehavior){if(l.options.scrollBehavior=Ht.scrollBehavior,"scrollRestoration"in window.history){const h=l.beforeEach(()=>{h(),window.history.scrollRestoration="manual"})}return Ht.scrollBehavior(E,nt,i||y)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(l);const a=Rn(l.currentRoute.value);l.afterEach((E,f)=>{a.value=f}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>a.value});const d=Cm(r,window.location,e.payload.path),c=Rn(l.currentRoute.value),u=()=>{c.value=l.currentRoute.value};e.hook("page:finish",u),l.afterEach((E,f)=>{E.matched[E.matched.length-1]?.components?.default===f.matched[f.matched.length-1]?.components?.default&&u()});const g={};for(const E in c.value)Object.defineProperty(g,E,{get:()=>c.value[E],enumerable:!0});e._route=Ct(g),e._middleware||={global:[],named:{}};const p=us();l.afterEach(async(E,f,y)=>{delete e._processingMiddleware,!e.isHydrating&&p.value&&await e.runWithContext(Jp),y&&await e.callHook("page:loading:end")});try{[t,n]=nn(()=>l.isReady()),await t,n()}catch(E){[t,n]=nn(()=>e.runWithContext(()=>Jt(E))),await t,n()}const _=d!==l.currentRoute.value.fullPath?l.resolve(d):l.currentRoute.value;u();const w=e.payload.state._layout;return l.beforeEach(async(E,f)=>{await e.callHook("page:loading:start"),E.meta=Ot(E.meta),e.isHydrating&&w&&!At(E.meta.layout)&&(E.meta.layout=w),e._processingMiddleware=!0;{const y=new Set([...Em,...e._middleware.global]);for(const h of E.matched){const b=h.meta.middleware;if(b)for(const x of zo(b))y.add(x)}{const h=await e.runWithContext(()=>Wo({path:E.path}));if(h.appMiddleware)for(const b in h.appMiddleware)h.appMiddleware[b]?y.add(b):y.delete(b)}for(const h of y){const b=typeof h=="string"?e._middleware.named[h]||await go[h]?.().then(x=>x.default||x):h;if(!b)throw new Error(`Unknown route middleware: '${h}'.`);try{const x=await e.runWithContext(()=>b(E,f));if(!e.payload.serverRendered&&e.isHydrating&&(x===!1||x instanceof Error)){const S=x||rn({statusCode:404,statusMessage:`Page Not Found: ${d}`});return await e.runWithContext(()=>Jt(S)),!1}if(x===!0)continue;if(x===!1)return x;if(x)return yc(x)&&x.fatal&&await e.runWithContext(()=>Jt(x)),x}catch(x){const S=rn(x);return S.fatal&&await e.runWithContext(()=>Jt(S)),S}}}}),l.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),l.afterEach(E=>{if(E.matched.length===0)return e.runWithContext(()=>Jt(rn({statusCode:404,fatal:!1,statusMessage:`Page not found: ${E.fullPath}`,data:{path:E.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{"name"in _&&(_.name=void 0),await l.replace({..._,force:!0}),l.options.scrollBehavior=Ht.scrollBehavior}catch(E){await e.runWithContext(()=>Jt(E))}}),{provide:{router:l}}}}),mo=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Tm=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),hs=e=>{const t=Te();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{mo(()=>e())}):mo(()=>e())},km=ut({name:"nuxt:payload",setup(e){const t=new Set;ze().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await ll(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),hs(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await ll(n).catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(fs,1e3)})}}),Sm=ut(()=>{const e=ze();hs(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Am=ut(e=>{let t;async function n(){let r;try{r=await fs()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,zi);try{const s=await $fetch(Vo("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}hs(()=>{t=setTimeout(n,zi)})});function Pm(e={}){const t=e.path||window.location.pathname;let n={};try{n=qr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||n?.path!==t||n?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=as(n.app.baseURL,o.fullPath);Pm({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function Im(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Vc(e,t=ze()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;const s=t._preloadPromises||=[];if(s.length>4)return Promise.all(s).then(()=>Vc(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const l=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(l)));s.push(l)}await Promise.all(s)}const Mm=(...e)=>e.find(t=>t!==void 0);function Lm(e){const t=e.componentName||"NuxtLink";function n(o){return typeof o=="string"&&o.startsWith("#")}function r(o,i,l){const a=l??e.trailingSlash;if(!o||a!=="append"&&a!=="remove")return o;if(typeof o=="string")return Tr(o,a);const d="path"in o&&o.path!==void 0?o.path:i(o).path;return{...o,name:void 0,path:Tr(d,a)}}function s(o){const i=ze(),l=hr(),a=ve(()=>!!o.target&&o.target!=="_self"),d=ve(()=>{const E=o.to||o.href||"";return typeof E=="string"&&Mt(E,{acceptRelative:!0})}),c=ci("RouterLink"),u=typeof c!="string"?c.useLink:void 0,g=ve(()=>{if(o.external)return!0;const E=o.to||o.href||"";return typeof E=="object"?!1:E===""||d.value}),p=ve(()=>{const E=o.to||o.href||"";return g.value?E:r(E,i.resolve,o.trailingSlash)}),_=g.value?void 0:u?.({...o,to:p}),w=ve(()=>{const E=o.trailingSlash??e.trailingSlash;if(!p.value||d.value||n(p.value))return p.value;if(g.value){const f=typeof p.value=="object"&&"path"in p.value?oo(p.value):p.value,y=typeof f=="object"?i.resolve(f).href:f;return Tr(y,E)}return typeof p.value=="object"?i.resolve(p.value)?.href??null:Tr(as(l.app.baseURL,p.value),E)});return{to:p,hasTarget:a,isAbsoluteUrl:d,isExternal:g,href:w,isActive:_?.isActive??ve(()=>p.value===i.currentRoute.value.path),isExactActive:_?.isExactActive??ve(()=>p.value===i.currentRoute.value.path),route:_?.route??ve(()=>i.resolve(p.value)),async navigate(E){await mn(w.value,{replace:o.replace,external:g.value||a.value})}}}return Hn({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:s,setup(o,{slots:i}){const l=ze(),{to:a,href:d,navigate:c,isExternal:u,hasTarget:g,isAbsoluteUrl:p}=s(o),_=Rn(!1),w=Se(null),E=h=>{w.value=o.custom?h?.$el?.nextElementSibling:h?.$el};function f(h){return!_.value&&(typeof o.prefetchOn=="string"?o.prefetchOn===h:o.prefetchOn?.[h]??e.prefetchOn?.[h])&&(o.prefetch??e.prefetch)!==!1&&o.noPrefetch!==!0&&o.target!=="_blank"&&!Dm()}async function y(h=Te()){if(_.value)return;_.value=!0;const b=typeof a.value=="string"?a.value:u.value?oo(a.value):l.resolve(a.value).fullPath,x=u.value?new URL(b,window.location.href).href:b;await Promise.all([h.hooks.callHook("link:prefetch",x).catch(()=>{}),!u.value&&!g.value&&Vc(a.value,l).catch(()=>{})])}if(f("visibility")){const h=Te();let b,x=null;on(()=>{const S=Nm();hs(()=>{b=mo(()=>{w?.value?.tagName&&(x=S.observe(w.value,async()=>{x?.(),x=null,await y(h)}))})})}),Dn(()=>{b&&Tm(b),x?.(),x=null})}return()=>{if(!u.value&&!g.value&&!n(a.value)){const x={ref:E,to:a.value,activeClass:o.activeClass||e.activeClass,exactActiveClass:o.exactActiveClass||e.exactActiveClass,replace:o.replace,ariaCurrentValue:o.ariaCurrentValue,custom:o.custom};return o.custom||(f("interaction")&&(x.onPointerenter=y.bind(null,void 0),x.onFocus=y.bind(null,void 0)),_.value&&(x.class=o.prefetchedClass||e.prefetchedClass),x.rel=o.rel||void 0),$e(ci("RouterLink"),x,i.default)}const h=o.target||null,b=Mm(o.noRel?"":o.rel,e.externalRelAttribute,p.value||g.value?"noopener noreferrer":"")||null;return o.custom?i.default?i.default({href:d.value,navigate:c,prefetch:y,get route(){if(!d.value)return;const x=new URL(d.value,window.location.href);return{path:x.pathname,fullPath:x.pathname,get query(){return Bo(x.search)},hash:x.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:d.value}},rel:b,target:h,isExternal:u.value||g.value,isActive:!1,isExactActive:!1}):null:$e("a",{ref:w,href:d.value||null,rel:b,target:h,onClick:x=>{if(!(u.value||g.value))return x.preventDefault(),o.replace?l.replace(d.value):l.push(d.value)}},i.default?.())}}})}const Wc=Lm(Pp);function Tr(e,t){const n=t==="append"?Za:lr;return Mt(e)&&!e.startsWith("http")?e:n(e,!0)}function Nm(){const e=Te();if(e._observer)return e._observer;let t=null;const n=new Map,r=(o,i)=>(t||=new IntersectionObserver(l=>{for(const a of l){const d=n.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&d&&d()}}),n.set(o,i),t.observe(o),()=>{n.delete(o),t?.unobserve(o),n.size===0&&(t?.disconnect(),t=null)});return e._observer={observe:r}}const Hm=/2g/;function Dm(){const e=navigator.connection;return!!(e&&(e.saveData||Hm.test(e.effectiveType)))}const $m=ut({name:"pinia",setup(e){const t=Yp();return e.vueApp.use(t),gr(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}}}),jm=ut({name:"nuxt:global-components"}),kr={},Fm=ut({name:"nuxt:prefetch",setup(e){const t=ze();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof kr[r]=="function"&&await kr[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Mt(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=zo(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof go[i]=="function"&&go[i]();typeof s=="string"&&s in kr&&Im(kr[s])})}}),Bm=[Fh,Uh,qh,Rm,km,Sm,Am,Om,$m,jm,Fm],Kc=(e="RouteProvider")=>Hn({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return En(cs,Ct(s)),()=>t.vnode?$e(t.vnode,{ref:t.vnodeRef}):t.vnode}}),Um=Kc(),Tl=new WeakMap,Vm=Hn({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=Te(),o=Se(),i=je(cs,null);let l;r({pageRef:o});const a=je(qp,null);let d;const c=s.deferHydration();if(s.isHydrating){const g=s.hooks.hookOnce("app:error",c);ze().beforeEach(g)}e.pageKey&&en(()=>e.pageKey,(g,p)=>{g!==p&&s.callHook("page:loading:start")});let u=!1;{const g=ze().beforeResolve(()=>{u=!1});Dn(()=>{g()})}return()=>$e(Bc,{name:e.name,route:e.route,...t},{default:g=>{const p=Km(i,g.route,g.Component),_=i&&i.matched.length===g.route.matched.length;if(!g.Component){if(d&&!_)return d;c();return}if(d&&a&&!a.isCurrent(g.route))return d;if(p&&i&&(!a||a?.isCurrent(i)))return _?d:null;const w=ho(g,e.pageKey),E=Gm(i,g.route,g.Component);!s.isHydrating&&l===w&&!E&&sn(()=>{u=!0,s.callHook("page:loading:end")}),l=w;const f=!!(e.transition??g.route.meta.pageTransition??Gi),y=f&&Wm([e.transition,g.route.meta.pageTransition,Gi,{onAfterLeave(){delete s._runningTransition,s.callHook("page:transition:finish",g.Component)}}]),h=e.keepalive??g.route.meta.keepalive??Ap;return d=pm(f&&y,om(h,$e($a,{suspensible:!0,onPending:()=>{f&&(s._runningTransition=!0),s.callHook("page:start",g.Component)},onResolve:()=>{sn(()=>s.callHook("page:finish",g.Component).then(()=>{if(delete s._runningTransition,!u&&!E)return u=!0,s.callHook("page:loading:end")}).finally(c))}},{default:()=>{const b={key:w||void 0,vnode:n.default?qm(n.default,g):g.Component,route:g.route,renderKey:w||void 0,trackRootNodes:f,vnodeRef:o};if(!h)return $e(Um,b);const x=g.Component.type,S=x;let L=Tl.get(S);return L||(L=Kc(x.name||x.__name),Tl.set(S,L)),$e(L,b)}}))).default(),d}})}});function Wm(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?zo(n.onAfterLeave):void 0});return pc(...t)}function Km(e,t,n){if(!e)return!1;const r=t.matched.findIndex(s=>s.components?.default===n?.type);return!r||r===-1?!1:t.matched.slice(0,r).some((s,o)=>s.components?.default!==e.matched[o]?.components?.default)||n&&ho({route:t,Component:n})!==ho({route:e,Component:n})}function Gm(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)location.protocol+"//"+location.host;function $c(e,t){const{pathname:n,search:r,hash:s}=t,o=e.indexOf("#");if(o>-1){let i=s.includes(e.slice(o))?e.slice(o).length:1,l=s.slice(i);return l[0]!=="/"&&(l="/"+l),cl(l,"")}return cl(n,e)+r+s}function Ag(e,t,n,r){let s=[],o=[],i=null;const l=({state:g})=>{const p=$c(e,location),_=n.value,w=t.value;let E=0;if(g){if(n.value=p,t.value=g,i&&i===_){i=null;return}E=w?g.position-w.position:0}else r(p);s.forEach(f=>{f(n.value,_,{delta:E,type:uo.pop,direction:E?E>0?Ns.forward:Ns.back:Ns.unknown})})};function a(){i=n.value}function d(g){s.push(g);const p=()=>{const _=s.indexOf(g);_>-1&&s.splice(_,1)};return o.push(p),p}function c(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(fe({},g.state,{scroll:ds()}),"")}}function u(){for(const g of o)g();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:a,listen:d,destroy:u}}function hl(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?ds():null}}function Pg(e){const{history:t,location:n}=window,r={value:$c(e,n)},s={value:t.state};s.value||o(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(a,d,c){const u=e.indexOf("#"),g=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+a:Sg()+e+a;try{t[c?"replaceState":"pushState"](d,"",g),s.value=d}catch(p){console.error(p),n[c?"replace":"assign"](g)}}function i(a,d){o(a,fe({},t.state,hl(s.value.back,a,s.value.forward,!0),d,{position:s.value.position}),!0),r.value=a}function l(a,d){const c=fe({},s.value,t.state,{forward:a,scroll:ds()});o(c.current,c,!0),o(a,fe({},hl(r.value,a,null),{position:c.position+1},d),!1),r.value=a}return{location:r,state:s,push:l,replace:i}}function Og(e){e=hg(e);const t=Pg(e),n=Ag(e,t.state,t.location,t.replace);function r(o,i=!0){i||n.pauseListeners(),history.go(o)}const s=fe({location:"",base:e,go:r,createHref:mg.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Yt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ke=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(ke||{});const Ig={type:Yt.Static,value:""},Mg=/[a-zA-Z0-9_]/;function Lg(e){if(!e)return[[]];if(e==="/")return[[Ig]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${d}": ${p}`)}let n=ke.Static,r=n;const s=[];let o;function i(){o&&s.push(o),o=[]}let l=0,a,d="",c="";function u(){d&&(n===ke.Static?o.push({type:Yt.Static,value:d}):n===ke.Param||n===ke.ParamRegExp||n===ke.ParamRegExpEnd?(o.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Yt.Param,value:d,regexp:c,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),d="")}function g(){d+=a}for(;lt.length?t.length===1&&t[0]===Ue.Static+Ue.Segment?1:-1:0}function jc(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const jg={strict:!1,end:!0,sensitive:!1};function Fg(e,t,n){const r=Dg(Lg(e.path),n),s=fe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function Bg(e,t){const n=[],r=new Map;t=al(jg,t);function s(u){return r.get(u)}function o(u,g,p){const _=!p,w=vl(u);w.aliasOf=p&&p.record;const E=al(t,u),f=[w];if("alias"in u){const b=typeof u.alias=="string"?[u.alias]:u.alias;for(const x of b)f.push(vl(fe({},w,{components:p?p.record.components:w.components,path:x,aliasOf:p?p.record:w})))}let y,h;for(const b of f){const{path:x}=b;if(g&&x[0]!=="/"){const S=g.record.path,L=S[S.length-1]==="/"?"":"/";b.path=g.record.path+(x&&L+x)}if(y=Fg(b,g,E),p?p.alias.push(y):(h=h||y,h!==y&&h.alias.push(y),_&&u.name&&!bl(y)&&i(u.name)),Fc(y)&&a(y),w.children){const S=w.children;for(let L=0;L{i(h)}:er}function i(u){if(Hc(u)){const g=r.get(u);g&&(r.delete(u),n.splice(n.indexOf(g),1),g.children.forEach(i),g.alias.forEach(i))}else{const g=n.indexOf(u);g>-1&&(n.splice(g,1),u.record.name&&r.delete(u.record.name),u.children.forEach(i),u.alias.forEach(i))}}function l(){return n}function a(u){const g=Wg(u,n);n.splice(g,0,u),u.record.name&&!bl(u)&&r.set(u.record.name,u)}function d(u,g){let p,_={},w,E;if("name"in u&&u.name){if(p=r.get(u.name),!p)throw In(Ce.MATCHER_NOT_FOUND,{location:u});E=p.record.name,_=fe(yl(g.params,p.keys.filter(h=>!h.optional).concat(p.parent?p.parent.keys.filter(h=>h.optional):[]).map(h=>h.name)),u.params&&yl(u.params,p.keys.map(h=>h.name))),w=p.stringify(_)}else if(u.path!=null)w=u.path,p=n.find(h=>h.re.test(w)),p&&(_=p.parse(w),E=p.record.name);else{if(p=g.name?r.get(g.name):n.find(h=>h.re.test(g.path)),!p)throw In(Ce.MATCHER_NOT_FOUND,{location:u,currentLocation:g});E=p.record.name,_=fe({},g.params,u.params),w=p.stringify(_)}const f=[];let y=p;for(;y;)f.unshift(y.record),y=y.parent;return{name:E,path:w,params:_,matched:f,meta:Vg(f)}}e.forEach(u=>o(u));function c(){n.length=0,r.clear()}return{addRoute:o,resolve:d,removeRoute:i,clearRoutes:c,getRoutes:l,getRecordMatcher:s}}function yl(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function vl(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ug(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ug(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function bl(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Vg(e){return e.reduce((t,n)=>fe(t,n.meta),{})}function Wg(e,t){let n=0,r=t.length;for(;n!==r;){const o=n+r>>1;jc(e,t[o])<0?r=o:n=o+1}const s=Kg(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Kg(e){let t=e;for(;t=t.parent;)if(Fc(t)&&jc(e,t)===0)return t}function Fc({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function _l(e){const t=je(ps),n=je(qo),r=ve(()=>{const a=te(e.to);return t.resolve(a)}),s=ve(()=>{const{matched:a}=r.value,{length:d}=a,c=a[d-1],u=n.matched;if(!c||!u.length)return-1;const g=u.findIndex(On.bind(null,c));if(g>-1)return g;const p=wl(a[d-2]);return d>1&&wl(c)===p&&u[u.length-1].path!==p?u.findIndex(On.bind(null,a[d-2])):g}),o=ve(()=>s.value>-1&&Yg(n.params,r.value.params)),i=ve(()=>s.value>-1&&s.value===n.matched.length-1&&Nc(n.params,r.value.params));function l(a={}){if(Jg(a)){const d=t[te(e.replace)?"replace":"push"](te(e.to)).catch(er);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:r,href:ve(()=>r.value.href),isActive:o,isExactActive:i,navigate:l}}function Gg(e){return e.length===1?e[0]:e}const qg=Hn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:_l,setup(e,{slots:t}){const n=Ot(_l(e)),{options:r}=je(ps),s=ve(()=>({[xl(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xl(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Gg(t.default(n));return e.custom?o:$e("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),zg=qg;function Jg(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Yg(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!ct(s)||s.length!==r.length||r.some((o,i)=>o!==s[i]))return!1}return!0}function wl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xl=(e,t,n)=>e??t??n,Qg=Hn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=je(po),s=ve(()=>e.route||r.value),o=je(pl,0),i=ve(()=>{let d=te(o);const{matched:c}=s.value;let u;for(;(u=c[d])&&!u.components;)d++;return d}),l=ve(()=>s.value.matched[i.value]);En(pl,ve(()=>i.value+1)),En(Tg,l),En(po,s);const a=Se();return en(()=>[a.value,l.value,e.name],([d,c,u],[g,p,_])=>{c&&(c.instances[u]=d,p&&p!==c&&d&&d===g&&(c.leaveGuards.size||(c.leaveGuards=p.leaveGuards),c.updateGuards.size||(c.updateGuards=p.updateGuards))),d&&c&&(!p||!On(c,p)||!g)&&(c.enterCallbacks[u]||[]).forEach(w=>w(d))},{flush:"post"}),()=>{const d=s.value,c=e.name,u=l.value,g=u&&u.components[c];if(!g)return El(n.default,{Component:g,route:d});const p=u.props[c],_=p?p===!0?d.params:typeof p=="function"?p(d):p:null,E=$e(g,fe({},_,t,{onVnodeUnmounted:f=>{f.component.isUnmounted&&(u.instances[c]=null)},ref:a}));return El(n.default,{Component:E,route:d})||E}}});function El(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Bc=Qg;function Xg(e){const t=Bg(e.routes,e),n=e.parseQuery||Cg,r=e.stringifyQuery||dl,s=e.history,o=Vn(),i=Vn(),l=Vn(),a=Rn(nt);let d=nt;hn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=Ms.bind(null,T=>""+T),u=Ms.bind(null,lg),g=Ms.bind(null,ar);function p(T,W){let F,X;return Hc(T)?(F=t.getRecordMatcher(T),X=W):X=T,t.addRoute(X,F)}function _(T){const W=t.getRecordMatcher(T);W&&t.removeRoute(W)}function w(){return t.getRoutes().map(T=>T.record)}function E(T){return!!t.getRecordMatcher(T)}function f(T,W){if(W=fe({},W||a.value),typeof T=="string"){const v=Ls(n,T,W.path),C=t.resolve({path:v.path},W),O=s.createHref(v.fullPath);return fe(v,C,{params:g(C.params),hash:ar(v.hash),redirectedFrom:void 0,href:O})}let F;if(T.path!=null)F=fe({},T,{path:Ls(n,T.path,W.path).path});else{const v=fe({},T.params);for(const C in v)v[C]==null&&delete v[C];F=fe({},T,{params:u(v)}),W.params=u(W.params)}const X=t.resolve(F,W),oe=T.hash||"";X.params=c(g(X.params));const be=ug(r,fe({},T,{hash:sg(oe),path:X.path})),m=s.createHref(be);return fe({fullPath:be,hash:oe,query:r===dl?Rg(T.query):T.query||{}},X,{redirectedFrom:void 0,href:m})}function y(T){return typeof T=="string"?Ls(n,T,a.value.path):fe({},T)}function h(T,W){if(d!==T)return In(Ce.NAVIGATION_CANCELLED,{from:W,to:T})}function b(T){return L(T)}function x(T){return b(fe(y(T),{replace:!0}))}function S(T,W){const F=T.matched[T.matched.length-1];if(F&&F.redirect){const{redirect:X}=F;let oe=typeof X=="function"?X(T,W):X;return typeof oe=="string"&&(oe=oe.includes("?")||oe.includes("#")?oe=y(oe):{path:oe},oe.params={}),fe({query:T.query,hash:T.hash,params:oe.path!=null?{}:T.params},oe)}}function L(T,W){const F=d=f(T),X=a.value,oe=T.state,be=T.force,m=T.replace===!0,v=S(F,X);if(v)return L(fe(y(v),{state:typeof v=="object"?fe({},oe,v.state):oe,force:be,replace:m}),W||F);const C=F;C.redirectedFrom=W;let O;return!be&&fg(r,X,F)&&(O=In(Ce.NAVIGATION_DUPLICATED,{to:C,from:X}),ft(X,X,!0,!1)),(O?Promise.resolve(O):A(C,X)).catch(R=>bt(R)?bt(R,Ce.NAVIGATION_GUARD_REDIRECT)?R:Lt(R):z(R,C,X)).then(R=>{if(R){if(bt(R,Ce.NAVIGATION_GUARD_REDIRECT))return L(fe({replace:m},y(R.to),{state:typeof R.to=="object"?fe({},oe,R.to.state):oe,force:be}),W||C)}else R=P(C,X,!0,m,oe);return G(C,X,R),R})}function H(T,W){const F=h(T,W);return F?Promise.reject(F):Promise.resolve()}function k(T){const W=cn.values().next().value;return W&&typeof W.runWithContext=="function"?W.runWithContext(T):T()}function A(T,W){let F;const[X,oe,be]=kg(T,W);F=Hs(X.reverse(),"beforeRouteLeave",T,W);for(const v of X)v.leaveGuards.forEach(C=>{F.push(Ft(C,T,W))});const m=H.bind(null,T,W);return F.push(m),et(F).then(()=>{F=[];for(const v of o.list())F.push(Ft(v,T,W));return F.push(m),et(F)}).then(()=>{F=Hs(oe,"beforeRouteUpdate",T,W);for(const v of oe)v.updateGuards.forEach(C=>{F.push(Ft(C,T,W))});return F.push(m),et(F)}).then(()=>{F=[];for(const v of be)if(v.beforeEnter)if(ct(v.beforeEnter))for(const C of v.beforeEnter)F.push(Ft(C,T,W));else F.push(Ft(v.beforeEnter,T,W));return F.push(m),et(F)}).then(()=>(T.matched.forEach(v=>v.enterCallbacks={}),F=Hs(be,"beforeRouteEnter",T,W,k),F.push(m),et(F))).then(()=>{F=[];for(const v of i.list())F.push(Ft(v,T,W));return F.push(m),et(F)}).catch(v=>bt(v,Ce.NAVIGATION_CANCELLED)?v:Promise.reject(v))}function G(T,W,F){l.list().forEach(X=>k(()=>X(T,W,F)))}function P(T,W,F,X,oe){const be=h(T,W);if(be)return be;const m=W===nt,v=hn?history.state:{};F&&(X||m?s.replace(T.fullPath,fe({scroll:m&&v&&v.scroll},oe)):s.push(T.fullPath,oe)),a.value=T,ft(T,W,F,m),Lt()}let q;function ie(){q||(q=s.listen((T,W,F)=>{if(!Vt.listening)return;const X=f(T),oe=S(X,Vt.currentRoute.value);if(oe){L(fe(oe,{replace:!0,force:!0}),X).catch(er);return}d=X;const be=a.value;hn&&bg(fl(be.fullPath,F.delta),ds()),A(X,be).catch(m=>bt(m,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_CANCELLED)?m:bt(m,Ce.NAVIGATION_GUARD_REDIRECT)?(L(fe(y(m.to),{force:!0}),X).then(v=>{bt(v,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_DUPLICATED)&&!F.delta&&F.type===uo.pop&&s.go(-1,!1)}).catch(er),Promise.reject()):(F.delta&&s.go(-F.delta,!1),z(m,X,be))).then(m=>{m=m||P(X,be,!1),m&&(F.delta&&!bt(m,Ce.NAVIGATION_CANCELLED)?s.go(-F.delta,!1):F.type===uo.pop&&bt(m,Ce.NAVIGATION_ABORTED|Ce.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),G(X,be,m)}).catch(er)}))}let ue=Vn(),U=Vn(),J;function z(T,W,F){Lt(T);const X=U.list();return X.length?X.forEach(oe=>oe(T,W,F)):console.error(T),Promise.reject(T)}function Ee(){return J&&a.value!==nt?Promise.resolve():new Promise((T,W)=>{ue.add([T,W])})}function Lt(T){return J||(J=!T,ie(),ue.list().forEach(([W,F])=>T?F(T):W()),ue.reset()),T}function ft(T,W,F,X){const{scrollBehavior:oe}=e;if(!hn||!oe)return Promise.resolve();const be=!F&&_g(fl(T.fullPath,0))||(X||!F)&&history.state&&history.state.scroll||null;return sn().then(()=>oe(T,W,be)).then(m=>m&&vg(m)).catch(m=>z(m,T,W))}const We=T=>s.go(T);let an;const cn=new Set,Vt={currentRoute:a,listening:!0,addRoute:p,removeRoute:_,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:w,resolve:f,options:e,push:b,replace:x,go:We,back:()=>We(-1),forward:()=>We(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:U.add,isReady:Ee,install(T){T.component("RouterLink",zg),T.component("RouterView",Bc),T.config.globalProperties.$router=Vt,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>te(a)}),hn&&!an&&a.value===nt&&(an=!0,b(s.location).catch(X=>{}));const W={};for(const X in nt)Object.defineProperty(W,X,{get:()=>a.value[X],enumerable:!0});T.provide(ps,Vt),T.provide(qo,Ct(W)),T.provide(po,a);const F=T.unmount;cn.add(T),T.unmount=function(){cn.delete(T),cn.size<1&&(d=nt,q&&q(),q=null,a.value=nt,an=!1,J=!1),F()}}};function et(T){return T.reduce((W,F)=>W.then(()=>k(F)),Promise.resolve())}return Vt}function Zg(){return je(ps)}function em(e){return je(qo)}const tm=/(:\w+)\([^)]+\)/g,nm=/(:\w+)[?+*]/g,rm=/:\w+/g,sm=(e,t)=>t.path.replace(tm,"$1").replace(nm,"$1").replace(rm,n=>e.params[n.slice(1)]?.toString()||""),ho=(e,t)=>{const n=e.route.matched.find(s=>s.components?.default===e.Component.type),r=t??n?.meta.key??(n&&sm(e.route,n));return typeof r=="function"?r(e.route):r},om=(e,t)=>({default:()=>e?$e(zu,e===!0?{}:e,t):t});function zo(e){return Array.isArray(e)?e:[e]}const im={layout:"default"},lm={layout:"default"},am={layout:"default"},cm={layout:"default"},um={layout:"default"},fm={layout:"default"},dm={layout:"default"},Ds=[{name:"index",path:"/",component:()=>le(()=>import("./B6R2Q32I.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{name:"login",path:"/login",meta:im||{},component:()=>le(()=>import("./DCC-mN0A.js"),__vite__mapDeps([6,7,8,9,10]),import.meta.url)},{name:"anlagen",path:"/anlagen",component:()=>le(()=>import("./C3627_Er.js"),__vite__mapDeps([11,7]),import.meta.url)},{name:"galerie",path:"/galerie",component:()=>le(()=>import("./CJ4iaRop.js"),__vite__mapDeps([12,7]),import.meta.url)},{name:"kontakt",path:"/kontakt",component:()=>le(()=>import("./B_w5gbrC.js"),__vite__mapDeps([13,14,15,4,8,7]),import.meta.url)},{name:"satzung",path:"/satzung",component:()=>le(()=>import("./CTuRK0lH.js"),__vite__mapDeps([16,7,17]),import.meta.url)},{name:"termine",path:"/termine",component:()=>le(()=>import("./BqZP274n.js"),__vite__mapDeps([18,7,2]),import.meta.url)},{name:"vorstand",path:"/vorstand",component:()=>le(()=>import("./B3KXwwdt.js"),__vite__mapDeps([19,7]),import.meta.url)},{name:"cms",path:"/cms",meta:{...lm||{},middleware:"auth"},component:()=>le(()=>import("./CASz9Fiv.js"),__vite__mapDeps([20,7,21,2,22]),import.meta.url)},{name:"impressum",path:"/impressum",component:()=>le(()=>import("./D99LnZYi.js"),__vite__mapDeps([23,7,17,24]),import.meta.url)},{name:"tt-regeln",path:"/tt-regeln",component:()=>le(()=>import("./DjcJk1g8.js"),__vite__mapDeps([25,7,26,17,27,28,22,29]),import.meta.url)},{name:"ueber-uns",path:"/ueber-uns",component:()=>le(()=>import("./C4R6hOY6.js"),__vite__mapDeps([30,31,27,7]),import.meta.url)},{name:"geschichte",path:"/geschichte",component:()=>le(()=>import("./B23trXK4.js"),__vite__mapDeps([32,7]),import.meta.url)},{name:"cms-termine",path:"/cms/termine",meta:{...am||{},middleware:"auth"},component:()=>le(()=>import("./DDYB2ueJ.js"),__vite__mapDeps([33,7,34,10,35,8]),import.meta.url)},{name:"cms-benutzer",path:"/cms/benutzer",meta:{middleware:"auth"},component:()=>le(()=>import("./CzgMfPlN.js"),__vite__mapDeps([36,7,8,9]),import.meta.url)},{name:"registrieren",path:"/registrieren",component:()=>le(()=>import("./DeoKPvBx.js"),__vite__mapDeps([37,7,8,9,10]),import.meta.url)},{name:"spielsysteme",path:"/spielsysteme",component:()=>le(()=>import("./BLmxLqU-.js"),__vite__mapDeps([38,7,22,2,39,29,40]),import.meta.url)},{name:"mitgliedschaft",path:"/mitgliedschaft",component:()=>le(()=>import("./Zs8yqLLb.js"),__vite__mapDeps([41,9,39,31,17,24,7]),import.meta.url)},{name:"training",path:"/training",component:()=>le(()=>import("./CI8YYLGa.js"),__vite__mapDeps([42,7,14]),import.meta.url)},{name:"training-trainer",path:"/training/trainer",component:()=>le(()=>import("./BxR6w-Hd.js"),__vite__mapDeps([43,7]),import.meta.url)},{name:"mannschaften-damen",path:"/mannschaften/damen",component:()=>le(()=>import("./LPF2GIYR.js"),__vite__mapDeps([44,7]),import.meta.url)},{name:"mannschaften",path:"/mannschaften",component:()=>le(()=>import("./Bivc7aFF.js"),__vite__mapDeps([45,46,22,7]),import.meta.url)},{name:"passwort-vergessen",path:"/passwort-vergessen",component:()=>le(()=>import("./DYva3pFh.js"),__vite__mapDeps([47,7,8,9,10]),import.meta.url)},{name:"training-anfaenger",path:"/training/anfaenger",component:()=>le(()=>import("./C1eD6HzQ.js"),__vite__mapDeps([48,7,9]),import.meta.url)},{name:"mannschaften-slug",path:"/mannschaften/:slug()",component:()=>le(()=>import("./BpS9ghZc.js"),__vite__mapDeps([49,7,46]),import.meta.url)},{name:"mannschaften-herren",path:"/mannschaften/herren",component:()=>le(()=>import("./sVyj_WZX.js"),__vite__mapDeps([50,7]),import.meta.url)},{name:"mannschaften-jugend",path:"/mannschaften/jugend",component:()=>le(()=>import("./BZLaJF8o.js"),__vite__mapDeps([51,7]),import.meta.url)},{name:"mitgliederbereich-news",path:"/mitgliederbereich/news",meta:{...cm||{},middleware:"auth"},component:()=>le(()=>import("./pO5XAgdL.js"),__vite__mapDeps([52,7,34,10,26,2,53,35,21,8]),import.meta.url)},{name:"vereinsmeisterschaften",path:"/vereinsmeisterschaften",component:()=>le(()=>import("./DF1dYnic.js"),__vite__mapDeps([54,7,28]),import.meta.url)},{name:"mitgliederbereich",path:"/mitgliederbereich",meta:{...um||{},middleware:"auth"},component:()=>le(()=>import("./rgKTeSYE.js"),__vite__mapDeps([55,7,22,21,9]),import.meta.url)},{name:"mannschaften-spielplaene",path:"/mannschaften/spielplaene",component:()=>le(()=>import("./S5xR3JqC.js"),__vite__mapDeps([56,7,17,40]),import.meta.url)},{name:"mitgliederbereich-profil",path:"/mitgliederbereich/profil",meta:{...fm||{},middleware:"auth"},component:()=>le(()=>import("./CDaMcsB4.js"),__vite__mapDeps([57,7,10,8,9]),import.meta.url)},{name:"mitgliederbereich-mitglieder",path:"/mitgliederbereich/mitglieder",meta:{...dm||{},middleware:"auth"},component:()=>le(()=>import("./Cx_3U4cr.js"),__vite__mapDeps([58,7,3,10,53,35,4,15,14,17,8]),import.meta.url)}],pm=(e,t)=>({default:()=>e?$e(jo,e===!0?{}:e,t):t.default?.()}),hm=/(:\w+)\([^)]+\)/g,gm=/(:\w+)[?+*]/g,mm=/:\w+/g;function Cl(e){const t=e?.meta.key??e.path.replace(hm,"$1").replace(gm,"$1").replace(mm,n=>e.params[n.slice(1)]?.toString()||"");return typeof t=="function"?t(e):t}function ym(e,t){return e===t||t===nt?!1:Cl(e)!==Cl(t)?!0:!e.matched.every((r,s)=>r.components&&r.components.default===t.matched[s]?.components?.default)}const vm={scrollBehavior(e,t,n){const r=Te(),s=ze().options?.scrollBehaviorType??"auto";if(e.path.replace(/\/$/,"")===t.path.replace(/\/$/,""))return t.hash&&!e.hash?{left:0,top:0}:e.hash?{el:e.hash,top:Uc(e.hash),behavior:s}:!1;if((typeof e.meta.scrollToTop=="function"?e.meta.scrollToTop(e,t):e.meta.scrollToTop)===!1)return!1;const i=r._runningTransition?"page:transition:finish":"page:loading:end";return new Promise(l=>{if(t===nt){l(Rl(e,t,n,s));return}r.hooks.hookOnce(i,()=>{requestAnimationFrame(()=>l(Rl(e,t,n,s)))})})}};function Uc(e){try{const t=document.querySelector(e);if(t)return(Number.parseFloat(getComputedStyle(t).scrollMarginTop)||0)+(Number.parseFloat(getComputedStyle(document.documentElement).scrollPaddingTop)||0)}catch{}return 0}function Rl(e,t,n,r){if(n)return n;const s=ym(e,t);return e.hash?{el:e.hash,top:Uc(e.hash),behavior:s?r:"instant"}:{left:0,top:0}}const bm={hashMode:!1,scrollBehaviorType:"auto"},Ht={...bm,...vm},_m=async(e,t)=>{let n,r;if(!e.meta?.validate)return;const s=([n,r]=nn(()=>Promise.resolve(e.meta.validate(e))),n=await n,r(),n);if(s===!0)return;const o=rn({fatal:!0,statusCode:s&&s.statusCode||404,statusMessage:s&&s.statusMessage||`Page Not Found: ${e.fullPath}`,data:{path:e.fullPath}});return typeof window<"u"&&window.history.pushState({},"",t.fullPath),o},Jo=nh("auth",{state:()=>({isLoggedIn:!1,user:null,role:null}),getters:{isAdmin:e=>e.role==="admin"||e.role==="vorstand"},actions:{async checkAuth(){try{const e=await $fetch("/api/auth/status");return this.isLoggedIn=e.isLoggedIn,this.user=e.user,this.role=e.role,e}catch{return this.isLoggedIn=!1,this.user=null,this.role=null,{isLoggedIn:!1}}},async login(e,t){const n=await $fetch("/api/auth/login",{method:"POST",body:{email:e,password:t}});return n.success&&await this.checkAuth(),n},async logout(){try{await $fetch("/api/auth/logout",{method:"POST"}),this.isLoggedIn=!1,this.user=null,this.role=null}catch(e){throw console.error("Logout fehlgeschlagen:",e),e}}}}),wm=async(e,t)=>{let n,r;const s=Jo();if(e.meta.middleware==="auth"&&(s.isLoggedIn||([n,r]=nn(()=>s.checkAuth()),await n,r()),!s.isLoggedIn))return mn("/login")},xm=async e=>{let t,n;const r=([t,n]=nn(()=>Wo({path:e.path})),t=await t,n(),t);if(r.redirect)return Mt(r.redirect,{acceptRelative:!0})?(window.location.href=r.redirect,!1):r.redirect},Em=[_m,wm,xm],go={auth:()=>le(()=>import("./C-bqeYjt.js"),[],import.meta.url)};function Cm(e,t,n){const{pathname:r,search:s,hash:o}=t,i=e.indexOf("#");if(i>-1){const d=o.includes(e.slice(i))?e.slice(i).length:1;let c=o.slice(d);return c[0]!=="/"&&(c="/"+c),Bi(c,"")}const l=Bi(r,e),a=!n||Zd(l,n)?l:n;return a+(a.includes("?")?"":s)+o}const Rm=ut({name:"nuxt:router",enforce:"pre",async setup(e){let t,n,r=hr().app.baseURL;const s=Ht.history?.(r)??Og(r),o=Ht.routes?([t,n]=nn(()=>Ht.routes(Ds)),t=await t,n(),t??Ds):Ds;let i;const l=Xg({...Ht,scrollBehavior:(E,f,y)=>{if(f===nt){i=y;return}if(Ht.scrollBehavior){if(l.options.scrollBehavior=Ht.scrollBehavior,"scrollRestoration"in window.history){const h=l.beforeEach(()=>{h(),window.history.scrollRestoration="manual"})}return Ht.scrollBehavior(E,nt,i||y)}},history:s,routes:o});"scrollRestoration"in window.history&&(window.history.scrollRestoration="auto"),e.vueApp.use(l);const a=Rn(l.currentRoute.value);l.afterEach((E,f)=>{a.value=f}),Object.defineProperty(e.vueApp.config.globalProperties,"previousRoute",{get:()=>a.value});const d=Cm(r,window.location,e.payload.path),c=Rn(l.currentRoute.value),u=()=>{c.value=l.currentRoute.value};e.hook("page:finish",u),l.afterEach((E,f)=>{E.matched[E.matched.length-1]?.components?.default===f.matched[f.matched.length-1]?.components?.default&&u()});const g={};for(const E in c.value)Object.defineProperty(g,E,{get:()=>c.value[E],enumerable:!0});e._route=Ct(g),e._middleware||={global:[],named:{}};const p=us();l.afterEach(async(E,f,y)=>{delete e._processingMiddleware,!e.isHydrating&&p.value&&await e.runWithContext(Jp),y&&await e.callHook("page:loading:end")});try{[t,n]=nn(()=>l.isReady()),await t,n()}catch(E){[t,n]=nn(()=>e.runWithContext(()=>Jt(E))),await t,n()}const _=d!==l.currentRoute.value.fullPath?l.resolve(d):l.currentRoute.value;u();const w=e.payload.state._layout;return l.beforeEach(async(E,f)=>{await e.callHook("page:loading:start"),E.meta=Ot(E.meta),e.isHydrating&&w&&!At(E.meta.layout)&&(E.meta.layout=w),e._processingMiddleware=!0;{const y=new Set([...Em,...e._middleware.global]);for(const h of E.matched){const b=h.meta.middleware;if(b)for(const x of zo(b))y.add(x)}{const h=await e.runWithContext(()=>Wo({path:E.path}));if(h.appMiddleware)for(const b in h.appMiddleware)h.appMiddleware[b]?y.add(b):y.delete(b)}for(const h of y){const b=typeof h=="string"?e._middleware.named[h]||await go[h]?.().then(x=>x.default||x):h;if(!b)throw new Error(`Unknown route middleware: '${h}'.`);try{const x=await e.runWithContext(()=>b(E,f));if(!e.payload.serverRendered&&e.isHydrating&&(x===!1||x instanceof Error)){const S=x||rn({statusCode:404,statusMessage:`Page Not Found: ${d}`});return await e.runWithContext(()=>Jt(S)),!1}if(x===!0)continue;if(x===!1)return x;if(x)return yc(x)&&x.fatal&&await e.runWithContext(()=>Jt(x)),x}catch(x){const S=rn(x);return S.fatal&&await e.runWithContext(()=>Jt(S)),S}}}}),l.onError(async()=>{delete e._processingMiddleware,await e.callHook("page:loading:end")}),l.afterEach(E=>{if(E.matched.length===0)return e.runWithContext(()=>Jt(rn({statusCode:404,fatal:!1,statusMessage:`Page not found: ${E.fullPath}`,data:{path:E.fullPath}})))}),e.hooks.hookOnce("app:created",async()=>{try{"name"in _&&(_.name=void 0),await l.replace({..._,force:!0}),l.options.scrollBehavior=Ht.scrollBehavior}catch(E){await e.runWithContext(()=>Jt(E))}}),{provide:{router:l}}}}),mo=globalThis.requestIdleCallback||(e=>{const t=Date.now(),n={didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))};return setTimeout(()=>{e(n)},1)}),Tm=globalThis.cancelIdleCallback||(e=>{clearTimeout(e)}),hs=e=>{const t=Te();t.isHydrating?t.hooks.hookOnce("app:suspense:resolve",()=>{mo(()=>e())}):mo(()=>e())},km=ut({name:"nuxt:payload",setup(e){const t=new Set;ze().beforeResolve(async(n,r)=>{if(n.path===r.path)return;const s=await ll(n.path);if(s){for(const o of t)delete e.static.data[o];for(const o in s.data)o in e.static.data||t.add(o),e.static.data[o]=s.data[o]}}),hs(()=>{e.hooks.hook("link:prefetch",async n=>{const{hostname:r}=new URL(n,window.location.href);r===window.location.hostname&&await ll(n).catch(()=>{console.warn("[nuxt] Error preloading payload for",n)})}),navigator.connection?.effectiveType!=="slow-2g"&&setTimeout(fs,1e3)})}}),Sm=ut(()=>{const e=ze();hs(()=>{e.beforeResolve(async()=>{await new Promise(t=>{setTimeout(t,100),requestAnimationFrame(()=>{setTimeout(t,0)})})})})}),Am=ut(e=>{let t;async function n(){let r;try{r=await fs()}catch(s){const o=s;if(!("status"in o&&(o.status===404||o.status===403)))throw o}t&&clearTimeout(t),t=setTimeout(n,zi);try{const s=await $fetch(Vo("builds/latest.json")+`?${Date.now()}`);s.id!==r?.id&&(e.hooks.callHook("app:manifest:update",s),t&&clearTimeout(t))}catch{}}hs(()=>{t=setTimeout(n,zi)})});function Pm(e={}){const t=e.path||window.location.pathname;let n={};try{n=qr(sessionStorage.getItem("nuxt:reload")||"{}")}catch{}if(e.force||n?.path!==t||n?.expires{r.clear()}),e.hook("app:chunkError",({error:o})=>{r.add(o)});function s(o){const i=as(n.app.baseURL,o.fullPath);Pm({path:i,persistState:!0})}e.hook("app:manifest:update",()=>{t.beforeResolve(s)}),t.onError((o,i)=>{r.has(o)&&s(i)})}});function Im(e){if(e?.__asyncLoader&&!e.__asyncResolved)return e.__asyncLoader()}async function Vc(e,t=ze()){const{path:n,matched:r}=t.resolve(e);if(!r.length||(t._routePreloaded||=new Set,t._routePreloaded.has(n)))return;const s=t._preloadPromises||=[];if(s.length>4)return Promise.all(s).then(()=>Vc(e,t));t._routePreloaded.add(n);for(const o of r){const i=o.components?.default;if(typeof i!="function")continue;const l=Promise.resolve(i()).catch(()=>{}).finally(()=>s.splice(s.indexOf(l)));s.push(l)}await Promise.all(s)}const Mm=(...e)=>e.find(t=>t!==void 0);function Lm(e){const t=e.componentName||"NuxtLink";function n(o){return typeof o=="string"&&o.startsWith("#")}function r(o,i,l){const a=l??e.trailingSlash;if(!o||a!=="append"&&a!=="remove")return o;if(typeof o=="string")return Tr(o,a);const d="path"in o&&o.path!==void 0?o.path:i(o).path;return{...o,name:void 0,path:Tr(d,a)}}function s(o){const i=ze(),l=hr(),a=ve(()=>!!o.target&&o.target!=="_self"),d=ve(()=>{const E=o.to||o.href||"";return typeof E=="string"&&Mt(E,{acceptRelative:!0})}),c=ci("RouterLink"),u=typeof c!="string"?c.useLink:void 0,g=ve(()=>{if(o.external)return!0;const E=o.to||o.href||"";return typeof E=="object"?!1:E===""||d.value}),p=ve(()=>{const E=o.to||o.href||"";return g.value?E:r(E,i.resolve,o.trailingSlash)}),_=g.value?void 0:u?.({...o,to:p}),w=ve(()=>{const E=o.trailingSlash??e.trailingSlash;if(!p.value||d.value||n(p.value))return p.value;if(g.value){const f=typeof p.value=="object"&&"path"in p.value?oo(p.value):p.value,y=typeof f=="object"?i.resolve(f).href:f;return Tr(y,E)}return typeof p.value=="object"?i.resolve(p.value)?.href??null:Tr(as(l.app.baseURL,p.value),E)});return{to:p,hasTarget:a,isAbsoluteUrl:d,isExternal:g,href:w,isActive:_?.isActive??ve(()=>p.value===i.currentRoute.value.path),isExactActive:_?.isExactActive??ve(()=>p.value===i.currentRoute.value.path),route:_?.route??ve(()=>i.resolve(p.value)),async navigate(E){await mn(w.value,{replace:o.replace,external:g.value||a.value})}}}return Hn({name:t,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:s,setup(o,{slots:i}){const l=ze(),{to:a,href:d,navigate:c,isExternal:u,hasTarget:g,isAbsoluteUrl:p}=s(o),_=Rn(!1),w=Se(null),E=h=>{w.value=o.custom?h?.$el?.nextElementSibling:h?.$el};function f(h){return!_.value&&(typeof o.prefetchOn=="string"?o.prefetchOn===h:o.prefetchOn?.[h]??e.prefetchOn?.[h])&&(o.prefetch??e.prefetch)!==!1&&o.noPrefetch!==!0&&o.target!=="_blank"&&!Dm()}async function y(h=Te()){if(_.value)return;_.value=!0;const b=typeof a.value=="string"?a.value:u.value?oo(a.value):l.resolve(a.value).fullPath,x=u.value?new URL(b,window.location.href).href:b;await Promise.all([h.hooks.callHook("link:prefetch",x).catch(()=>{}),!u.value&&!g.value&&Vc(a.value,l).catch(()=>{})])}if(f("visibility")){const h=Te();let b,x=null;on(()=>{const S=Nm();hs(()=>{b=mo(()=>{w?.value?.tagName&&(x=S.observe(w.value,async()=>{x?.(),x=null,await y(h)}))})})}),Dn(()=>{b&&Tm(b),x?.(),x=null})}return()=>{if(!u.value&&!g.value&&!n(a.value)){const x={ref:E,to:a.value,activeClass:o.activeClass||e.activeClass,exactActiveClass:o.exactActiveClass||e.exactActiveClass,replace:o.replace,ariaCurrentValue:o.ariaCurrentValue,custom:o.custom};return o.custom||(f("interaction")&&(x.onPointerenter=y.bind(null,void 0),x.onFocus=y.bind(null,void 0)),_.value&&(x.class=o.prefetchedClass||e.prefetchedClass),x.rel=o.rel||void 0),$e(ci("RouterLink"),x,i.default)}const h=o.target||null,b=Mm(o.noRel?"":o.rel,e.externalRelAttribute,p.value||g.value?"noopener noreferrer":"")||null;return o.custom?i.default?i.default({href:d.value,navigate:c,prefetch:y,get route(){if(!d.value)return;const x=new URL(d.value,window.location.href);return{path:x.pathname,fullPath:x.pathname,get query(){return Bo(x.search)},hash:x.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:d.value}},rel:b,target:h,isExternal:u.value||g.value,isActive:!1,isExactActive:!1}):null:$e("a",{ref:w,href:d.value||null,rel:b,target:h,onClick:x=>{if(!(u.value||g.value))return x.preventDefault(),o.replace?l.replace(d.value):l.push(d.value)}},i.default?.())}}})}const Wc=Lm(Pp);function Tr(e,t){const n=t==="append"?Za:lr;return Mt(e)&&!e.startsWith("http")?e:n(e,!0)}function Nm(){const e=Te();if(e._observer)return e._observer;let t=null;const n=new Map,r=(o,i)=>(t||=new IntersectionObserver(l=>{for(const a of l){const d=n.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&d&&d()}}),n.set(o,i),t.observe(o),()=>{n.delete(o),t?.unobserve(o),n.size===0&&(t?.disconnect(),t=null)});return e._observer={observe:r}}const Hm=/2g/;function Dm(){const e=navigator.connection;return!!(e&&(e.saveData||Hm.test(e.effectiveType)))}const $m=ut({name:"pinia",setup(e){const t=Yp();return e.vueApp.use(t),gr(t),e.payload&&e.payload.pinia&&(t.state.value=e.payload.pinia),{provide:{pinia:t}}}}),jm=ut({name:"nuxt:global-components"}),kr={},Fm=ut({name:"nuxt:prefetch",setup(e){const t=ze();e.hooks.hook("app:mounted",()=>{t.beforeEach(async n=>{const r=n?.meta?.layout;r&&typeof kr[r]=="function"&&await kr[r]()})}),e.hooks.hook("link:prefetch",n=>{if(Mt(n))return;const r=t.resolve(n);if(!r)return;const s=r.meta.layout;let o=zo(r.meta.middleware);o=o.filter(i=>typeof i=="string");for(const i of o)typeof go[i]=="function"&&go[i]();typeof s=="string"&&s in kr&&Im(kr[s])})}}),Bm=[Fh,Uh,qh,Rm,km,Sm,Am,Om,$m,jm,Fm],Kc=(e="RouteProvider")=>Hn({name:e,props:{route:{type:Object,required:!0},vnode:Object,vnodeRef:Object,renderKey:String,trackRootNodes:Boolean},setup(t){const n=t.renderKey,r=t.route,s={};for(const o in t.route)Object.defineProperty(s,o,{get:()=>n===t.renderKey?t.route[o]:r[o],enumerable:!0});return En(cs,Ct(s)),()=>t.vnode?$e(t.vnode,{ref:t.vnodeRef}):t.vnode}}),Um=Kc(),Tl=new WeakMap,Vm=Hn({name:"NuxtPage",inheritAttrs:!1,props:{name:{type:String},transition:{type:[Boolean,Object],default:void 0},keepalive:{type:[Boolean,Object],default:void 0},route:{type:Object},pageKey:{type:[Function,String],default:null}},setup(e,{attrs:t,slots:n,expose:r}){const s=Te(),o=Se(),i=je(cs,null);let l;r({pageRef:o});const a=je(qp,null);let d;const c=s.deferHydration();if(s.isHydrating){const g=s.hooks.hookOnce("app:error",c);ze().beforeEach(g)}e.pageKey&&en(()=>e.pageKey,(g,p)=>{g!==p&&s.callHook("page:loading:start")});let u=!1;{const g=ze().beforeResolve(()=>{u=!1});Dn(()=>{g()})}return()=>$e(Bc,{name:e.name,route:e.route,...t},{default:g=>{const p=Km(i,g.route,g.Component),_=i&&i.matched.length===g.route.matched.length;if(!g.Component){if(d&&!_)return d;c();return}if(d&&a&&!a.isCurrent(g.route))return d;if(p&&i&&(!a||a?.isCurrent(i)))return _?d:null;const w=ho(g,e.pageKey),E=Gm(i,g.route,g.Component);!s.isHydrating&&l===w&&!E&&sn(()=>{u=!0,s.callHook("page:loading:end")}),l=w;const f=!!(e.transition??g.route.meta.pageTransition??Gi),y=f&&Wm([e.transition,g.route.meta.pageTransition,Gi,{onAfterLeave(){delete s._runningTransition,s.callHook("page:transition:finish",g.Component)}}]),h=e.keepalive??g.route.meta.keepalive??Ap;return d=pm(f&&y,om(h,$e($a,{suspensible:!0,onPending:()=>{f&&(s._runningTransition=!0),s.callHook("page:start",g.Component)},onResolve:()=>{sn(()=>s.callHook("page:finish",g.Component).then(()=>{if(delete s._runningTransition,!u&&!E)return u=!0,s.callHook("page:loading:end")}).finally(c))}},{default:()=>{const b={key:w||void 0,vnode:n.default?qm(n.default,g):g.Component,route:g.route,renderKey:w||void 0,trackRootNodes:f,vnodeRef:o};if(!h)return $e(Um,b);const x=g.Component.type,S=x;let L=Tl.get(S);return L||(L=Kc(x.name||x.__name),Tl.set(S,L)),$e(L,b)}}))).default(),d}})}});function Wm(e){const t=[];for(const n of e)n&&t.push({...n,onAfterLeave:n.onAfterLeave?zo(n.onAfterLeave):void 0});return pc(...t)}function Km(e,t,n){if(!e)return!1;const r=t.matched.findIndex(s=>s.components?.default===n?.type);return!r||r===-1?!1:t.matched.slice(0,r).some((s,o)=>s.components?.default!==e.matched[o]?.components?.default)||n&&ho({route:t,Component:n})!==ho({route:e,Component:n})}function Gm(e,t,n){return e?t.matched.findIndex(s=>s.components?.default===n?.type)n.isLoggedIn),d=ve(()=>n.isAdmin),c=ve(()=>{const E=t.path;return E.startsWith("/ueber-uns")||E.startsWith("/vorstand")||E.startsWith("/geschichte")||E.startsWith("/satzung")||E.startsWith("/vereinsmeisterschaften")?"verein":E.startsWith("/mannschaften")||E.startsWith("/spielsysteme")?"mannschaften":E.startsWith("/training")||E.startsWith("/tt-regeln")?"training":E.startsWith("/mitgliederbereich")||E.startsWith("/cms")?"intern":null});Se(null);const u=E=>{s.value=s.value===E?null:E},g=async()=>{try{const E=await fetch("/data/mannschaften.csv");if(!E.ok)return;const y=(await E.text()).split(` `).filter(h=>h.trim()!=="");if(y.length<2)return;o.value=y.slice(1).map(h=>{const b=[];let x="",S=!1;for(let L=0;Lh!==null)}catch(E){console.error("Fehler beim Laden der Mannschaften:",E)}},p=async()=>{try{const E=await $fetch("/api/galerie");i.value=E&&E.length>0}catch(E){console.error("Fehler beim Prüfen der Galerie-Bilder:",E),i.value=!1}},_=()=>{l.value=!l.value};on(()=>{g(),p(),n.checkAuth(),document.addEventListener("click",E=>{E.target.closest(".relative.inline-block")||(l.value=!1)})});const w=E=>{const f=t.path;E==="verein"&&!f.startsWith("/ueber-uns")&&!f.startsWith("/vorstand")&&!f.startsWith("/geschichte")&&!f.startsWith("/satzung")&&!f.startsWith("/vereinsmeisterschaften")?mn("/ueber-uns"):E==="mannschaften"&&!f.startsWith("/mannschaften")&&!f.startsWith("/spielsysteme")?mn("/mannschaften"):E==="training"&&!f.startsWith("/training")&&!f.startsWith("/tt-regeln")?mn("/training"):E==="intern"&&!f.startsWith("/mitgliederbereich")&&!f.startsWith("/cms")&&mn("/mitgliederbereich")};return(E,f)=>{const y=Wc;return se(),_e("nav",Zm,[re("div",ey,[re("div",ty,[re("div",ny,[N(y,{to:"/",class:"flex items-center space-x-3 hover:scale-105 transition-transform"},{default:K(()=>[...f[44]||(f[44]=[re("img",{src:zm,alt:"Harheimer TC Logo",class:"w-12 h-12"},null,-1),re("div",{class:"hidden sm:block"},[re("span",{class:"text-xl font-display font-bold text-white"},[V("Harheimer "),re("span",{class:"text-primary-400"},"TC")])],-1)])]),_:1}),re("div",ry,[re("div",sy,[N(y,{to:"/",class:"px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[45]||(f[45]=[V(" Start ",-1)])]),_:1}),re("button",{onClick:f[0]||(f[0]=h=>w("verein")),class:Be(["px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50",te(t).path.startsWith("/ueber-uns")||te(t).path.startsWith("/vorstand")||te(t).path.startsWith("/geschichte")||te(t).path.startsWith("/satzung")||te(t).path.startsWith("/vereinsmeisterschaften")||c.value==="verein"?"text-white bg-primary-600":""])}," Verein ",2),re("button",{onClick:f[1]||(f[1]=h=>w("mannschaften")),class:Be(["px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50",te(t).path.startsWith("/mannschaften")||te(t).path.startsWith("/spielsysteme")||c.value==="mannschaften"?"text-white bg-primary-600":""])}," Mannschaften ",2),re("button",{onClick:f[2]||(f[2]=h=>w("training")),class:Be(["px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50",te(t).path.startsWith("/training")||te(t).path.startsWith("/tt-regeln")||c.value==="training"?"text-white bg-primary-600":""])}," Training ",2),N(y,{to:"/mitgliedschaft",class:"px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[46]||(f[46]=[V(" Mitgliedschaft ",-1)])]),_:1}),N(y,{to:"/termine",onClick:f[3]||(f[3]=h=>c.value=null),class:"px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[47]||(f[47]=[V(" Termine ",-1)])]),_:1}),i.value?(se(),Qe(y,{key:0,to:"/galerie",onClick:f[4]||(f[4]=h=>c.value=null),class:"px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[48]||(f[48]=[V(" Galerie ",-1)])]),_:1})):Pe("",!0),a.value?(se(),_e("button",{key:1,onClick:f[5]||(f[5]=h=>w("intern")),class:Be(["px-4 py-2 text-gray-300 hover:text-white font-medium transition-all rounded-lg hover:bg-primary-700/50",te(t).path.startsWith("/mitgliederbereich")||te(t).path.startsWith("/cms")||c.value==="intern"?"text-white bg-primary-600":""])}," Intern ",2)):Pe("",!0),N(y,{to:"/kontakt",onClick:f[6]||(f[6]=h=>c.value=null),class:"px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold transition-all rounded-lg shadow-lg"},{default:K(()=>[...f[49]||(f[49]=[V(" Kontakt ",-1)])]),_:1})]),re("div",oy,[c.value?(se(),_e("div",iy,[c.value==="verein"?(se(),_e(Re,{key:0},[N(y,{to:"/ueber-uns",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[50]||(f[50]=[V(" Über uns ",-1)])]),_:1}),N(y,{to:"/vorstand",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[51]||(f[51]=[V(" Vorstand ",-1)])]),_:1}),N(y,{to:"/geschichte",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[52]||(f[52]=[V(" Geschichte ",-1)])]),_:1}),N(y,{to:"/satzung",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[53]||(f[53]=[V(" Satzung ",-1)])]),_:1}),N(y,{to:"/vereinsmeisterschaften",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[54]||(f[54]=[V(" Vereinsmeisterschaften ",-1)])]),_:1})],64)):Pe("",!0),c.value==="mannschaften"?(se(),_e(Re,{key:1},[N(y,{to:"/mannschaften",class:"px-2.5 py-1 text-xs font-semibold text-white hover:bg-primary-700/50 rounded transition-all","active-class":"bg-primary-600"},{default:K(()=>[...f[55]||(f[55]=[V(" Übersicht ",-1)])]),_:1}),f[58]||(f[58]=re("div",{class:"h-3 w-px bg-primary-700"},null,-1)),(se(!0),_e(Re,null,fi(o.value,h=>(se(),Qe(y,{key:h.slug,to:`/mannschaften/${h.slug}`,class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[V(Lr(h.mannschaft),1)]),_:2},1032,["to"]))),128)),f[59]||(f[59]=re("div",{class:"h-3 w-px bg-primary-700"},null,-1)),N(y,{to:"/mannschaften/spielplaene",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[56]||(f[56]=[V(" Spielpläne ",-1)])]),_:1}),N(y,{to:"/spielsysteme",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[57]||(f[57]=[V(" Spielsysteme ",-1)])]),_:1})],64)):Pe("",!0),c.value==="training"?(se(),_e(Re,{key:2},[N(y,{to:"/training",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[60]||(f[60]=[V(" Trainingszeiten ",-1)])]),_:1}),N(y,{to:"/training/trainer",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[61]||(f[61]=[V(" Trainer ",-1)])]),_:1}),N(y,{to:"/training/anfaenger",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[62]||(f[62]=[V(" Anfänger ",-1)])]),_:1}),N(y,{to:"/tt-regeln",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[63]||(f[63]=[V(" TT-Regeln ",-1)])]),_:1})],64)):Pe("",!0),c.value==="intern"?(se(),_e(Re,{key:3},[N(y,{to:"/mitgliederbereich",class:"px-2.5 py-1 text-xs font-semibold text-white hover:bg-primary-700/50 rounded transition-all","active-class":"bg-primary-600"},{default:K(()=>[...f[64]||(f[64]=[V(" Übersicht ",-1)])]),_:1}),f[75]||(f[75]=re("div",{class:"h-3 w-px bg-primary-700"},null,-1)),N(y,{to:"/mitgliederbereich/mitglieder",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[65]||(f[65]=[V(" Mitgliederliste ",-1)])]),_:1}),N(y,{to:"/mitgliederbereich/news",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[66]||(f[66]=[V(" Interne News ",-1)])]),_:1}),N(y,{to:"/mitgliederbereich/profil",class:"px-2.5 py-1 text-xs text-gray-300 hover:text-white hover:bg-primary-700/50 rounded transition-all","active-class":"text-white bg-primary-600"},{default:K(()=>[...f[67]||(f[67]=[V(" Mein Profil ",-1)])]),_:1}),d.value?(se(),_e(Re,{key:0},[f[74]||(f[74]=re("div",{class:"h-3 w-px bg-primary-700"},null,-1)),re("div",ly,[re("button",{onClick:wd(_,["stop"]),class:Be(["px-2.5 py-1 text-xs text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded transition-all flex items-center",te(t).path.startsWith("/cms")?"text-white bg-primary-600":""])},[f[68]||(f[68]=V(" CMS ",-1)),N(te(Wn),{size:12,class:Be(["ml-1",["transition-transform",l.value?"rotate-180":""]])},null,8,["class"])],2),l.value?(se(),_e("div",ay,[N(y,{to:"/cms",onClick:f[7]||(f[7]=h=>l.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:K(()=>[...f[69]||(f[69]=[V(" Übersicht ",-1)])]),_:1}),N(y,{to:"/mitgliederbereich/news",onClick:f[8]||(f[8]=h=>l.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:K(()=>[...f[70]||(f[70]=[V(" Interne News ",-1)])]),_:1}),N(y,{to:"/cms/termine",onClick:f[9]||(f[9]=h=>l.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:K(()=>[...f[71]||(f[71]=[V(" Termine ",-1)])]),_:1}),N(y,{to:"/mitgliederbereich/mitglieder",onClick:f[10]||(f[10]=h=>l.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:K(()=>[...f[72]||(f[72]=[V(" Mitglieder ",-1)])]),_:1}),N(y,{to:"/cms/benutzer",onClick:f[11]||(f[11]=h=>l.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:K(()=>[...f[73]||(f[73]=[V(" Benutzerverwaltung ",-1)])]),_:1})])):Pe("",!0)])],64)):Pe("",!0)],64)):Pe("",!0)])):Pe("",!0)]),re("button",{onClick:f[12]||(f[12]=h=>r.value=!r.value),class:"lg:hidden p-2 rounded-lg hover:bg-primary-700/50 transition-colors","aria-label":"Toggle menu"},[r.value?(se(),Qe(te(Xm),{key:0,size:24,class:"text-white"})):(se(),Qe(te(Qm),{key:1,size:24,class:"text-white"}))])])])])]),N(jo,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"opacity-0 transform -translate-y-2","enter-to-class":"opacity-100 transform translate-y-0","leave-active-class":"transition duration-150 ease-in","leave-from-class":"opacity-100 transform translate-y-0","leave-to-class":"opacity-0 transform -translate-y-2"},{default:K(()=>[r.value?(se(),_e("div",cy,[re("div",uy,[N(y,{to:"/",onClick:f[13]||(f[13]=h=>r.value=!1),class:"block px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},{default:K(()=>[...f[76]||(f[76]=[V(" Start ",-1)])]),_:1}),re("div",null,[re("button",{onClick:f[14]||(f[14]=h=>u("verein")),class:"w-full flex items-center justify-between px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},[f[77]||(f[77]=V(" Verein ",-1)),N(te(Wn),{size:16,class:Be(["transition-transform",s.value==="verein"?"rotate-180":""])},null,8,["class"])]),s.value==="verein"?(se(),_e("div",fy,[N(y,{to:"/ueber-uns",onClick:f[15]||(f[15]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[78]||(f[78]=[V(" Über uns ",-1)])]),_:1}),N(y,{to:"/vorstand",onClick:f[16]||(f[16]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[79]||(f[79]=[V(" Vorstand ",-1)])]),_:1}),N(y,{to:"/geschichte",onClick:f[17]||(f[17]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[80]||(f[80]=[V(" Geschichte ",-1)])]),_:1}),N(y,{to:"/satzung",onClick:f[18]||(f[18]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[81]||(f[81]=[V(" Satzung ",-1)])]),_:1}),N(y,{to:"/vereinsmeisterschaften",onClick:f[19]||(f[19]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[82]||(f[82]=[V(" Vereinsmeisterschaften ",-1)])]),_:1})])):Pe("",!0)]),re("div",null,[re("button",{onClick:f[20]||(f[20]=h=>u("mannschaften")),class:"w-full flex items-center justify-between px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},[f[83]||(f[83]=V(" Mannschaften ",-1)),N(te(Wn),{size:16,class:Be(["transition-transform",s.value==="mannschaften"?"rotate-180":""])},null,8,["class"])]),s.value==="mannschaften"?(se(),_e("div",dy,[N(y,{to:"/mannschaften",onClick:f[21]||(f[21]=h=>r.value=!1),class:"block px-4 py-2 text-sm font-semibold text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[84]||(f[84]=[V(" Übersicht ",-1)])]),_:1}),(se(!0),_e(Re,null,fi(o.value,h=>(se(),Qe(y,{key:h.slug,to:`/mannschaften/${h.slug}`,onClick:f[22]||(f[22]=b=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[V(Lr(h.mannschaft),1)]),_:2},1032,["to"]))),128)),f[87]||(f[87]=re("div",{class:"border-t border-primary-700/20 my-2"},null,-1)),N(y,{to:"/mannschaften/spielplaene",onClick:f[23]||(f[23]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[85]||(f[85]=[V(" Spielpläne ",-1)])]),_:1}),N(y,{to:"/spielsysteme",onClick:f[24]||(f[24]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[86]||(f[86]=[V(" Spielsysteme ",-1)])]),_:1})])):Pe("",!0)]),re("div",null,[re("button",{onClick:f[25]||(f[25]=h=>u("training")),class:"w-full flex items-center justify-between px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},[f[88]||(f[88]=V(" Training ",-1)),N(te(Wn),{size:16,class:Be(["transition-transform",s.value==="training"?"rotate-180":""])},null,8,["class"])]),s.value==="training"?(se(),_e("div",py,[N(y,{to:"/training",onClick:f[26]||(f[26]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[89]||(f[89]=[V(" Trainingszeiten ",-1)])]),_:1}),N(y,{to:"/training/trainer",onClick:f[27]||(f[27]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[90]||(f[90]=[V(" Trainer ",-1)])]),_:1}),N(y,{to:"/training/anfaenger",onClick:f[28]||(f[28]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[91]||(f[91]=[V(" Anfänger ",-1)])]),_:1}),N(y,{to:"/tt-regeln",onClick:f[29]||(f[29]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[92]||(f[92]=[V(" TT-Regeln ",-1)])]),_:1})])):Pe("",!0)]),N(y,{to:"/mitgliedschaft",onClick:f[30]||(f[30]=h=>r.value=!1),class:"block px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},{default:K(()=>[...f[93]||(f[93]=[V(" Mitgliedschaft ",-1)])]),_:1}),N(y,{to:"/termine",onClick:f[31]||(f[31]=h=>r.value=!1),class:"block px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},{default:K(()=>[...f[94]||(f[94]=[V(" Termine ",-1)])]),_:1}),i.value?(se(),Qe(y,{key:0,to:"/galerie",onClick:f[32]||(f[32]=h=>r.value=!1),class:"block px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},{default:K(()=>[...f[95]||(f[95]=[V(" Galerie ",-1)])]),_:1})):Pe("",!0),a.value?(se(),_e("div",hy,[re("button",{onClick:f[33]||(f[33]=h=>u("intern")),class:"w-full flex items-center justify-between px-4 py-3 text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg font-medium transition-colors"},[f[96]||(f[96]=V(" Intern ",-1)),N(te(Wn),{size:16,class:Be(["transition-transform",s.value==="intern"?"rotate-180":""])},null,8,["class"])]),s.value==="intern"?(se(),_e("div",gy,[N(y,{to:"/mitgliederbereich",onClick:f[34]||(f[34]=h=>r.value=!1),class:"block px-4 py-2 text-sm font-semibold text-gray-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[97]||(f[97]=[V(" Übersicht ",-1)])]),_:1}),N(y,{to:"/mitgliederbereich/mitglieder",onClick:f[35]||(f[35]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[98]||(f[98]=[V(" Mitgliederliste ",-1)])]),_:1}),N(y,{to:"/mitgliederbereich/news",onClick:f[36]||(f[36]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[99]||(f[99]=[V(" Interne News ",-1)])]),_:1}),N(y,{to:"/mitgliederbereich/profil",onClick:f[37]||(f[37]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-gray-400 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[100]||(f[100]=[V(" Mein Profil ",-1)])]),_:1}),d.value?(se(),_e(Re,{key:0},[f[106]||(f[106]=re("div",{class:"border-t border-primary-700/20 my-2"},null,-1)),N(y,{to:"/cms",onClick:f[38]||(f[38]=h=>r.value=!1),class:"block px-4 py-2 text-sm font-semibold text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[101]||(f[101]=[V(" CMS Übersicht ",-1)])]),_:1}),N(y,{to:"/mitgliederbereich/news",onClick:f[39]||(f[39]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[102]||(f[102]=[V(" Interne News ",-1)])]),_:1}),N(y,{to:"/cms/termine",onClick:f[40]||(f[40]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[103]||(f[103]=[V(" Termine ",-1)])]),_:1}),N(y,{to:"/mitgliederbereich/mitglieder",onClick:f[41]||(f[41]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[104]||(f[104]=[V(" Mitglieder ",-1)])]),_:1}),N(y,{to:"/cms/benutzer",onClick:f[42]||(f[42]=h=>r.value=!1),class:"block px-4 py-2 text-sm text-yellow-300 hover:text-white hover:bg-primary-700/50 rounded-lg transition-colors"},{default:K(()=>[...f[105]||(f[105]=[V(" Benutzerverwaltung ",-1)])]),_:1})],64)):Pe("",!0)])):Pe("",!0)])):Pe("",!0),N(y,{to:"/kontakt",onClick:f[43]||(f[43]=h=>r.value=!1),class:"block px-4 py-3 bg-primary-600 hover:bg-primary-700 text-white rounded-lg font-semibold transition-colors"},{default:K(()=>[...f[107]||(f[107]=[V(" Kontakt ",-1)])]),_:1})])])):Pe("",!0)]),_:1})])}}},yy={class:"fixed bottom-0 left-0 right-0 z-40 bg-gray-900 border-t border-gray-800 shadow-2xl"},vy={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-3"},by={class:"flex flex-col sm:flex-row justify-between items-center space-y-2 sm:space-y-0"},_y={class:"text-sm text-gray-400"},wy={class:"flex items-center space-x-6 text-sm relative"},xy={key:1,class:"relative"},Ey={key:0,class:"absolute bottom-full right-0 mb-2 w-48 bg-gray-800 border border-gray-700 rounded-lg shadow-xl overflow-hidden"},Cy={__name:"Footer",setup(e){const t=Zg(),n=Jo(),r=new Date().getFullYear(),s=Se(!1),o=ve(()=>n.isLoggedIn);ve(()=>n.isAdmin);const i=()=>{s.value=!s.value},l=async()=>{await n.logout(),t.push("/")};on(()=>{n.checkAuth()});const a=d=>{d.target.closest(".relative")||(s.value=!1)};return on(()=>{document.addEventListener("click",a)}),Lo(()=>{document.removeEventListener("click",a)}),(d,c)=>{const u=Wc;return se(),_e("footer",yy,[re("div",vy,[re("div",by,[re("p",_y," © "+Lr(te(r))+" Harheimer TC ",1),re("div",wy,[N(u,{to:"/impressum",class:"text-gray-400 hover:text-primary-400 transition-colors"},{default:K(()=>[...c[3]||(c[3]=[V(" Impressum ",-1)])]),_:1}),N(u,{to:"/kontakt",class:"text-gray-400 hover:text-primary-400 transition-colors"},{default:K(()=>[...c[4]||(c[4]=[V(" Kontakt ",-1)])]),_:1}),o.value?(se(),_e("button",{key:0,onClick:l,class:"flex items-center space-x-1 text-gray-400 hover:text-primary-400 transition-colors"},[N(te(kl),{size:16}),c[5]||(c[5]=re("span",null,"Abmelden",-1))])):(se(),_e("div",xy,[re("button",{onClick:i,class:"flex items-center space-x-1 text-gray-400 hover:text-primary-400 transition-colors"},[N(te(kl),{size:16}),c[6]||(c[6]=re("span",null,"Mitglieder",-1)),N(te(Ym),{size:14,class:Be(["transition-transform",s.value?"rotate-0":"rotate-180"])},null,8,["class"])]),N(jo,{"enter-active-class":"transition duration-200 ease-out","enter-from-class":"transform translate-y-2 opacity-0","enter-to-class":"transform translate-y-0 opacity-100","leave-active-class":"transition duration-150 ease-in","leave-from-class":"transform translate-y-0 opacity-100","leave-to-class":"transform translate-y-2 opacity-0"},{default:K(()=>[s.value?(se(),_e("div",Ey,[N(u,{to:"/login",onClick:c[0]||(c[0]=g=>s.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:K(()=>[...c[7]||(c[7]=[V(" Anmelden ",-1)])]),_:1}),N(u,{to:"/registrieren",onClick:c[1]||(c[1]=g=>s.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:K(()=>[...c[8]||(c[8]=[V(" Registrieren ",-1)])]),_:1}),N(u,{to:"/passwort-vergessen",onClick:c[2]||(c[2]=g=>s.value=!1),class:"block px-4 py-2 text-sm text-gray-300 hover:bg-primary-600 hover:text-white transition-colors"},{default:K(()=>[...c[9]||(c[9]=[V(" Passwort vergessen ",-1)])]),_:1})])):Pe("",!0)]),_:1})]))])])])])}}},Ry={class:"h-screen flex flex-col overflow-hidden"},Ty={class:"flex-1 overflow-y-auto pt-20"},ky={__name:"app",setup(e){return(t,n)=>{const r=Vm;return se(),_e("div",Ry,[N(my),re("main",Ty,[N(r)]),N(Cy)])}}},Sy={__name:"nuxt-error-page",props:{error:Object},setup(e){const n=e.error;n.stack&&n.stack.split(` `).splice(1).map(u=>({text:u.replace("webpack:/","").replace(".vue",".js").trim(),internal:u.includes("node_modules")&&!u.includes(".cache")||u.includes("internal")||u.includes("new Promise")})).map(u=>`${u.text}`).join(` -`);const r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),l=void 0,c=s?ai(()=>le(()=>import("./C9SglkVL.js"),__vite__mapDeps([59,1,7,60]),import.meta.url)):ai(()=>le(()=>import("./CW9krljs.js"),__vite__mapDeps([61,1,7,62]),import.meta.url));return(u,g)=>(se(),Qe(te(c),tu(Wa({statusCode:te(r),statusMessage:te(o),description:te(i),stack:te(l)})),null,16))}},Ay={key:0},Sl={__name:"nuxt-root",setup(e){const t=()=>null,n=Te(),r=n.deferHydration();if(n.isHydrating){const d=n.hooks.hookOnce("app:error",r);ze().beforeEach(d)}const s=!1;En(cs,gc()),n.hooks.callHookWith(d=>d.map(c=>c()),"vue:setup");const o=us(),i=!1,l=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;ya((d,c,u)=>{if(n.hooks.callHook("vue:error",d,c,u).catch(g=>console.error("[nuxt] Error in `vue:error` hook",g)),l.test(navigator.userAgent))return n.hooks.callHook("app:error",d),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,d),!1;if(yc(d)&&(d.fatal||d.unhandled))return n.runWithContext(()=>Jt(d)),!1});const a=!1;return(d,c)=>(se(),Qe($a,{onResolve:te(r)},{default:K(()=>[te(i)?(se(),_e("div",Ay)):te(o)?(se(),Qe(te(Sy),{key:1,error:te(o)},null,8,["error"])):te(a)?(se(),Qe(te(t),{key:2,context:te(a)},null,8,["context"])):te(s)?(se(),Qe(tf(te(s)),{key:3})):(se(),Qe(te(ky),{key:4}))]),_:1},8,["onResolve"]))}};let Al;{let e;Al=async function(){if(e)return e;const n=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true"),r=n?Rd(Sl):Cd(Sl),s=Lp({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=rn(i)}r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)}),!n&&qi.id&&s.hook("app:suspense:resolve",()=>{document.getElementById(qi.id)?.remove()});try{await Dp(s,Bm)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Op),await s.hooks.callHook("app:mounted",r),await sn()}catch(i){o(i)}return r},e=Al().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{nn as $,gc as A,My as B,$y as C,Te as D,ss as E,Re as F,je as G,Cc as H,Tu as I,Ny as J,$n as K,Yu as L,en as M,ou as N,Eo as O,Rn as P,Ou as Q,sn as R,rn as S,Us as T,kl as U,Ot as V,Hy as W,Xm as X,Ml as Y,Dy as Z,Wc as _,re as a,N as b,_e as c,V as d,mr as e,Oy as f,ve as g,on as h,Pe as i,fi as j,Jo as k,wd as l,Py as m,Be as n,se as o,Qe as p,Zg as q,Se as r,tf as s,Lr as t,te as u,Iy as v,K as w,Lo as x,Ly as y,mn as z}; +`);const r=Number(n.statusCode||500),s=r===404,o=n.statusMessage??(s?"Page Not Found":"Internal Server Error"),i=n.message||n.toString(),l=void 0,c=s?ai(()=>le(()=>import("./C9SglkVL.js"),__vite__mapDeps([59,1,7,60]),import.meta.url)):ai(()=>le(()=>import("./CW9krljs.js"),__vite__mapDeps([61,1,7,62]),import.meta.url));return(u,g)=>(se(),Qe(te(c),tu(Wa({statusCode:te(r),statusMessage:te(o),description:te(i),stack:te(l)})),null,16))}},Ay={key:0},Sl={__name:"nuxt-root",setup(e){const t=()=>null,n=Te(),r=n.deferHydration();if(n.isHydrating){const d=n.hooks.hookOnce("app:error",r);ze().beforeEach(d)}const s=!1;En(cs,gc()),n.hooks.callHookWith(d=>d.map(c=>c()),"vue:setup");const o=us(),i=!1,l=/bot\b|chrome-lighthouse|facebookexternalhit|google\b/i;ya((d,c,u)=>{if(n.hooks.callHook("vue:error",d,c,u).catch(g=>console.error("[nuxt] Error in `vue:error` hook",g)),l.test(navigator.userAgent))return n.hooks.callHook("app:error",d),console.error(`[nuxt] Not rendering error page for bot with user agent \`${navigator.userAgent}\`:`,d),!1;if(yc(d)&&(d.fatal||d.unhandled))return n.runWithContext(()=>Jt(d)),!1});const a=!1;return(d,c)=>(se(),Qe($a,{onResolve:te(r)},{default:K(()=>[te(i)?(se(),_e("div",Ay)):te(o)?(se(),Qe(te(Sy),{key:1,error:te(o)},null,8,["error"])):te(a)?(se(),Qe(te(t),{key:2,context:te(a)},null,8,["context"])):te(s)?(se(),Qe(tf(te(s)),{key:3})):(se(),Qe(te(ky),{key:4}))]),_:1},8,["onResolve"]))}};let Al;{let e;Al=async function(){if(e)return e;const n=!!(window.__NUXT__?.serverRendered??document.getElementById("__NUXT_DATA__")?.dataset.ssr==="true"),r=n?Rd(Sl):Cd(Sl),s=Lp({vueApp:r});async function o(i){await s.callHook("app:error",i),s.payload.error||=rn(i)}r.config.errorHandler=o,s.hook("app:suspense:resolve",()=>{r.config.errorHandler===o&&(r.config.errorHandler=void 0)}),!n&&qi.id&&s.hook("app:suspense:resolve",()=>{document.getElementById(qi.id)?.remove()});try{await Dp(s,Bm)}catch(i){o(i)}try{await s.hooks.callHook("app:created",r),await s.hooks.callHook("app:beforeMount",r),r.mount(Op),await s.hooks.callHook("app:mounted",r),await sn()}catch(i){o(i)}return r},e=Al().catch(t=>{throw console.error("Error while mounting app:",t),t})}export{nn as $,gc as A,My as B,$y as C,Te as D,ss as E,Re as F,je as G,Cc as H,Tu as I,Ny as J,$n as K,Yu as L,en as M,ou as N,Eo as O,Rn as P,Ou as Q,sn as R,rn as S,Us as T,kl as U,Ot as V,Hy as W,Xm as X,Ml as Y,Dy as Z,Wc as _,re as a,N as b,_e as c,V as d,mr as e,Oy as f,ve as g,on as h,fi as i,Pe as j,Jo as k,wd as l,Py as m,Be as n,se as o,Qe as p,Zg as q,Se as r,tf as s,Lr as t,te as u,Iy as v,K as w,Lo as x,Ly as y,mn as z}; diff --git a/.output/public/_nuxt/B6R2Q32I.js b/.output/public/_nuxt/B6R2Q32I.js new file mode 100644 index 0000000..f472cf6 --- /dev/null +++ b/.output/public/_nuxt/B6R2Q32I.js @@ -0,0 +1,6 @@ +import{_ as y}from"./DlAUqK2U.js";import{e as N,c as o,o as i,f as z,r as v,g as M,h as w,a as e,F as k,i as $,t as m,n as H,b as r,u as x,w as _,d as h,_ as T,j as S}from"#entry";import{C as D}from"./YJHbYJtA.js";import{U as I}from"./oN0_bS6A.js";import{M as V}from"./BC4PNGtJ.js";/** + * @license lucide-vue-next v0.344.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const b=N("ArrowRightIcon",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),j={},A={id:"home",class:"relative min-h-full flex items-center justify-center overflow-hidden bg-gradient-to-br from-gray-50 to-gray-100"};function C(u,a){return i(),o("section",A,[...a[0]||(a[0]=[z('

Willkommen beim
Harheimer TC

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

',2)])])}const F=Object.assign(y(j,[["render",C],["__scopeId","data-v-779d39d7"]]),{__name:"Hero"}),K={key:0,class:"space-y-2 mb-6"},L={class:"flex items-center justify-between"},E={class:"flex items-center space-x-3"},J={class:"w-10 h-10 bg-primary-600 rounded-lg flex flex-col items-center justify-center text-white text-xs font-bold"},O={class:"font-semibold text-gray-900"},P={class:"text-sm text-gray-600"},R={key:1,class:"text-center py-8 bg-gray-50 rounded-lg"},W={__name:"TermineVorschau",setup(u){const a=v([]),t=M(()=>{const s=new Date;console.log("Heute ist:",s.toISOString().split("T")[0]);const l=a.value.filter(n=>{const f=new Date(n.datum)>=s;return console.log(`Termin ${n.titel} (${n.datum}): ${f?"KOMMEND":"VERSTRICHEN"}`),f}).sort((n,g)=>new Date(n.datum)-new Date(g.datum));return console.log("Kommende Termine:",l),l}),c=s=>new Date(s).getDate(),d=s=>{const l=new Date(s);return["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"][l.getMonth()]},p=async()=>{try{const s=await $fetch("/api/termine");a.value=s.termine||[]}catch(s){console.error("Fehler beim Laden der Termine:",s),a.value=[]}};return w(()=>{p()}),(s,l)=>(i(),o("div",null,[l[1]||(l[1]=e("div",{class:"text-center mb-6"},[e("h2",{class:"text-2xl font-display font-bold text-gray-900 mb-2"}," Kommende Termine "),e("div",{class:"w-16 h-0.5 bg-primary-600 mx-auto"})],-1)),t.value.length>0?(i(),o("div",K,[(i(!0),o(k,null,$(t.value,(n,g)=>(i(),o("div",{key:g,class:"bg-gray-50 rounded-lg p-3 hover:bg-gray-100 transition-colors"},[e("div",L,[e("div",E,[e("div",J,[e("span",null,m(c(n.datum)),1),e("span",null,m(d(n.datum)),1)]),e("div",null,[e("h3",O,m(n.titel),1),e("p",P,m(n.beschreibung),1)])]),e("span",{class:H(["px-2 py-1 text-xs font-medium rounded-full",n.kategorie==="Turnier"?"bg-yellow-100 text-yellow-800":"bg-blue-100 text-blue-800"])},m(n.kategorie),3)])]))),128))])):(i(),o("div",R,[r(x(D),{size:32,class:"text-gray-400 mx-auto mb-2"}),l[0]||(l[0]=e("p",{class:"text-gray-600 text-sm"},"Keine kommenden Termine",-1))]))]))}},B={class:"py-16 sm:py-20 bg-gray-50"},U={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},q={class:"max-w-4xl mx-auto"},G={class:"text-center mt-8"},Q={__name:"HomeTermine",setup(u){return(a,t)=>{const c=T;return i(),o("section",B,[e("div",U,[t[1]||(t[1]=e("div",{class:"text-center mb-12"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Kommende Termine "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"})],-1)),e("div",q,[r(W)]),e("div",G,[r(c,{to:"/termine",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},{default:_(()=>[t[0]||(t[0]=h(" Alle Termine anzeigen ",-1)),r(x(b),{size:20,class:"ml-2"})]),_:1})])])])}}},X={key:0,class:"py-16 sm:py-20 bg-white"},Y={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},Z={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-8"},ee={class:"flex items-center text-sm text-gray-500 mb-3"},te={class:"text-xl font-display font-bold text-gray-900 mb-3"},se={class:"text-gray-700 line-clamp-3"},re={__name:"PublicNews",setup(u){const a=v([]),t=async()=>{try{const d=await $fetch("/api/news-public");a.value=d.news}catch(d){console.error("Fehler beim Laden der öffentlichen News:",d)}},c=d=>d?new Date(d).toLocaleDateString("de-DE",{year:"numeric",month:"long",day:"numeric"}):"";return w(()=>{t()}),(d,p)=>a.value.length>0?(i(),o("section",X,[e("div",Y,[p[0]||(p[0]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Aktuelles "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"}),e("p",{class:"text-xl text-gray-600 max-w-3xl mx-auto"}," Die neuesten Nachrichten aus unserem Verein ")],-1)),e("div",Z,[(i(!0),o(k,null,$(a.value,s=>(i(),o("article",{key:s.id,class:"bg-gray-50 rounded-xl p-6 border border-gray-200 hover:shadow-lg transition-shadow"},[e("div",ee,[r(x(D),{size:16,class:"mr-2"}),h(" "+m(c(s.created)),1)]),e("h3",te,m(s.title),1),e("p",se,m(s.content),1)]))),128))])])])):S("",!0)}},ae=y(re,[["__scopeId","data-v-f894f108"]]),ne={class:"py-16 sm:py-20 bg-gradient-to-b from-white to-gray-50"},oe={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},ie={class:"grid md:grid-cols-2 gap-8 max-w-4xl mx-auto"},le={class:"flex items-center mb-4"},de={class:"w-16 h-16 bg-primary-100 rounded-xl flex items-center justify-center group-hover:bg-primary-600 transition-colors"},ce={class:"flex items-center text-primary-600 font-semibold group-hover:translate-x-2 transition-transform"},me={class:"flex items-center mb-4"},xe={class:"w-16 h-16 bg-primary-100 rounded-xl flex items-center justify-center group-hover:bg-primary-600 transition-colors"},ue={class:"flex items-center text-primary-600 font-semibold group-hover:translate-x-2 transition-transform"},pe={__name:"HomeActions",setup(u){return(a,t)=>{const c=T;return i(),o("section",ne,[e("div",oe,[e("div",ie,[r(c,{to:"/mitgliedschaft",class:"group bg-white rounded-2xl p-8 shadow-lg hover:shadow-xl transition-all border-2 border-transparent hover:border-primary-600"},{default:_(()=>[e("div",le,[e("div",de,[r(x(I),{size:32,class:"text-primary-600 group-hover:text-white transition-colors"})]),t[0]||(t[0]=e("h3",{class:"ml-4 text-2xl font-display font-bold text-gray-900"}," Mitglied werden ",-1))]),t[2]||(t[2]=e("p",{class:"text-gray-600 mb-4"}," Werden Sie Teil unserer Tischtennisfamilie und profitieren Sie von regelmäßigem Training, Wettkämpfen und einer tollen Gemeinschaft. ",-1)),e("div",ce,[t[1]||(t[1]=h(" Mehr erfahren ",-1)),r(x(b),{size:20,class:"ml-2"})])]),_:1}),r(c,{to:"/kontakt",class:"group bg-white rounded-2xl p-8 shadow-lg hover:shadow-xl transition-all border-2 border-transparent hover:border-primary-600"},{default:_(()=>[e("div",me,[e("div",xe,[r(x(V),{size:32,class:"text-primary-600 group-hover:text-white transition-colors"})]),t[3]||(t[3]=e("h3",{class:"ml-4 text-2xl font-display font-bold text-gray-900"}," Kontakt aufnehmen ",-1))]),t[5]||(t[5]=e("p",{class:"text-gray-600 mb-4"}," Haben Sie Fragen oder möchten ein kostenloses Probetraining vereinbaren? Wir freuen uns auf Ihre Nachricht! ",-1)),e("div",ue,[t[4]||(t[4]=h(" Jetzt kontaktieren ",-1)),r(x(b),{size:20,class:"ml-2"})])]),_:1})])])])}}},ge={class:"min-h-full"},ve={__name:"index",setup(u){return(a,t)=>(i(),o("div",ge,[r(F),r(Q),r(ae),r(pe)]))}};export{ve as default}; diff --git a/.output/public/_nuxt/BASo1Rw1.js b/.output/public/_nuxt/BLmxLqU-.js similarity index 98% rename from .output/public/_nuxt/BASo1Rw1.js rename to .output/public/_nuxt/BLmxLqU-.js index a711b57..c330ce5 100644 --- a/.output/public/_nuxt/BASo1Rw1.js +++ b/.output/public/_nuxt/BLmxLqU-.js @@ -1,4 +1,4 @@ -import{u as V}from"./C_U-NUAd.js";import{U as L}from"./DkeYb0_S.js";import{C as D}from"./YJHbYJtA.js";import{e as z,r as _,g as k,h as F,c as a,a as t,F as w,j as S,n as h,b as d,u as m,d as c,o as i,t as n,i as b}from"#entry";import{S as H}from"./XZ6RV9KH.js";import{B as K}from"./CkzaQq3X.js";import{E as T}from"./Cx4UcKGu.js";/** +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. diff --git a/.output/public/_nuxt/BGsE9M8w.js b/.output/public/_nuxt/B_w5gbrC.js similarity index 95% rename from .output/public/_nuxt/BGsE9M8w.js rename to .output/public/_nuxt/B_w5gbrC.js index 6123920..e5a1c15 100644 --- a/.output/public/_nuxt/BGsE9M8w.js +++ b/.output/public/_nuxt/B_w5gbrC.js @@ -1,4 +1,4 @@ -import{e as h,r as c,c as n,o as a,a as e,F as x,j as y,n as f,p,s as C,t as g,l as I,i as j,m as i,v as d,u as b,d as N,b as z}from"#entry";import{M as V,C as q}from"./C5SyyWEb.js";import{P as T}from"./DdHhmCne.js";import{M as E}from"./BC4PNGtJ.js";import{A as F}from"./C8kQt0fa.js";import{u as U}from"./C_U-NUAd.js";/** +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. diff --git a/.output/public/_nuxt/BU5mk92E.js b/.output/public/_nuxt/Bivc7aFF.js similarity index 98% rename from .output/public/_nuxt/BU5mk92E.js rename to .output/public/_nuxt/Bivc7aFF.js index 840f3c2..519b10d 100644 --- a/.output/public/_nuxt/BU5mk92E.js +++ b/.output/public/_nuxt/Bivc7aFF.js @@ -1,2 +1,2 @@ -import{r as S,h as C,c as i,o as l,F as w,j as k,a as e,t as m,n as D,i as M,b as a,d as $,u as f,w as x,_ as N}from"#entry";import{B as T}from"./jVj3QaoK.js";import{U as y}from"./DkeYb0_S.js";import{u as B}from"./C_U-NUAd.js";const H={key:0,class:"space-y-8"},V={class:"bg-gradient-to-r from-primary-600 to-primary-700 p-6"},j={class:"text-2xl font-display font-bold text-white mb-2"},E={class:"text-primary-100 text-lg"},U={class:"p-6"},A={class:"grid md:grid-cols-2 gap-6 mb-6"},F={class:"space-y-3"},W={class:"flex items-center space-x-3"},Z={class:"font-semibold text-gray-900"},I={class:"flex items-center space-x-3"},J={class:"font-semibold text-gray-900"},K={class:"space-y-3"},P={class:"flex items-center space-x-3"},Q={class:"font-semibold text-gray-900"},R={class:"flex items-center space-x-3"},q={class:"font-semibold text-gray-900"},G={class:"border-t border-gray-200 pt-6"},O={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4"},X={class:"font-semibold text-gray-900"},Y={key:0,class:"text-xs text-primary-600 font-medium mt-1"},ee={class:"border-t border-gray-200 pt-6 mt-6"},te={class:"text-center"},se=["href"],re={class:"border-t border-gray-200 pt-4 mt-6"},ne={class:"text-sm text-gray-500 text-center"},oe={key:1,class:"text-center py-12 bg-gray-50 rounded-xl"},ie={__name:"MannschaftenUebersicht",setup(z){const u=S([]),s=async()=>{try{console.log("Lade Mannschaften...");const o=await fetch("/data/mannschaften.csv");if(console.log("Response:",o),!o.ok)throw new Error(`HTTP error! status: ${o.status}`);const t=await o.text();console.log("CSV Text:",t);const n=t.split(` +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/COK-PGSA.js b/.output/public/_nuxt/BpS9ghZc.js similarity index 98% rename from .output/public/_nuxt/COK-PGSA.js rename to .output/public/_nuxt/BpS9ghZc.js index 8051b62..7ac4dde 100644 --- a/.output/public/_nuxt/COK-PGSA.js +++ b/.output/public/_nuxt/BpS9ghZc.js @@ -1,2 +1,2 @@ -import{A as M,r as L,h as N,c as l,a as e,t as a,F as z,j as C,i as y,b as x,d as h,u as D,w as _,_ as B,o,n as H}from"#entry";import{u as T}from"./C_U-NUAd.js";import{B as V}from"./jVj3QaoK.js";const F={class:"min-h-full py-16 bg-gray-50"},I={class:"max-w-4xl mx-auto px-4 sm:px-6 lg:px-8"},S={key:0,class:"space-y-8"},Z={class:"bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white"},E={class:"text-4xl font-display font-bold mb-2"},W={class:"text-primary-100 text-xl"},$={class:"bg-white rounded-xl shadow-lg p-6"},j={class:"grid md:grid-cols-2 gap-6"},A={class:"space-y-4"},Q={class:"flex items-center space-x-3"},R={class:"font-semibold text-gray-900"},q={class:"flex items-center space-x-3"},G={class:"font-semibold text-gray-900"},J={class:"space-y-4"},K={class:"flex items-center space-x-3"},O={class:"font-semibold text-gray-900"},P={class:"flex items-center space-x-3"},U={class:"font-semibold text-gray-900"},X={class:"bg-white rounded-xl shadow-lg p-6"},Y={class:"grid sm:grid-cols-2 lg:grid-cols-4 gap-4"},tt={class:"font-semibold text-gray-900"},et={key:0,class:"text-xs text-primary-600 font-medium mt-1"},st={class:"bg-white rounded-xl shadow-lg p-6"},nt={class:"text-center"},it=["href"],rt={class:"bg-white rounded-xl shadow-lg p-6"},at={class:"text-sm text-gray-500 text-center"},lt={class:"text-center"},ot={key:1,class:"text-center py-16"},ft={__name:"[slug]",setup(dt){const v=M(),s=L(null),b=async()=>{try{const n=await fetch("/data/mannschaften.csv");if(!n.ok)return;const d=(await n.text()).split(` +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/BQa0cr2b.js b/.output/public/_nuxt/BqZP274n.js similarity index 97% rename from .output/public/_nuxt/BQa0cr2b.js rename to .output/public/_nuxt/BqZP274n.js index a004d0c..aed3b7d 100644 --- a/.output/public/_nuxt/BQa0cr2b.js +++ b/.output/public/_nuxt/BqZP274n.js @@ -1 +1 @@ -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,j 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}; +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/CvtlfSR0.js b/.output/public/_nuxt/C3627_Er.js similarity index 94% rename from .output/public/_nuxt/CvtlfSR0.js rename to .output/public/_nuxt/C3627_Er.js index 6feaba2..c466fc1 100644 --- a/.output/public/_nuxt/CvtlfSR0.js +++ b/.output/public/_nuxt/C3627_Er.js @@ -1,4 +1,4 @@ -import{e as s,c as n,o as a,a as e,f as p,F as h,j as m,n as r,p as u,s as g,t as l,b as f}from"#entry";import{u as v}from"./C_U-NUAd.js";/** +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. @@ -28,4 +28,4 @@ import{e as s,c as n,o as a,a as e,f as p,F as h,j as m,n as r,p as u,s as g,t a * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const w=s("WifiIcon",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),M={id:"facilities",class:"py-16 sm:py-20 bg-white"},z={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},j={class:"grid sm:grid-cols-2 lg:grid-cols-3 gap-8 mb-16"},A={class:"p-8"},D={class:"text-2xl font-display font-bold text-gray-900 mb-3"},I={class:"text-gray-600 leading-relaxed"},S={__name:"Facilities",setup(c){const i=[{icon:k,title:"8 Tischtennisplatten",description:"Hochwertige Wettkampftische für optimales Spielvergnügen",color:"from-yellow-400 to-orange-500"},{icon:x,title:"Klimatisierte Halle",description:"Optimale Bedingungen bei jedem Wetter in unserer modernen Halle",color:"from-blue-400 to-blue-600"},{icon:y,title:"Trainingsbereich",description:"Ballmaschinen und Trainingsgeräte für gezieltes Training",color:"from-red-400 to-red-600"},{icon:_,title:"Clubhaus",description:"Gemütliches Clubhaus mit Aufenthaltsraum und Küche",color:"from-green-400 to-green-600"},{icon:w,title:"Kostenloses WLAN",description:"Schnelles Internet auf der gesamten Anlage",color:"from-purple-400 to-purple-600"},{icon:b,title:"Umkleiden & Duschen",description:"Moderne, saubere Umkleideräume mit Duschen",color:"from-cyan-400 to-cyan-600"}];return(d,o)=>(a(),n("section",M,[e("div",z,[o[0]||(o[0]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Unsere Anlagen "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"}),e("p",{class:"text-xl text-gray-600 max-w-3xl mx-auto"}," Moderne Ausstattung und erstklassige Einrichtungen für ein perfektes Tischtenniserlebnis ")],-1)),e("div",j,[(a(),n(h,null,m(i,t=>e("div",{key:t.title,class:"group relative bg-white rounded-2xl shadow-lg hover:shadow-2xl transition-all duration-300 overflow-hidden border border-gray-100"},[e("div",{class:r(["absolute top-0 left-0 right-0 h-1 bg-gradient-to-r opacity-0 group-hover:opacity-100 transition-opacity",t.color])},null,2),e("div",A,[e("div",{class:r(["w-16 h-16 bg-gradient-to-br rounded-xl flex items-center justify-center mb-4 group-hover:scale-110 transition-transform",t.color])},[(a(),u(g(t.icon),{size:32,class:"text-white"}))],2),e("h3",D,l(t.title),1),e("p",I,l(t.description),1)])])),64))]),o[1]||(o[1]=p('

Hochwertige Wettkampftische

Moderne Tischtennishalle

',1))])]))}},C={class:"min-h-screen"},B={__name:"anlagen",setup(c){return v({title:"Anlagen - Harheimer TC"}),(i,d)=>(a(),n("div",C,[f(S)]))}};export{B as default}; + */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/CT6VfTlB.js b/.output/public/_nuxt/C4R6hOY6.js similarity index 98% rename from .output/public/_nuxt/CT6VfTlB.js rename to .output/public/_nuxt/C4R6hOY6.js index 5406730..ed21bb5 100644 --- a/.output/public/_nuxt/CT6VfTlB.js +++ b/.output/public/_nuxt/C4R6hOY6.js @@ -1,4 +1,4 @@ -import{e as o,c as s,o as r,a as e,f as p,b as l,w as h,d as u,_ as g,F as x,j as f,p as b,s as y,t as a}from"#entry";import{H as _}from"./CWEkTB1z.js";import{T as w}from"./B4mSF5Ac.js";import{u as k}from"./C_U-NUAd.js";/** +import{e as o,c as s,o as r,a as e,f as p,b as l,w as h,d as u,_ as g,F as x,i as f,p as b,s as y,t as a}from"#entry";import{H as _}from"./CWEkTB1z.js";import{T as w}from"./B4mSF5Ac.js";import{u as k}from"./C_U-NUAd.js";/** * @license lucide-vue-next v0.344.0 - ISC * * This source code is licensed under the ISC license. diff --git a/.output/public/_nuxt/DO_5fT64.js b/.output/public/_nuxt/CASz9Fiv.js similarity index 98% rename from .output/public/_nuxt/DO_5fT64.js rename to .output/public/_nuxt/CASz9Fiv.js index e7ccb07..b9808ce 100644 --- a/.output/public/_nuxt/DO_5fT64.js +++ b/.output/public/_nuxt/CASz9Fiv.js @@ -1,4 +1,4 @@ -import{e as a,k as d,c as g,a as t,b as s,p as m,i 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";/** +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. diff --git a/.output/public/_nuxt/C9UhLsiJ.js b/.output/public/_nuxt/CDaMcsB4.js similarity index 98% rename from .output/public/_nuxt/C9UhLsiJ.js rename to .output/public/_nuxt/CDaMcsB4.js index 2e901c4..ca0e095 100644 --- a/.output/public/_nuxt/C9UhLsiJ.js +++ b/.output/public/_nuxt/CDaMcsB4.js @@ -1 +1 @@ -import{k as _,r as i,h as S,c as f,a as s,b as v,u as c,l as V,i as y,m as u,v as d,d as w,t as g,p as M,o as m}from"#entry";import{u as U}from"./C_U-NUAd.js";import{L as h}from"./CUq_0rkE.js";import{A}from"./C8kQt0fa.js";import{C as B}from"./DaSgy0Cl.js";const C={class:"min-h-full py-16 bg-gray-50"},D={class:"max-w-3xl mx-auto px-4 sm:px-6 lg:px-8"},N={class:"bg-white rounded-xl shadow-lg p-8 border border-gray-100"},T={key:0,class:"flex items-center justify-center py-12"},z=["disabled"],L=["disabled"],j=["disabled"],q={class:"border-t border-gray-200 pt-6 mt-6"},E={class:"space-y-4"},F=["disabled"],H=["disabled"],Z=["disabled"],$={key:0,class:"flex items-center p-3 rounded-md bg-red-50 text-red-700 text-sm"},I={key:1,class:"flex items-center p-3 rounded-md bg-green-50 text-green-700 text-sm"},G={class:"flex justify-end space-x-4"},J=["disabled"],K=["disabled"],ee={__name:"profil",setup(O){const P=_(),b=i(!0),l=i(!1),o=i(""),p=i(""),t=i({name:"",email:"",phone:""}),r=i({current:"",new:"",confirm:""}),x=async()=>{b.value=!0,o.value="",p.value="";try{const n=await $fetch("/api/profile");t.value={name:n.user.name,email:n.user.email,phone:n.user.phone||""}}catch{o.value="Fehler beim Laden des Profils."}finally{b.value=!1}},k=async()=>{if(l.value=!0,o.value="",p.value="",r.value.current||r.value.new||r.value.confirm){if(!r.value.current){o.value="Bitte geben Sie Ihr aktuelles Passwort ein.",l.value=!1;return}if(!r.value.new){o.value="Bitte geben Sie ein neues Passwort ein.",l.value=!1;return}if(r.value.new!==r.value.confirm){o.value="Die neuen Passwörter stimmen nicht überein.",l.value=!1;return}if(r.value.new.length<6){o.value="Das neue Passwort muss mindestens 6 Zeichen lang sein.",l.value=!1;return}}try{await $fetch("/api/profile",{method:"PUT",body:{name:t.value.name,email:t.value.email,phone:t.value.phone,currentPassword:r.value.current||void 0,newPassword:r.value.new||void 0}}),p.value="Profil erfolgreich aktualisiert!",r.value={current:"",new:"",confirm:""},await P.checkAuth(),window.scrollTo({top:0,behavior:"smooth"})}catch(n){o.value=n.data?.message||"Fehler beim Speichern des Profils."}finally{l.value=!1}};return S(()=>{x()}),U({title:"Mein Profil - Harheimer TC"}),(n,e)=>(m(),f("div",C,[s("div",D,[e[13]||(e[13]=s("h1",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-6"}," Mein Profil ",-1)),e[14]||(e[14]=s("div",{class:"w-24 h-1 bg-primary-600 mb-8"},null,-1)),s("div",N,[b.value?(m(),f("div",T,[v(c(h),{size:40,class:"animate-spin text-primary-600"})])):(m(),f("form",{key:1,onSubmit:V(k,["prevent"]),class:"space-y-6"},[s("div",null,[e[6]||(e[6]=s("label",{for:"name",class:"block text-sm font-medium text-gray-700 mb-2"}," Name ",-1)),u(s("input",{id:"name","onUpdate:modelValue":e[0]||(e[0]=a=>t.value.name=a),type:"text",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,z),[[d,t.value.name]])]),s("div",null,[e[7]||(e[7]=s("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),u(s("input",{id:"email","onUpdate:modelValue":e[1]||(e[1]=a=>t.value.email=a),type:"email",required:"",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,L),[[d,t.value.email]])]),s("div",null,[e[8]||(e[8]=s("label",{for:"phone",class:"block text-sm font-medium text-gray-700 mb-2"}," Telefonnummer ",-1)),u(s("input",{id:"phone","onUpdate:modelValue":e[2]||(e[2]=a=>t.value.phone=a),type:"tel",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,j),[[d,t.value.phone]])]),s("div",q,[e[12]||(e[12]=s("h3",{class:"text-lg font-semibold text-gray-900 mb-4"},"Passwort ändern",-1)),s("div",E,[s("div",null,[e[9]||(e[9]=s("label",{for:"currentPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Aktuelles Passwort ",-1)),u(s("input",{id:"currentPassword","onUpdate:modelValue":e[3]||(e[3]=a=>r.value.current=a),type:"password",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,F),[[d,r.value.current]])]),s("div",null,[e[10]||(e[10]=s("label",{for:"newPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Neues Passwort ",-1)),u(s("input",{id:"newPassword","onUpdate:modelValue":e[4]||(e[4]=a=>r.value.new=a),type:"password",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,H),[[d,r.value.new]])]),s("div",null,[e[11]||(e[11]=s("label",{for:"confirmPassword",class:"block text-sm font-medium text-gray-700 mb-2"}," Passwort bestätigen ",-1)),u(s("input",{id:"confirmPassword","onUpdate:modelValue":e[5]||(e[5]=a=>r.value.confirm=a),type:"password",class:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-primary-500",disabled:l.value},null,8,Z),[[d,r.value.confirm]])])])]),o.value?(m(),f("div",$,[v(c(A),{size:20,class:"mr-2"}),w(" "+g(o.value),1)])):y("",!0),p.value?(m(),f("div",I,[v(c(B),{size:20,class:"mr-2"}),w(" "+g(p.value),1)])):y("",!0),s("div",G,[s("button",{type:"button",onClick:x,class:"px-6 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors",disabled:l.value}," Zurücksetzen ",8,J),s("button",{type:"submit",class:"px-6 py-2 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors flex items-center",disabled:l.value},[l.value?(m(),M(c(h),{key:0,size:20,class:"animate-spin mr-2"})):y("",!0),s("span",null,g(l.value?"Speichert...":"Speichern"),1)],8,K)])],32))])])]))}};export{ee as default}; +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/C5WkR1xp.js b/.output/public/_nuxt/CJ4iaRop.js similarity index 97% rename from .output/public/_nuxt/C5WkR1xp.js rename to .output/public/_nuxt/CJ4iaRop.js index 5b28ba2..d676d37 100644 --- a/.output/public/_nuxt/C5WkR1xp.js +++ b/.output/public/_nuxt/CJ4iaRop.js @@ -1 +1 @@ -import{r as d,h as f,x as _,c as a,i as u,o as n,a as e,F as b,j as y,t as m,l as h,b as x,u as w,X as k}from"#entry";import{u as C}from"./C_U-NUAd.js";const j={key:0,id:"gallery",class:"py-16 sm:py-20 bg-gradient-to-b from-white to-gray-50"},L={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},$={class:"grid sm:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8 gap-2"},E=["onClick"],B=["src","alt"],G={class:"absolute inset-0 bg-gradient-to-t from-black/70 via-black/20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-end"},V={class:"text-white font-semibold text-xs p-1 truncate"},z={class:"relative w-full h-full flex items-center justify-center"},F=["src","alt"],N={class:"absolute bottom-4 left-4 right-4 text-center"},H={class:"text-white font-semibold text-lg bg-black/50 rounded-lg px-4 py-2"},I={__name:"Gallery",setup(p){const s=d([]),t=d(null),g=async()=>{try{const o=await $fetch("/api/galerie");s.value=o||[]}catch(o){console.error("Fehler beim Laden der Galerie-Bilder:",o),s.value=[]}},v=o=>{t.value=o,document.body.style.overflow="hidden"},i=()=>{t.value=null,document.body.style.overflow="auto"},c=o=>{o.key==="Escape"&&t.value&&i()};return f(()=>{g(),document.addEventListener("keydown",c)}),_(()=>{document.removeEventListener("keydown",c),document.body.style.overflow="auto"}),(o,r)=>s.value.length>0?(n(),a("section",j,[e("div",L,[r[1]||(r[1]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Galerie "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"}),e("p",{class:"text-xl text-gray-600 max-w-3xl mx-auto"}," Eindrücke von unserem Verein ")],-1)),e("div",$,[(n(!0),a(b,null,y(s.value,l=>(n(),a("div",{key:l.filename,class:"group relative w-20 h-20 rounded-md overflow-hidden shadow-sm hover:shadow-lg transition-all duration-300 cursor-pointer",onClick:D=>v(l)},[e("img",{src:`/galerie/${l.filename}`,alt:l.title,class:"w-full h-full object-cover group-hover:scale-110 transition-transform duration-700"},null,8,B),e("div",G,[e("p",V,m(l.title),1)])],8,E))),128))]),t.value?(n(),a("div",{key:0,class:"fixed inset-0 z-50 bg-black/90 flex items-center justify-center p-4",onClick:i},[e("div",z,[e("button",{onClick:h(i,["stop"]),class:"absolute top-4 right-4 z-10 w-10 h-10 bg-white/20 hover:bg-white/30 rounded-full flex items-center justify-center text-white transition-colors"},[x(w(k),{size:24})]),e("img",{src:`/galerie/${t.value.filename}`,alt:t.value.title,class:"max-w-[80vw] max-h-[80vh] object-contain rounded-lg",onClick:r[0]||(r[0]=h(()=>{},["stop"]))},null,8,F),e("div",N,[e("p",H,m(t.value.title),1)])])])):u("",!0)])])):u("",!0)}},M={class:"min-h-screen"},T={__name:"galerie",setup(p){return C({title:"Galerie - Harheimer TC"}),(s,t)=>(n(),a("div",M,[x(I)]))}};export{T as default}; +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/DHyEjCGa.js b/.output/public/_nuxt/Cx_3U4cr.js similarity index 96% rename from .output/public/_nuxt/DHyEjCGa.js rename to .output/public/_nuxt/Cx_3U4cr.js index 3ca05f2..041a3d2 100644 --- a/.output/public/_nuxt/DHyEjCGa.js +++ b/.output/public/_nuxt/Cx_3U4cr.js @@ -1,4 +1,4 @@ -import{e as B,k as K,r as p,g as T,h as I,c as l,a as e,i,p as $,d as h,s as G,u as n,t as d,b as u,F as b,j as D,l as E,m as y,v as m,o as a,n as O}from"#entry";import{u as J}from"./C_U-NUAd.js";import{U as Q}from"./oN0_bS6A.js";import{L as j}from"./CUq_0rkE.js";import{S as A}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";/** +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. diff --git a/.output/public/_nuxt/D11oUMHK.js b/.output/public/_nuxt/CzgMfPlN.js similarity index 98% rename from .output/public/_nuxt/D11oUMHK.js rename to .output/public/_nuxt/CzgMfPlN.js index ecdb0d6..d61cabd 100644 --- a/.output/public/_nuxt/D11oUMHK.js +++ b/.output/public/_nuxt/CzgMfPlN.js @@ -1 +1 @@ -import{r as g,g as f,h as S,c as i,a as e,i as h,b as c,w as L,d as m,u as p,t as a,F as w,j as k,_ as V,o as n,m as z,y as C,X as A,n as j}from"#entry";import{u as D}from"./C_U-NUAd.js";import{A as $}from"./C8kQt0fa.js";import{C as T}from"./DaSgy0Cl.js";const N={class:"min-h-full py-16 bg-gray-50"},I={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},E={class:"flex items-center justify-between mb-6"},O={key:0,class:"mb-8"},P={class:"text-2xl font-display font-bold text-gray-900 mb-4"},H={class:"space-y-4"},K={class:"flex items-start justify-between"},W={class:"flex-1"},X={class:"text-lg font-semibold text-gray-900"},Z={class:"text-sm text-gray-600 mt-1"},q={key:0,class:"text-sm text-gray-600"},G={class:"text-xs text-gray-500 mt-2"},J={class:"flex flex-col space-y-2 ml-4"},Q=["onUpdate:modelValue"],Y=["onClick"],ee=["onClick"],te={class:"text-2xl font-display font-bold text-gray-900 mb-4"},se={class:"bg-white rounded-xl shadow-lg overflow-hidden"},oe={class:"min-w-full divide-y divide-gray-200"},ae={class:"bg-white divide-y divide-gray-200"},re={class:"px-6 py-4 whitespace-nowrap"},ie={class:"text-sm font-medium text-gray-900"},ne={class:"px-6 py-4 whitespace-nowrap"},le={class:"text-sm text-gray-600"},de={class:"px-6 py-4 whitespace-nowrap"},ce={class:"text-sm text-gray-600"},me={class:"px-6 py-4 whitespace-nowrap"},ue=["onUpdate:modelValue","onChange"],pe={class:"px-6 py-4 whitespace-nowrap"},ge={class:"text-sm text-gray-600"},he={class:"px-6 py-4 whitespace-nowrap text-right text-sm"},xe=["onClick"],ye={key:1,class:"text-gray-400"},ve={key:1,class:"fixed bottom-20 right-4 bg-green-50 border border-green-200 rounded-lg p-4 shadow-lg"},_e={class:"text-sm text-green-800 flex items-center"},be={key:2,class:"fixed bottom-20 right-4 bg-red-50 border border-red-200 rounded-lg p-4 shadow-lg"},fe={class:"text-sm text-red-800 flex items-center"},Te={__name:"benutzer",setup(we){const x=g([]),v=g(null),l=g(""),r=g(""),y=f(()=>x.value.filter(t=>t.active===!1).map(t=>({...t,selectedRole:t.role||"mitglied"}))),_=f(()=>x.value.filter(t=>t.active===!0)),b=t=>new Date(t).toLocaleString("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),u=async()=>{try{const t=await $fetch("/api/cms/users/list");x.value=t.users}catch(t){console.error("Fehler beim Laden der Benutzer:",t),r.value="Fehler beim Laden der Benutzerliste"}},R=async t=>{try{await $fetch("/api/cms/users/approve",{method:"POST",body:{userId:t.id,role:t.selectedRole}}),l.value=`Benutzer ${t.name} wurde als ${t.selectedRole} freigeschaltet`,setTimeout(()=>l.value="",3e3),await u()}catch{r.value="Fehler beim Freischalten des Benutzers",setTimeout(()=>r.value="",3e3)}},B=async t=>{if(confirm(`Möchten Sie die Registrierung von ${t.name} wirklich ablehnen?`))try{await $fetch("/api/cms/users/reject",{method:"POST",body:{userId:t.id}}),l.value=`Registrierung von ${t.name} wurde abgelehnt`,setTimeout(()=>l.value="",3e3),await u()}catch{r.value="Fehler beim Ablehnen der Registrierung",setTimeout(()=>r.value="",3e3)}},U=async t=>{try{await $fetch("/api/cms/users/update-role",{method:"POST",body:{userId:t.id,role:t.role}}),l.value=`Rolle von ${t.name} wurde aktualisiert`,setTimeout(()=>l.value="",3e3)}catch{r.value="Fehler beim Aktualisieren der Rolle",setTimeout(()=>r.value="",3e3),await u()}},F=async t=>{if(confirm(`Möchten Sie ${t.name} wirklich deaktivieren?`))try{await $fetch("/api/cms/users/deactivate",{method:"POST",body:{userId:t.id}}),l.value=`Benutzer ${t.name} wurde deaktiviert`,setTimeout(()=>l.value="",3e3),await u()}catch{r.value="Fehler beim Deaktivieren des Benutzers",setTimeout(()=>r.value="",3e3)}};return S(async()=>{try{const t=await $fetch("/api/auth/status");v.value=t.user?.id}catch(t){console.error("Fehler beim Laden des aktuellen Benutzers:",t)}await u()}),D({title:"Benutzerverwaltung - CMS - Harheimer TC"}),(t,o)=>{const M=V;return n(),i("div",N,[e("div",I,[e("div",E,[o[1]||(o[1]=e("div",null,[e("h1",{class:"text-4xl font-display font-bold text-gray-900"}," Benutzerverwaltung "),e("div",{class:"w-24 h-1 bg-primary-600 mt-4"})],-1)),c(M,{to:"/cms",class:"px-4 py-2 bg-gray-200 hover:bg-gray-300 text-gray-800 rounded-lg transition-colors"},{default:L(()=>[...o[0]||(o[0]=[m(" ← Zurück zum CMS ",-1)])]),_:1})]),y.value.length>0?(n(),i("div",O,[e("h2",P,[c(p($),{size:24,class:"inline text-yellow-600 mr-2"}),m(" Wartende Registrierungen ("+a(y.value.length)+") ",1)]),e("div",H,[(n(!0),i(w,null,k(y.value,s=>(n(),i("div",{key:s.id,class:"bg-yellow-50 border-l-4 border-yellow-400 rounded-lg p-6 shadow"},[e("div",K,[e("div",W,[e("h3",X,a(s.name),1),e("p",Z,a(s.email),1),s.phone?(n(),i("p",q,a(s.phone),1)):h("",!0),e("p",G," Registriert am: "+a(b(s.created)),1)]),e("div",J,[z(e("select",{"onUpdate:modelValue":d=>s.selectedRole=d,class:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-primary-600"},[...o[2]||(o[2]=[e("option",{value:"mitglied"},"Mitglied",-1),e("option",{value:"vorstand"},"Vorstand",-1),e("option",{value:"admin"},"Administrator",-1)])],8,Q),[[C,s.selectedRole]]),e("button",{onClick:d=>R(s),class:"px-4 py-2 bg-green-600 hover:bg-green-700 text-white text-sm font-semibold rounded-lg transition-colors flex items-center justify-center"},[c(p(T),{size:16,class:"mr-1"}),o[3]||(o[3]=m(" Freischalten ",-1))],8,Y),e("button",{onClick:d=>B(s),class:"px-4 py-2 bg-red-600 hover:bg-red-700 text-white text-sm font-semibold rounded-lg transition-colors flex items-center justify-center"},[c(p(A),{size:16,class:"mr-1"}),o[4]||(o[4]=m(" Ablehnen ",-1))],8,ee)])])]))),128))])])):h("",!0),e("div",null,[e("h2",te," Aktive Benutzer ("+a(_.value.length)+") ",1),e("div",se,[e("table",oe,[o[6]||(o[6]=e("thead",{class:"bg-gray-50"},[e("tr",null,[e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Name "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," E-Mail "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Telefon "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Rolle "),e("th",{class:"px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"}," Letzter Login "),e("th",{class:"px-6 py-3 text-right text-xs font-medium text-gray-500 uppercase tracking-wider"}," Aktionen ")])],-1)),e("tbody",ae,[(n(!0),i(w,null,k(_.value,s=>(n(),i("tr",{key:s.id,class:"hover:bg-gray-50"},[e("td",re,[e("div",ie,a(s.name),1)]),e("td",ne,[e("div",le,a(s.email),1)]),e("td",de,[e("div",ce,a(s.phone||"-"),1)]),e("td",me,[z(e("select",{"onUpdate:modelValue":d=>s.role=d,onChange:d=>U(s),class:j(["px-3 py-1 border border-gray-300 rounded text-sm",{"bg-red-50 border-red-300":s.role==="admin","bg-blue-50 border-blue-300":s.role==="vorstand","bg-gray-50 border-gray-300":s.role==="mitglied"}])},[...o[5]||(o[5]=[e("option",{value:"mitglied"},"Mitglied",-1),e("option",{value:"vorstand"},"Vorstand",-1),e("option",{value:"admin"},"Administrator",-1)])],42,ue),[[C,s.role]])]),e("td",pe,[e("div",ge,a(s.lastLogin?b(s.lastLogin):"Nie"),1)]),e("td",he,[s.id!==v.value?(n(),i("button",{key:0,onClick:d=>F(s),class:"text-red-600 hover:text-red-800 font-medium"}," Deaktivieren ",8,xe)):(n(),i("span",ye,"Eigenes Konto"))])]))),128))])])])]),l.value?(n(),i("div",ve,[e("p",_e,[c(p(T),{size:18,class:"mr-2"}),m(" "+a(l.value),1)])])):h("",!0),r.value?(n(),i("div",be,[e("p",fe,[c(p($),{size:18,class:"mr-2"}),m(" "+a(r.value),1)])])):h("",!0)])])}}};export{Te as default}; +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/B6TEfPSg.js b/.output/public/_nuxt/DCC-mN0A.js similarity index 87% rename from .output/public/_nuxt/B6TEfPSg.js rename to .output/public/_nuxt/DCC-mN0A.js index b2320fc..3327e9c 100644 --- a/.output/public/_nuxt/B6TEfPSg.js +++ b/.output/public/_nuxt/DCC-mN0A.js @@ -1,6 +1,6 @@ -import{e as k,k as L,r as i,c as p,a as e,l as M,i as g,m as v,v as y,n as b,b as n,d,u,t as f,p as V,w as z,_ as A,q as S,o as m}from"#entry";import{u as C}from"./C_U-NUAd.js";import{A as N}from"./C8kQt0fa.js";import{C as B}from"./DaSgy0Cl.js";import{L as T}from"./CUq_0rkE.js";/** +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 q=k("LockIcon",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]]),D={class:"min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},I={class:"max-w-md w-full space-y-8"},j={class:"bg-white rounded-xl shadow-lg p-8"},E={key:0,class:"bg-red-50 border border-red-200 rounded-lg p-4"},H={class:"text-sm text-red-800 flex items-center"},K={key:1,class:"bg-green-50 border border-green-200 rounded-lg p-4"},P={class:"text-sm text-green-800 flex items-center"},U=["disabled"],Z={class:"text-center"},R={class:"bg-primary-50 border border-primary-100 rounded-lg p-4"},F={class:"text-sm text-primary-800 text-center"},Y={__name:"login",setup(G){const x=S(),h=L(),t=i({email:"",password:""}),o=i(!1),r=i(""),l=i(""),w=async()=>{o.value=!0,r.value="",l.value="";try{const a=await h.login(t.value.email,t.value.password);a.success&&(l.value="Anmeldung erfolgreich! Sie werden weitergeleitet...",setTimeout(()=>{a.user.role==="admin"||a.user.role==="vorstand"?x.push("/cms"):x.push("/mitgliederbereich")},1e3))}catch(a){r.value=a.data?.message||"Anmeldung fehlgeschlagen. Bitte prüfen Sie Ihre Zugangsdaten."}finally{o.value=!1}};return C({title:"Login - Harheimer TC"}),(a,s)=>{const _=A;return m(),p("div",D,[e("div",I,[s[6]||(s[6]=e("div",{class:"text-center"},[e("h2",{class:"text-3xl font-display font-bold text-gray-900"}," Mitglieder-Login "),e("p",{class:"mt-2 text-sm text-gray-600"}," Melden Sie sich an, um auf den Mitgliederbereich zuzugreifen ")],-1)),e("div",j,[e("form",{onSubmit:M(w,["prevent"]),class:"space-y-6"},[e("div",null,[s[2]||(s[2]=e("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),v(e("input",{id:"email","onUpdate:modelValue":s[0]||(s[0]=c=>t.value.email=c),type:"email",required:"",autocomplete:"email",class:b(["w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all",{"border-red-500":r.value}]),placeholder:"ihre-email@example.com"},null,2),[[y,t.value.email]])]),e("div",null,[s[3]||(s[3]=e("label",{for:"password",class:"block text-sm font-medium text-gray-700 mb-2"}," Passwort ",-1)),v(e("input",{id:"password","onUpdate:modelValue":s[1]||(s[1]=c=>t.value.password=c),type:"password",required:"",autocomplete:"current-password",class:b(["w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all",{"border-red-500":r.value}]),placeholder:"••••••••"},null,2),[[y,t.value.password]])]),r.value?(m(),p("div",E,[e("p",H,[n(u(N),{size:18,class:"mr-2"}),d(" "+f(r.value),1)])])):g("",!0),l.value?(m(),p("div",K,[e("p",P,[n(u(B),{size:18,class:"mr-2"}),d(" "+f(l.value),1)])])):g("",!0),e("button",{type:"submit",disabled:o.value,class:"w-full px-6 py-3 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 text-white font-semibold rounded-lg transition-colors flex items-center justify-center"},[o.value?(m(),V(u(T),{key:0,size:20,class:"mr-2 animate-spin"})):g("",!0),e("span",null,f(o.value?"Anmeldung läuft...":"Anmelden"),1)],8,U),e("div",Z,[n(_,{to:"/passwort-vergessen",class:"text-sm text-primary-600 hover:text-primary-700 font-medium"},{default:z(()=>[...s[4]||(s[4]=[d(" Passwort vergessen? ",-1)])]),_:1})])],32)]),e("div",R,[e("p",F,[n(u(q),{size:16,class:"inline mr-1"}),s[5]||(s[5]=d(" Nur für Vereinsmitglieder. Kein Zugang? Kontaktieren Sie den Vorstand. ",-1))])])])])}}};export{Y as default}; + */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/C_WhudVk.js b/.output/public/_nuxt/DDYB2ueJ.js similarity index 98% rename from .output/public/_nuxt/C_WhudVk.js rename to .output/public/_nuxt/DDYB2ueJ.js index 4c08f2e..c10e809 100644 --- a/.output/public/_nuxt/C_WhudVk.js +++ b/.output/public/_nuxt/DDYB2ueJ.js @@ -1 +1 @@ -import{k as L,r as d,h as z,c as l,a as e,i as p,b as m,d as w,u as c,F as C,j 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}; +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/DHQur1V-.js b/.output/public/_nuxt/DF1dYnic.js similarity index 75% rename from .output/public/_nuxt/DHQur1V-.js rename to .output/public/_nuxt/DF1dYnic.js index 800db3b..830cf44 100644 --- a/.output/public/_nuxt/DHQur1V-.js +++ b/.output/public/_nuxt/DF1dYnic.js @@ -1,2 +1,2 @@ -import{u as N}from"./C_U-NUAd.js";import{T as k}from"./CrCcIvVp.js";import{r as C,g as u,h as R,c as a,a as t,F as x,j as f,n as h,b as _,u as w,t as d,d as z,o as n,i as j}from"#entry";const F={class:"min-h-full py-16 bg-gray-50"},G={class:"max-w-6xl mx-auto px-4 sm:px-6 lg:px-8"},H={class:"mb-8 flex flex-wrap gap-4"},L=["onClick"],M={key:0,class:"space-y-8"},S={class:"text-2xl font-display font-bold text-gray-900 mb-6 flex items-center"},W={key:0,class:"mb-6 p-4 bg-yellow-50 border border-yellow-200 rounded-lg"},O={class:"text-yellow-800 font-medium"},$={key:1,class:"space-y-6"},A={class:"text-xl font-semibold text-gray-900 mb-4"},K={class:"grid gap-3"},P={class:"flex items-center"},Q={class:"font-semibold text-gray-900"},Y={key:0,class:"text-gray-600"},q={class:"text-sm text-gray-500"},I={key:1,class:"text-center py-12 bg-white rounded-xl shadow-lg"},U={class:"mt-12 bg-gradient-to-r from-primary-600 to-primary-700 rounded-xl p-8 text-white"},X={class:"grid md:grid-cols-3 gap-6"},Z={class:"text-center"},ee={class:"text-3xl font-bold mb-2"},te={class:"text-center"},re={class:"text-3xl font-bold mb-2"},se={class:"text-center"},le={class:"text-3xl font-bold mb-2"},ae={class:"mt-8 text-center"},ne={class:"bg-white rounded-xl shadow-lg p-8 border-l-4 border-primary-600"},oe={class:"text-2xl font-display font-bold text-gray-900 mb-4 flex items-center justify-center"},ge={__name:"vereinsmeisterschaften",setup(ie){const c=C([]),g=C("alle"),J=async()=>{try{const r=await fetch("/data/vereinsmeisterschaften.csv");if(!r.ok)return;const s=(await r.text()).split(` +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/DxIIJuzj.js b/.output/public/_nuxt/DYva3pFh.js similarity index 97% rename from .output/public/_nuxt/DxIIJuzj.js rename to .output/public/_nuxt/DYva3pFh.js index b43c8e7..dcb440c 100644 --- a/.output/public/_nuxt/DxIIJuzj.js +++ b/.output/public/_nuxt/DYva3pFh.js @@ -1 +1 @@ -import{r as o,c as d,a as e,l as b,i as u,m as y,v as h,n as _,b as m,d as c,u as p,t as g,p as w,w as k,_ as z,o as i}from"#entry";import{u as M}from"./C_U-NUAd.js";import{A as E}from"./C8kQt0fa.js";import{C}from"./DaSgy0Cl.js";import{L as A}from"./CUq_0rkE.js";const L={class:"min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},P={class:"max-w-md w-full space-y-8"},S={class:"bg-white rounded-xl shadow-lg p-8"},B={key:0,class:"bg-red-50 border border-red-200 rounded-lg p-4"},N={class:"text-sm text-red-800 flex items-center"},V={key:1,class:"bg-green-50 border border-green-200 rounded-lg p-4"},I={class:"text-sm text-green-800 flex items-center"},T=["disabled"],j={class:"text-center"},O={__name:"passwort-vergessen",setup(D){const a=o(""),t=o(!1),r=o(""),l=o(""),x=async()=>{t.value=!0,r.value="",l.value="";try{(await $fetch("/api/auth/reset-password",{method:"POST",body:{email:a.value}})).success&&(l.value="Eine E-Mail mit weiteren Anweisungen wurde an Ihre E-Mail-Adresse gesendet.",a.value="")}catch(n){r.value=n.data?.message||"Ein Fehler ist aufgetreten. Bitte versuchen Sie es später erneut."}finally{t.value=!1}};return M({title:"Passwort vergessen - Harheimer TC"}),(n,s)=>{const f=z;return i(),d("div",L,[e("div",P,[s[3]||(s[3]=e("div",{class:"text-center"},[e("h2",{class:"text-3xl font-display font-bold text-gray-900"}," Passwort zurücksetzen "),e("p",{class:"mt-2 text-sm text-gray-600"}," Geben Sie Ihre E-Mail-Adresse ein, um Ihr Passwort zurückzusetzen ")],-1)),e("div",S,[e("form",{onSubmit:b(x,["prevent"]),class:"space-y-6"},[e("div",null,[s[1]||(s[1]=e("label",{for:"email",class:"block text-sm font-medium text-gray-700 mb-2"}," E-Mail-Adresse ",-1)),y(e("input",{id:"email","onUpdate:modelValue":s[0]||(s[0]=v=>a.value=v),type:"email",required:"",autocomplete:"email",class:_(["w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-600 focus:border-transparent transition-all",{"border-red-500":r.value}]),placeholder:"ihre-email@example.com"},null,2),[[h,a.value]])]),r.value?(i(),d("div",B,[e("p",N,[m(p(E),{size:18,class:"mr-2"}),c(" "+g(r.value),1)])])):u("",!0),l.value?(i(),d("div",V,[e("p",I,[m(p(C),{size:18,class:"mr-2"}),c(" "+g(l.value),1)])])):u("",!0),e("button",{type:"submit",disabled:t.value,class:"w-full px-6 py-3 bg-primary-600 hover:bg-primary-700 disabled:bg-gray-400 text-white font-semibold rounded-lg transition-colors flex items-center justify-center"},[t.value?(i(),w(p(A),{key:0,size:20,class:"mr-2 animate-spin"})):u("",!0),e("span",null,g(t.value?"Wird gesendet...":"Passwort zurücksetzen"),1)],8,T),e("div",j,[m(f,{to:"/login",class:"text-sm text-primary-600 hover:text-primary-700 font-medium"},{default:k(()=>[...s[2]||(s[2]=[c(" Zurück zum Login ",-1)])]),_:1})])],32)]),s[4]||(s[4]=e("div",{class:"bg-primary-50 border border-primary-100 rounded-lg p-4"},[e("p",{class:"text-sm text-primary-800 text-center"}," Sie erhalten eine E-Mail mit einem Link zum Zurücksetzen Ihres Passworts. ")],-1))])])}}};export{O as default}; +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/Bn7G3VMx.js b/.output/public/_nuxt/DeoKPvBx.js similarity index 95% rename from .output/public/_nuxt/Bn7G3VMx.js rename to .output/public/_nuxt/DeoKPvBx.js index 6a5ccb1..04274b2 100644 --- a/.output/public/_nuxt/Bn7G3VMx.js +++ b/.output/public/_nuxt/DeoKPvBx.js @@ -1,6 +1,6 @@ -import{e as w,r as d,c as f,a as s,l as h,i as b,m as l,v as n,b as u,d as m,u as p,t as y,p as k,w as M,_ as P,o as g,z as V}from"#entry";import{u as _}from"./C_U-NUAd.js";import{A as B}from"./C8kQt0fa.js";import{C as I}from"./DaSgy0Cl.js";import{L as R}from"./CUq_0rkE.js";/** +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"},A={class:"text-sm text-yellow-800"},G={__name:"registrieren",setup(H){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",A,[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}; + */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/FENYPvwZ.js b/.output/public/_nuxt/FENYPvwZ.js deleted file mode 100644 index 629ec0c..0000000 --- a/.output/public/_nuxt/FENYPvwZ.js +++ /dev/null @@ -1,6 +0,0 @@ -import{_ as v}from"./DlAUqK2U.js";import{e as N,c as o,o as a,f as M,r as w,g as H,h as k,a as e,i as $,F as T,j as D,t as x,n as S,b as s,u,w as f,d as _,_ as y}from"#entry";import{C as z}from"./YJHbYJtA.js";import{U as A}from"./oN0_bS6A.js";import{M as I}from"./BC4PNGtJ.js";/** - * @license lucide-vue-next v0.344.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const b=N("ArrowRightIcon",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),L={},V={id:"home",class:"relative min-h-full flex items-center justify-center overflow-hidden bg-gradient-to-br from-gray-50 to-gray-100"};function j(p,n){return a(),o("section",V,[...n[0]||(n[0]=[M('

Willkommen beim
Harheimer TC

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

',2)])])}const C=Object.assign(v(L,[["render",j],["__scopeId","data-v-779d39d7"]]),{__name:"Hero"}),F={key:0,class:"space-y-2 mb-6"},K={class:"flex items-center justify-between"},E={class:"flex items-center space-x-3"},J={class:"w-10 h-10 bg-primary-600 rounded-lg flex flex-col items-center justify-center text-white text-xs font-bold"},O={class:"font-semibold text-gray-900"},P={class:"text-sm text-gray-600"},R={key:1,class:"text-center py-8 bg-gray-50 rounded-lg"},W={key:2,class:"text-center"},B={__name:"TermineVorschau",setup(p){const n=w([]),t=H(()=>{const r=new Date;console.log("Heute ist:",r.toISOString().split("T")[0]);const i=n.value.filter(m=>{const h=new Date(m.datum)>=r;return console.log(`Termin ${m.titel} (${m.datum}): ${h?"KOMMEND":"VERSTRICHEN"}`),h}).sort((m,d)=>new Date(m.datum)-new Date(d.datum));return console.log("Kommende Termine:",i),i}),c=r=>new Date(r).getDate(),l=r=>{const i=new Date(r);return["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"][i.getMonth()]},g=async()=>{try{const r=await $fetch("/api/termine");n.value=r.termine||[]}catch(r){console.error("Fehler beim Laden der Termine:",r),n.value=[]}};return k(()=>{g()}),(r,i)=>{const m=y;return a(),o("div",null,[i[2]||(i[2]=e("div",{class:"text-center mb-6"},[e("h2",{class:"text-2xl font-display font-bold text-gray-900 mb-2"}," Kommende Termine "),e("div",{class:"w-16 h-0.5 bg-primary-600 mx-auto"})],-1)),t.value.length>0?(a(),o("div",F,[(a(!0),o(T,null,D(t.value,(d,h)=>(a(),o("div",{key:h,class:"bg-gray-50 rounded-lg p-3 hover:bg-gray-100 transition-colors"},[e("div",K,[e("div",E,[e("div",J,[e("span",null,x(c(d.datum)),1),e("span",null,x(l(d.datum)),1)]),e("div",null,[e("h3",O,x(d.titel),1),e("p",P,x(d.beschreibung),1)])]),e("span",{class:S(["px-2 py-1 text-xs font-medium rounded-full",d.kategorie==="Turnier"?"bg-yellow-100 text-yellow-800":"bg-blue-100 text-blue-800"])},x(d.kategorie),3)])]))),128))])):(a(),o("div",R,[s(u(z),{size:32,class:"text-gray-400 mx-auto mb-2"}),i[0]||(i[0]=e("p",{class:"text-gray-600 text-sm"},"Keine kommenden Termine",-1))])),t.value.length>0?(a(),o("div",W,[s(m,{to:"/termine",class:"inline-flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white text-sm font-medium rounded-lg transition-colors"},{default:f(()=>[i[1]||(i[1]=_(" Alle Termine anzeigen ",-1)),s(u(b),{size:16,class:"ml-1"})]),_:1})])):$("",!0)])}}},U={class:"py-16 sm:py-20 bg-gray-50"},q={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},G={class:"max-w-4xl mx-auto"},Q={class:"text-center mt-8"},X={__name:"HomeTermine",setup(p){return(n,t)=>{const c=y;return a(),o("section",U,[e("div",q,[t[1]||(t[1]=e("div",{class:"text-center mb-12"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Kommende Termine "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"})],-1)),e("div",G,[s(B)]),e("div",Q,[s(c,{to:"/termine",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},{default:f(()=>[t[0]||(t[0]=_(" Alle Termine anzeigen ",-1)),s(u(b),{size:20,class:"ml-2"})]),_:1})])])])}}},Y={key:0,class:"py-16 sm:py-20 bg-white"},Z={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},ee={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-8"},te={class:"flex items-center text-sm text-gray-500 mb-3"},se={class:"text-xl font-display font-bold text-gray-900 mb-3"},re={class:"text-gray-700 line-clamp-3"},ne={__name:"PublicNews",setup(p){const n=w([]),t=async()=>{try{const l=await $fetch("/api/news-public");n.value=l.news}catch(l){console.error("Fehler beim Laden der öffentlichen News:",l)}},c=l=>l?new Date(l).toLocaleDateString("de-DE",{year:"numeric",month:"long",day:"numeric"}):"";return k(()=>{t()}),(l,g)=>n.value.length>0?(a(),o("section",Y,[e("div",Z,[g[0]||(g[0]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Aktuelles "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"}),e("p",{class:"text-xl text-gray-600 max-w-3xl mx-auto"}," Die neuesten Nachrichten aus unserem Verein ")],-1)),e("div",ee,[(a(!0),o(T,null,D(n.value,r=>(a(),o("article",{key:r.id,class:"bg-gray-50 rounded-xl p-6 border border-gray-200 hover:shadow-lg transition-shadow"},[e("div",te,[s(u(z),{size:16,class:"mr-2"}),_(" "+x(c(r.created)),1)]),e("h3",se,x(r.title),1),e("p",re,x(r.content),1)]))),128))])])])):$("",!0)}},oe=v(ne,[["__scopeId","data-v-f894f108"]]),ae={class:"py-16 sm:py-20 bg-gradient-to-b from-white to-gray-50"},ie={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},le={class:"grid md:grid-cols-2 gap-8 max-w-4xl mx-auto"},de={class:"flex items-center mb-4"},ce={class:"w-16 h-16 bg-primary-100 rounded-xl flex items-center justify-center group-hover:bg-primary-600 transition-colors"},me={class:"flex items-center text-primary-600 font-semibold group-hover:translate-x-2 transition-transform"},xe={class:"flex items-center mb-4"},ue={class:"w-16 h-16 bg-primary-100 rounded-xl flex items-center justify-center group-hover:bg-primary-600 transition-colors"},pe={class:"flex items-center text-primary-600 font-semibold group-hover:translate-x-2 transition-transform"},ge={__name:"HomeActions",setup(p){return(n,t)=>{const c=y;return a(),o("section",ae,[e("div",ie,[e("div",le,[s(c,{to:"/mitgliedschaft",class:"group bg-white rounded-2xl p-8 shadow-lg hover:shadow-xl transition-all border-2 border-transparent hover:border-primary-600"},{default:f(()=>[e("div",de,[e("div",ce,[s(u(A),{size:32,class:"text-primary-600 group-hover:text-white transition-colors"})]),t[0]||(t[0]=e("h3",{class:"ml-4 text-2xl font-display font-bold text-gray-900"}," Mitglied werden ",-1))]),t[2]||(t[2]=e("p",{class:"text-gray-600 mb-4"}," Werden Sie Teil unserer Tischtennisfamilie und profitieren Sie von regelmäßigem Training, Wettkämpfen und einer tollen Gemeinschaft. ",-1)),e("div",me,[t[1]||(t[1]=_(" Mehr erfahren ",-1)),s(u(b),{size:20,class:"ml-2"})])]),_:1}),s(c,{to:"/kontakt",class:"group bg-white rounded-2xl p-8 shadow-lg hover:shadow-xl transition-all border-2 border-transparent hover:border-primary-600"},{default:f(()=>[e("div",xe,[e("div",ue,[s(u(I),{size:32,class:"text-primary-600 group-hover:text-white transition-colors"})]),t[3]||(t[3]=e("h3",{class:"ml-4 text-2xl font-display font-bold text-gray-900"}," Kontakt aufnehmen ",-1))]),t[5]||(t[5]=e("p",{class:"text-gray-600 mb-4"}," Haben Sie Fragen oder möchten ein kostenloses Probetraining vereinbaren? Wir freuen uns auf Ihre Nachricht! ",-1)),e("div",pe,[t[4]||(t[4]=_(" Jetzt kontaktieren ",-1)),s(u(b),{size:20,class:"ml-2"})])]),_:1})])])])}}},_e={class:"min-h-full"},we={__name:"index",setup(p){return(n,t)=>(a(),o("div",_e,[s(C),s(X),s(oe),s(ge)]))}};export{we as default}; diff --git a/.output/public/_nuxt/BRhWghMt.js b/.output/public/_nuxt/S5xR3JqC.js similarity index 98% rename from .output/public/_nuxt/BRhWghMt.js rename to .output/public/_nuxt/S5xR3JqC.js index cb7ad5f..f9def4d 100644 --- a/.output/public/_nuxt/BRhWghMt.js +++ b/.output/public/_nuxt/S5xR3JqC.js @@ -1,4 +1,4 @@ -import{u as I}from"./C_U-NUAd.js";import{F as b}from"./BteKZQ9T.js";import{e as $,r as _,g as w,h as E,c as a,a as l,t as c,F as k,j as S,b as x,u as g,i as M,o as r,d as L}from"#entry";import{E as z}from"./Cx4UcKGu.js";/** +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. diff --git a/.output/public/_nuxt/BjiYAScN.js b/.output/public/_nuxt/Zs8yqLLb.js similarity index 98% rename from .output/public/_nuxt/BjiYAScN.js rename to .output/public/_nuxt/Zs8yqLLb.js index 7d36d69..9708b63 100644 --- a/.output/public/_nuxt/BjiYAScN.js +++ b/.output/public/_nuxt/Zs8yqLLb.js @@ -1 +1 @@ -import{c as n,o as r,a as e,F as p,j as u,n as o,i as y,b as i,p as _,s as v,t as a,u as m,w as c,d as l,_ as w}from"#entry";import{C as b}from"./DaSgy0Cl.js";import{S as k}from"./XZ6RV9KH.js";import{H as z}from"./CWEkTB1z.js";import{F as S}from"./BteKZQ9T.js";import{E as V}from"./Czdc6-TI.js";import{u as C}from"./C_U-NUAd.js";const J={id:"membership",class:"py-16 sm:py-20 bg-gradient-to-b from-gray-50 to-white"},F={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},T={class:"grid md:grid-cols-3 gap-8 max-w-6xl mx-auto"},H={key:0,class:"absolute top-0 right-0 bg-primary-600 text-white px-4 py-1 text-sm font-semibold rounded-bl-lg"},N={class:"p-8"},B={class:"text-2xl font-display font-bold text-gray-900 mb-2"},E={class:"text-gray-600 mb-6 min-h-[3rem]"},K={class:"mb-6"},M={class:"flex items-baseline"},j={class:"text-5xl font-bold text-gray-900"},L={class:"text-gray-600 ml-2"},D={class:"space-y-3 mb-8"},P={class:"text-gray-700"},U={class:"mt-16 bg-white rounded-2xl shadow-xl p-8 border border-gray-100"},G={class:"flex flex-col sm:flex-row gap-4 justify-center items-center"},W={href:"/documents/satzung.pdf",target:"_blank",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},$={class:"mt-16 bg-gradient-to-r from-primary-600 to-primary-700 rounded-2xl p-8 sm:p-12 text-center"},I={__name:"Membership",setup(f){const g=[{name:"Kinder/Jugend",price:"72",period:"Jahr",description:"Perfekt für junge Tischtennisspieler bis 18 Jahre",features:["Unbegrenzte Hallennutzung","Kostenfreies Jugendtraining","Teilnahme an Jugendturnieren","Clubveranstaltungen","Gäste mitbringen"],icon:k,gradient:"from-blue-500 to-cyan-500"},{name:"Erwachsene",price:"120",period:"Jahr",description:"Vollmitgliedschaft für Erwachsene",features:["Unbegrenzte Hallennutzung","Freies Spielen nach Verfügbarkeit","Clubveranstaltungen","Gäste mitbringen","Zugang Trainingsbereich"],icon:b,gradient:"from-primary-500 to-green-600",popular:!0},{name:"Passiv",price:"30",period:"Jahr",description:"Unterstützen Sie Ihren Lieblingsverein",features:["Vereinsunterstützung","Vereinsinformationen","Keine Spielberechtigung"],icon:z,gradient:"from-orange-500 to-red-500"}];return(h,t)=>{const d=w;return r(),n("section",J,[e("div",F,[t[8]||(t[8]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Mitgliedschaft "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"}),e("p",{class:"text-xl text-gray-600 max-w-3xl mx-auto"}," Werden Sie Teil unserer Tischtennis-Familie - Wählen Sie die passende Mitgliedschaft für sich ")],-1)),e("div",T,[(r(),n(p,null,u(g,s=>e("div",{key:s.name,class:o(["relative bg-white rounded-2xl shadow-xl overflow-hidden",s.popular?"ring-4 ring-primary-500 scale-105":""])},[s.popular?(r(),n("div",H," Beliebt ")):y("",!0),e("div",{class:o(["h-2 bg-gradient-to-r",s.gradient])},null,2),e("div",N,[e("div",{class:o(["w-12 h-12 bg-gradient-to-br rounded-xl flex items-center justify-center mb-4",s.gradient])},[(r(),_(v(s.icon),{size:24,class:"text-white"}))],2),e("h3",B,a(s.name),1),e("p",E,a(s.description),1),e("div",K,[e("div",M,[e("span",j,a(s.price)+"€",1),e("span",L,"/ "+a(s.period),1)])]),e("ul",D,[(r(!0),n(p,null,u(s.features,x=>(r(),n("li",{key:x,class:"flex items-start"},[i(m(b),{size:20,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),e("span",P,a(x),1)]))),128))]),i(d,{to:"/kontakt",class:o(["block w-full text-center px-6 py-3 rounded-lg font-semibold transition-all duration-300",s.popular?"bg-primary-600 hover:bg-primary-700 text-white shadow-lg hover:shadow-xl":"bg-gray-100 hover:bg-gray-200 text-gray-900"])},{default:c(()=>[...t[0]||(t[0]=[l(" Jetzt beitreten ",-1)])]),_:1},8,["class"])])],2)),64))]),e("div",U,[t[4]||(t[4]=e("div",{class:"text-center mb-8"},[e("h3",{class:"text-3xl font-display font-bold text-gray-900 mb-4"}," Vereinsatzung "),e("p",{class:"text-xl text-gray-600"}," Laden Sie unsere aktuelle Vereinsatzung herunter ")],-1)),e("div",G,[e("a",W,[i(m(S),{size:20,class:"mr-2"}),t[1]||(t[1]=l(" Satzung herunterladen (PDF) ",-1))]),t[3]||(t[3]=e("span",{class:"text-sm text-gray-500"},"oder",-1)),i(d,{to:"/satzung",class:"inline-flex items-center px-6 py-3 bg-gray-100 hover:bg-gray-200 text-gray-900 font-semibold rounded-lg transition-colors"},{default:c(()=>[i(m(V),{size:20,class:"mr-2"}),t[2]||(t[2]=l(" Online ansehen ",-1))]),_:1})])]),e("div",$,[t[6]||(t[6]=e("h3",{class:"text-3xl font-display font-bold text-white mb-4"}," Noch Fragen zur Mitgliedschaft? ",-1)),t[7]||(t[7]=e("p",{class:"text-xl text-primary-100 mb-6"}," Kontaktieren Sie uns - wir beraten Sie gerne persönlich ",-1)),i(d,{to:"/kontakt",class:"inline-flex items-center px-8 py-4 bg-white text-primary-600 font-semibold rounded-lg hover:bg-gray-100 transition-colors"},{default:c(()=>[...t[5]||(t[5]=[l(" Jetzt Kontakt aufnehmen ",-1)])]),_:1})])])])}}},O={class:"min-h-screen"},ee={__name:"mitgliedschaft",setup(f){return C({title:"Mitgliedschaft - Harheimer TC"}),(g,h)=>(r(),n("div",O,[i(I)]))}};export{ee as default}; +import{c as n,o as r,a as e,F as p,i as u,n as o,j as y,b as i,p as _,s as v,t as a,u as m,w as c,d as l,_ as w}from"#entry";import{C as b}from"./DaSgy0Cl.js";import{S as k}from"./XZ6RV9KH.js";import{H as z}from"./CWEkTB1z.js";import{F as S}from"./BteKZQ9T.js";import{E as V}from"./Czdc6-TI.js";import{u as C}from"./C_U-NUAd.js";const J={id:"membership",class:"py-16 sm:py-20 bg-gradient-to-b from-gray-50 to-white"},F={class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"},T={class:"grid md:grid-cols-3 gap-8 max-w-6xl mx-auto"},H={key:0,class:"absolute top-0 right-0 bg-primary-600 text-white px-4 py-1 text-sm font-semibold rounded-bl-lg"},N={class:"p-8"},B={class:"text-2xl font-display font-bold text-gray-900 mb-2"},E={class:"text-gray-600 mb-6 min-h-[3rem]"},K={class:"mb-6"},M={class:"flex items-baseline"},j={class:"text-5xl font-bold text-gray-900"},L={class:"text-gray-600 ml-2"},D={class:"space-y-3 mb-8"},P={class:"text-gray-700"},U={class:"mt-16 bg-white rounded-2xl shadow-xl p-8 border border-gray-100"},G={class:"flex flex-col sm:flex-row gap-4 justify-center items-center"},W={href:"/documents/satzung.pdf",target:"_blank",class:"inline-flex items-center px-6 py-3 bg-primary-600 hover:bg-primary-700 text-white font-semibold rounded-lg transition-colors"},$={class:"mt-16 bg-gradient-to-r from-primary-600 to-primary-700 rounded-2xl p-8 sm:p-12 text-center"},I={__name:"Membership",setup(f){const g=[{name:"Kinder/Jugend",price:"72",period:"Jahr",description:"Perfekt für junge Tischtennisspieler bis 18 Jahre",features:["Unbegrenzte Hallennutzung","Kostenfreies Jugendtraining","Teilnahme an Jugendturnieren","Clubveranstaltungen","Gäste mitbringen"],icon:k,gradient:"from-blue-500 to-cyan-500"},{name:"Erwachsene",price:"120",period:"Jahr",description:"Vollmitgliedschaft für Erwachsene",features:["Unbegrenzte Hallennutzung","Freies Spielen nach Verfügbarkeit","Clubveranstaltungen","Gäste mitbringen","Zugang Trainingsbereich"],icon:b,gradient:"from-primary-500 to-green-600",popular:!0},{name:"Passiv",price:"30",period:"Jahr",description:"Unterstützen Sie Ihren Lieblingsverein",features:["Vereinsunterstützung","Vereinsinformationen","Keine Spielberechtigung"],icon:z,gradient:"from-orange-500 to-red-500"}];return(h,t)=>{const d=w;return r(),n("section",J,[e("div",F,[t[8]||(t[8]=e("div",{class:"text-center mb-16"},[e("h2",{class:"text-4xl sm:text-5xl font-display font-bold text-gray-900 mb-4"}," Mitgliedschaft "),e("div",{class:"w-24 h-1 bg-primary-600 mx-auto mb-6"}),e("p",{class:"text-xl text-gray-600 max-w-3xl mx-auto"}," Werden Sie Teil unserer Tischtennis-Familie - Wählen Sie die passende Mitgliedschaft für sich ")],-1)),e("div",T,[(r(),n(p,null,u(g,s=>e("div",{key:s.name,class:o(["relative bg-white rounded-2xl shadow-xl overflow-hidden",s.popular?"ring-4 ring-primary-500 scale-105":""])},[s.popular?(r(),n("div",H," Beliebt ")):y("",!0),e("div",{class:o(["h-2 bg-gradient-to-r",s.gradient])},null,2),e("div",N,[e("div",{class:o(["w-12 h-12 bg-gradient-to-br rounded-xl flex items-center justify-center mb-4",s.gradient])},[(r(),_(v(s.icon),{size:24,class:"text-white"}))],2),e("h3",B,a(s.name),1),e("p",E,a(s.description),1),e("div",K,[e("div",M,[e("span",j,a(s.price)+"€",1),e("span",L,"/ "+a(s.period),1)])]),e("ul",D,[(r(!0),n(p,null,u(s.features,x=>(r(),n("li",{key:x,class:"flex items-start"},[i(m(b),{size:20,class:"text-primary-600 mr-3 flex-shrink-0 mt-0.5"}),e("span",P,a(x),1)]))),128))]),i(d,{to:"/kontakt",class:o(["block w-full text-center px-6 py-3 rounded-lg font-semibold transition-all duration-300",s.popular?"bg-primary-600 hover:bg-primary-700 text-white shadow-lg hover:shadow-xl":"bg-gray-100 hover:bg-gray-200 text-gray-900"])},{default:c(()=>[...t[0]||(t[0]=[l(" Jetzt beitreten ",-1)])]),_:1},8,["class"])])],2)),64))]),e("div",U,[t[4]||(t[4]=e("div",{class:"text-center mb-8"},[e("h3",{class:"text-3xl font-display font-bold text-gray-900 mb-4"}," Vereinsatzung "),e("p",{class:"text-xl text-gray-600"}," Laden Sie unsere aktuelle Vereinsatzung herunter ")],-1)),e("div",G,[e("a",W,[i(m(S),{size:20,class:"mr-2"}),t[1]||(t[1]=l(" Satzung herunterladen (PDF) ",-1))]),t[3]||(t[3]=e("span",{class:"text-sm text-gray-500"},"oder",-1)),i(d,{to:"/satzung",class:"inline-flex items-center px-6 py-3 bg-gray-100 hover:bg-gray-200 text-gray-900 font-semibold rounded-lg transition-colors"},{default:c(()=>[i(m(V),{size:20,class:"mr-2"}),t[2]||(t[2]=l(" Online ansehen ",-1))]),_:1})])]),e("div",$,[t[6]||(t[6]=e("h3",{class:"text-3xl font-display font-bold text-white mb-4"}," Noch Fragen zur Mitgliedschaft? ",-1)),t[7]||(t[7]=e("p",{class:"text-xl text-primary-100 mb-6"}," Kontaktieren Sie uns - wir beraten Sie gerne persönlich ",-1)),i(d,{to:"/kontakt",class:"inline-flex items-center px-8 py-4 bg-white text-primary-600 font-semibold rounded-lg hover:bg-gray-100 transition-colors"},{default:c(()=>[...t[5]||(t[5]=[l(" Jetzt Kontakt aufnehmen ",-1)])]),_:1})])])])}}},O={class:"min-h-screen"},ee={__name:"mitgliedschaft",setup(f){return C({title:"Mitgliedschaft - Harheimer TC"}),(g,h)=>(r(),n("div",O,[i(I)]))}};export{ee as default}; diff --git a/.output/public/_nuxt/builds/latest.json b/.output/public/_nuxt/builds/latest.json index fc93424..702c3bc 100644 --- a/.output/public/_nuxt/builds/latest.json +++ b/.output/public/_nuxt/builds/latest.json @@ -1 +1 @@ -{"id":"c99a6acf-946d-42bb-a8bc-809fc49bc3b8","timestamp":1761056477175} \ No newline at end of file +{"id":"c7b0744b-853d-4a6f-b9fa-7d1f201a383a","timestamp":1761056589368} \ No newline at end of file diff --git a/.output/public/_nuxt/builds/meta/c7b0744b-853d-4a6f-b9fa-7d1f201a383a.json b/.output/public/_nuxt/builds/meta/c7b0744b-853d-4a6f-b9fa-7d1f201a383a.json new file mode 100644 index 0000000..fdc3e72 --- /dev/null +++ b/.output/public/_nuxt/builds/meta/c7b0744b-853d-4a6f-b9fa-7d1f201a383a.json @@ -0,0 +1 @@ +{"id":"c7b0744b-853d-4a6f-b9fa-7d1f201a383a","timestamp":1761056589368,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]} \ No newline at end of file diff --git a/.output/public/_nuxt/builds/meta/c99a6acf-946d-42bb-a8bc-809fc49bc3b8.json b/.output/public/_nuxt/builds/meta/c99a6acf-946d-42bb-a8bc-809fc49bc3b8.json deleted file mode 100644 index b113369..0000000 --- a/.output/public/_nuxt/builds/meta/c99a6acf-946d-42bb-a8bc-809fc49bc3b8.json +++ /dev/null @@ -1 +0,0 @@ -{"id":"c99a6acf-946d-42bb-a8bc-809fc49bc3b8","timestamp":1761056477175,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]} \ No newline at end of file diff --git a/.output/public/_nuxt/B6D6IUyr.js b/.output/public/_nuxt/pO5XAgdL.js similarity index 98% rename from .output/public/_nuxt/B6D6IUyr.js rename to .output/public/_nuxt/pO5XAgdL.js index 40b3305..ea1705c 100644 --- a/.output/public/_nuxt/B6D6IUyr.js +++ b/.output/public/_nuxt/pO5XAgdL.js @@ -1 +1 @@ -import{k as $,r as p,g as j,h as A,c as r,a as e,i as c,b as i,d as f,u as a,F as E,j 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}; +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/server/chunks/build/client.manifest.mjs b/.output/server/chunks/build/client.manifest.mjs index 2bc2817..b8e5492 100644 --- a/.output/server/chunks/build/client.manifest.mjs +++ b/.output/server/chunks/build/client.manifest.mjs @@ -340,7 +340,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "D2MkqZXd.js", + "file": "5cTtis_o.js", "name": "entry", "src": "node_modules/nuxt/dist/app/entry.js", "isEntry": true, @@ -373,7 +373,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CvtlfSR0.js", + "file": "C3627_Er.js", "name": "anlagen", "src": "pages/anlagen.vue", "isDynamicEntry": true, @@ -387,7 +387,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "D11oUMHK.js", + "file": "CzgMfPlN.js", "name": "benutzer", "src": "pages/cms/benutzer.vue", "isDynamicEntry": true, @@ -403,7 +403,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DO_5fT64.js", + "file": "CASz9Fiv.js", "name": "index", "src": "pages/cms/index.vue", "isDynamicEntry": true, @@ -420,7 +420,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C_WhudVk.js", + "file": "DDYB2ueJ.js", "name": "termine", "src": "pages/cms/termine.vue", "isDynamicEntry": true, @@ -438,7 +438,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C5WkR1xp.js", + "file": "CJ4iaRop.js", "name": "galerie", "src": "pages/galerie.vue", "isDynamicEntry": true, @@ -482,7 +482,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "FENYPvwZ.js", + "file": "B6R2Q32I.js", "name": "index", "src": "pages/index.vue", "isDynamicEntry": true, @@ -508,7 +508,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BGsE9M8w.js", + "file": "B_w5gbrC.js", "name": "kontakt", "src": "pages/kontakt.vue", "isDynamicEntry": true, @@ -526,7 +526,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B6TEfPSg.js", + "file": "DCC-mN0A.js", "name": "login", "src": "pages/login.vue", "isDynamicEntry": true, @@ -543,7 +543,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "COK-PGSA.js", + "file": "BpS9ghZc.js", "name": "_slug_", "src": "pages/mannschaften/[slug].vue", "isDynamicEntry": true, @@ -586,7 +586,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BU5mk92E.js", + "file": "Bivc7aFF.js", "name": "index", "src": "pages/mannschaften/index.vue", "isDynamicEntry": true, @@ -616,7 +616,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BRhWghMt.js", + "file": "S5xR3JqC.js", "name": "spielplaene", "src": "pages/mannschaften/spielplaene.vue", "isDynamicEntry": true, @@ -649,7 +649,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DHyEjCGa.js", + "file": "Cx_3U4cr.js", "name": "mitglieder", "src": "pages/mitgliederbereich/mitglieder.vue", "isDynamicEntry": true, @@ -672,7 +672,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "B6D6IUyr.js", + "file": "pO5XAgdL.js", "name": "news", "src": "pages/mitgliederbereich/news.vue", "isDynamicEntry": true, @@ -694,7 +694,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "C9UhLsiJ.js", + "file": "CDaMcsB4.js", "name": "profil", "src": "pages/mitgliederbereich/profil.vue", "isDynamicEntry": true, @@ -711,7 +711,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BjiYAScN.js", + "file": "Zs8yqLLb.js", "name": "mitgliedschaft", "src": "pages/mitgliedschaft.vue", "isDynamicEntry": true, @@ -730,7 +730,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DxIIJuzj.js", + "file": "DYva3pFh.js", "name": "passwort-vergessen", "src": "pages/passwort-vergessen.vue", "isDynamicEntry": true, @@ -747,7 +747,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "Bn7G3VMx.js", + "file": "DeoKPvBx.js", "name": "registrieren", "src": "pages/registrieren.vue", "isDynamicEntry": true, @@ -779,7 +779,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BASo1Rw1.js", + "file": "BLmxLqU-.js", "name": "spielsysteme", "src": "pages/spielsysteme.vue", "isDynamicEntry": true, @@ -798,7 +798,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "BQa0cr2b.js", + "file": "BqZP274n.js", "name": "termine", "src": "pages/termine.vue", "isDynamicEntry": true, @@ -877,7 +877,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "CT6VfTlB.js", + "file": "C4R6hOY6.js", "name": "ueber-uns", "src": "pages/ueber-uns.vue", "isDynamicEntry": true, @@ -893,7 +893,7 @@ const client_manifest = { "module": true, "prefetch": true, "preload": true, - "file": "DHQur1V-.js", + "file": "DF1dYnic.js", "name": "vereinsmeisterschaften", "src": "pages/vereinsmeisterschaften.vue", "isDynamicEntry": true, diff --git a/.output/server/chunks/build/index-DkhqlVRY.mjs b/.output/server/chunks/build/index-BcEI2yju.mjs similarity index 93% rename from .output/server/chunks/build/index-DkhqlVRY.mjs rename to .output/server/chunks/build/index-BcEI2yju.mjs index 3fa9c15..ee9d5fb 100644 --- a/.output/server/chunks/build/index-DkhqlVRY.mjs +++ b/.output/server/chunks/build/index-BcEI2yju.mjs @@ -61,7 +61,6 @@ const _sfc_main$4 = { return monate[date.getMonth()]; }; return (_ctx, _push, _parent, _attrs) => { - const _component_NuxtLink = __nuxt_component_0$1; _push(`

Kommende Termine

`); if (naechsteTermine.value.length > 0) { _push(`
`); @@ -80,35 +79,6 @@ const _sfc_main$4 = { }, null, _parent)); _push(`

Keine kommenden Termine

`); } - if (naechsteTermine.value.length > 0) { - _push(`
`); - _push(ssrRenderComponent(_component_NuxtLink, { - to: "/termine", - class: "inline-flex items-center px-4 py-2 bg-primary-600 hover:bg-primary-700 text-white text-sm font-medium rounded-lg transition-colors" - }, { - default: withCtx((_, _push2, _parent2, _scopeId) => { - if (_push2) { - _push2(` Alle Termine anzeigen `); - _push2(ssrRenderComponent(unref(ArrowRight), { - size: 16, - class: "ml-1" - }, null, _parent2, _scopeId)); - } else { - return [ - createTextVNode(" Alle Termine anzeigen "), - createVNode(unref(ArrowRight), { - size: 16, - class: "ml-1" - }) - ]; - } - }), - _: 1 - }, _parent)); - _push(`
`); - } else { - _push(``); - } _push(``); }; } @@ -321,4 +291,4 @@ _sfc_main.setup = (props, ctx) => { }; export { _sfc_main as default }; -//# sourceMappingURL=index-DkhqlVRY.mjs.map +//# sourceMappingURL=index-BcEI2yju.mjs.map diff --git a/.output/server/chunks/build/index-BcEI2yju.mjs.map b/.output/server/chunks/build/index-BcEI2yju.mjs.map new file mode 100644 index 0000000..88c8c38 --- /dev/null +++ b/.output/server/chunks/build/index-BcEI2yju.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index-BcEI2yju.mjs","sources":["../../../../components/Hero.vue","../../../../components/TermineVorschau.vue","../../../../components/HomeTermine.vue","../../../../components/PublicNews.vue","../../../../components/HomeActions.vue","../../../../pages/index.vue"],"sourcesContent":null,"names":["_ssrInterpolate","_ssrRenderAttrs","_mergeProps","_push","_parent","_createVNode","_unref","_ssrRenderList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;IACW,EAAA,EAAG,MAAA;AAAA,IAAO,KAAA,EAAM;AAAA,GAAA,EAAA,MAAA,CAAA,CAAA,CAAA,0UAAA,EAAA,cAAA,CAQnB,EAAA,kBAAA,EAAA,kCAAA,EAAA,mBAAA,OAAA,EAAA,qBAAA,EAAA,UAAgH,CAAA,CAAA,wnBAAA,CAAA,CAAA;;;;;;;;;;;;;ACsCxH,IAAA,MAAM,OAAA,GAAU,GAAA,CAAI,EAAE,CAAA;AAEtB,IAAA,MAAM,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,MAAM,KAAA,uBAAY,IAAA,EAAI;AACtB,MAAA,OAAA,CAAQ,GAAA,CAAI,cAAc,KAAA,CAAM,WAAA,GAAc,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA;AAE3D,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,KAAA,CACtB,MAAA,CAAO,CAAA,CAAA,KAAK;AACX,QAAA,MAAM,WAAA,GAAc,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAA;AACpC,QAAA,MAAM,aAAa,WAAA,IAAe,KAAA;AAClC,QAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,OAAA,EAAU,CAAA,CAAE,KAAK,CAAA,EAAA,EAAK,CAAA,CAAE,KAAK,CAAA,GAAA,EAAM,UAAA,GAAa,SAAA,GAAY,aAAa,CAAA,CAAE,CAAA;AACvF,QAAA,OAAO,UAAA;AAAA,MACT,CAAC,CAAA,CACA,IAAA,CAAK,CAAC,GAAG,CAAA,KAAM,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAA,GAAI,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAC,CAAA;AAEvD,MAAA,OAAA,CAAQ,GAAA,CAAI,qBAAqB,QAAQ,CAAA;AACzC,MAAA,OAAO,QAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,SAAA,GAAY,CAAC,UAAA,KAAe;AAChC,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,OAAO,KAAK,OAAA,EAAO;AAAA,IACrB,CAAA;AAEA,IAAA,MAAM,WAAA,GAAc,CAAC,UAAA,KAAe;AAClC,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,MAAM,MAAA,GAAS,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AAClG,MAAA,OAAO,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,CAAA;AAAA,IAC/B,CAAA;;;AAlEiB,MAAA,IAAA,eAAA,CAAA,KAAA,CAAgB,MAAA,GAAM,CAAA,EAAA;;sBAEH,eAAA,CAAA,KAAA,EAAe,CAAjC,MAAA,EAAQ,KAAA,KAAK;AAON,UAAA,KAAA,CAAA,CAAA,iSAAA,EAAA,cAAA,CAAA,SAAA,CAAU,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA,aAAA,EAAA,cAAA,CACtB,YAAY,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA,0DAAA,EAGUA,eAAA,MAAA,CAAO,KAAK,CAAA,CAAA,sCAAA,EACnBA,cAAAA,CAAA,OAAO,YAAY,CAAA,CAAA,6BAAA,EAAA,cAAA,CAAA;;YAG+B,MAAA,CAAO,SAAA,KAAS,YAAA,+BAAA,GAAA;AAAA,WAAA,CAAA,CAAA,EAAA,EAIrGA,cAAAA,CAAA,OAAO,SAAS,CAAA,CAAA,mBAAA,CAAA,CAAA;;;;;;UAOd,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;ACpCxB,MAAA,KAAA,CAAA,CAAA,QAAA,EAAAC,eAAAC,UAAAA,CAAA,EAAA,OAAM,2BAAA,EAAA,EAA2B,MAAA,CAAA,CAAA,CAAA,mRAAA,CAAA,CAAA;;;;QAelC,EAAA,EAAG,UAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAMW,CAAA,EAAAC,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cADI,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;8BAF9B,yBAEC,CAAA;AAAA,cAAAC,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,gBAAzB,IAAA,EAAM,EAAA;AAAA,gBAAI,KAAA,EAAM;AAAA,eAAA;;;;;;;;;;;;;;;;;;;;ACqBvC,IAAA,MAAM,IAAA,GAAO,GAAA,CAAI,EAAE,CAAA;AAWnB,IAAA,MAAM,UAAA,GAAa,CAAC,UAAA,KAAe;AACjC,MAAA,IAAI,CAAC,YAAY,OAAO,EAAA;AACxB,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,OAAO,IAAA,CAAK,mBAAmB,OAAA,EAAS;AAAA,QACtC,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO,MAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN,CAAA;AAAA,IACH,CAAA;;AA3DiB,MAAA,IAAA,IAAA,CAAA,KAAA,CAAK,MAAA,GAAM,CAAA,EAAA;AAAM,QAAA,KAAA,CAAA,CAAA,QAAA,EAAAL,eAAAC,UAAAA,CAAA,EAAA,OAAM,yBAAA,EAAA,EAAyB,MAAA,CAAA,CAAA,CAAA,+fAAA,CAAA,CAAA;AAcxCK,QAAAA,aAAAA,CAAA,IAAA,CAAA,QAAR,IAAA,KAAI;;;YAKE,IAAA,EAAM,EAAA;AAAA,YAAI,KAAA,EAAM;AAAA,WAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;mCACxB,UAAA,CAAW,IAAA,CAAK,OAAO,CAAA,CAAA,CAAA,oFAAA,EAIvBP,cAAAA,CAAA,KAAK,KAAK,CAAA,CAAA,2DAAA,EAIVA,cAAAA,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA,cAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AC5BhB,MAAA,KAAA,CAAA,CAAA,QAAA,EAAAC,eAAAC,UAAAA,CAAA,EAAA,OAAM,uDAAA,EAAA,EAAuD,MAAA,CAAA,CAAA,CAAA,8GAAA,CAAA,CAAA;;QAK9D,EAAA,EAAG,iBAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAoBW,CAAA,EAAAC,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cAdM,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;cAYhB,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;;AAd/BC,cAAAA,WAAAA,CAOM,KAAA,EAAA,EAPD,KAAA,EAAM,wBAAA,EAAwB,EAAA;AAAA,gBACjCA,WAAAA,CAEM,KAAA,EAAA,EAFD,KAAA,EAAM,qHAAmH,EAAA;AAAA,kBAC5HA,WAAAA,CAAyFC,KAAAA,CAAA,QAAA,CAAA,EAAA;AAAA,oBAA9E,IAAA,EAAM,EAAA;AAAA,oBAAI,KAAA,EAAM;AAAA,mBAAA;;AAE7BD,gBAAAA,WAAAA,CAEK,IAAA,EAAA,EAFD,KAAA,EAAM,oDAAA,IAAqD,mBAE/D;AAAA,eAAA,CAAA;AAEFA,cAAAA,WAAAA,CAGI,GAAA,EAAA,EAHD,KAAA,EAAM,oBAAA,IAAqB,wIAG9B,CAAA;AAAA,cACAA,WAAAA,CAGM,KAAA,EAAA,EAHD,KAAA,EAAM,mGAAiG,EAAA;AAAA,gBAAA,eAAA,CAAC,iBAE3G,CAAA;AAAA,gBAAAA,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,kBAAzB,IAAA,EAAM,EAAA;AAAA,kBAAI,KAAA,EAAM;AAAA,iBAAA;;;;;;;;QAM/B,EAAA,EAAG,UAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAoBW,CAAA,EAAAH,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cAdE,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;cAYZ,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;;AAd/BC,cAAAA,WAAAA,CAOM,KAAA,EAAA,EAPD,KAAA,EAAM,wBAAA,EAAwB,EAAA;AAAA,gBACjCA,WAAAA,CAEM,KAAA,EAAA,EAFD,KAAA,EAAM,qHAAmH,EAAA;AAAA,kBAC5HA,WAAAA,CAAqFC,KAAAA,CAAA,IAAA,CAAA,EAAA;AAAA,oBAA9E,IAAA,EAAM,EAAA;AAAA,oBAAI,KAAA,EAAM;AAAA,mBAAA;;AAEzBD,gBAAAA,WAAAA,CAEK,IAAA,EAAA,EAFD,KAAA,EAAM,oDAAA,IAAqD,qBAE/D;AAAA,eAAA,CAAA;AAEFA,cAAAA,WAAAA,CAGI,GAAA,EAAA,EAHD,KAAA,EAAM,oBAAA,IAAqB,+GAG9B,CAAA;AAAA,cACAA,WAAAA,CAGM,KAAA,EAAA,EAHD,KAAA,EAAM,mGAAiG,EAAA;AAAA,gBAAA,eAAA,CAAC,sBAE3G,CAAA;AAAA,gBAAAA,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,kBAAzB,IAAA,EAAM,EAAA;AAAA,kBAAI,KAAA,EAAM;AAAA,iBAAA;;;;;;;;;;;;;;;;;;;;;;AC7ClC,MAAA,KAAA,CAAA,CAAA,IAAA,EAAAL,eAAAC,UAAAA,CAAA,EAAA,OAAM,YAAA,EAAA,EAAY,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/build/index-DkhqlVRY.mjs.map b/.output/server/chunks/build/index-DkhqlVRY.mjs.map deleted file mode 100644 index 1d3776c..0000000 --- a/.output/server/chunks/build/index-DkhqlVRY.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-DkhqlVRY.mjs","sources":["../../../../components/Hero.vue","../../../../components/TermineVorschau.vue","../../../../components/HomeTermine.vue","../../../../components/PublicNews.vue","../../../../components/HomeActions.vue","../../../../pages/index.vue"],"sourcesContent":null,"names":["_ssrInterpolate","_push","_parent","_createVNode","_unref","_ssrRenderAttrs","_mergeProps","_ssrRenderList"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;IACW,EAAA,EAAG,MAAA;AAAA,IAAO,KAAA,EAAM;AAAA,GAAA,EAAA,MAAA,CAAA,CAAA,CAAA,0UAAA,EAAA,cAAA,CAQnB,EAAA,kBAAA,EAAA,kCAAA,EAAA,mBAAA,OAAA,EAAA,qBAAA,EAAA,UAAgH,CAAA,CAAA,wnBAAA,CAAA,CAAA;;;;;;;;;;;;;ACgDxH,IAAA,MAAM,OAAA,GAAU,GAAA,CAAI,EAAE,CAAA;AAEtB,IAAA,MAAM,eAAA,GAAkB,SAAS,MAAM;AACrC,MAAA,MAAM,KAAA,uBAAY,IAAA,EAAI;AACtB,MAAA,OAAA,CAAQ,GAAA,CAAI,cAAc,KAAA,CAAM,WAAA,GAAc,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAC,CAAA;AAE3D,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,KAAA,CACtB,MAAA,CAAO,CAAA,CAAA,KAAK;AACX,QAAA,MAAM,WAAA,GAAc,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAA;AACpC,QAAA,MAAM,aAAa,WAAA,IAAe,KAAA;AAClC,QAAA,OAAA,CAAQ,GAAA,CAAI,CAAA,OAAA,EAAU,CAAA,CAAE,KAAK,CAAA,EAAA,EAAK,CAAA,CAAE,KAAK,CAAA,GAAA,EAAM,UAAA,GAAa,SAAA,GAAY,aAAa,CAAA,CAAE,CAAA;AACvF,QAAA,OAAO,UAAA;AAAA,MACT,CAAC,CAAA,CACA,IAAA,CAAK,CAAC,GAAG,CAAA,KAAM,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAA,GAAI,IAAI,IAAA,CAAK,CAAA,CAAE,KAAK,CAAC,CAAA;AAEvD,MAAA,OAAA,CAAQ,GAAA,CAAI,qBAAqB,QAAQ,CAAA;AACzC,MAAA,OAAO,QAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,MAAM,SAAA,GAAY,CAAC,UAAA,KAAe;AAChC,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,OAAO,KAAK,OAAA,EAAO;AAAA,IACrB,CAAA;AAEA,IAAA,MAAM,WAAA,GAAc,CAAC,UAAA,KAAe;AAClC,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,MAAM,MAAA,GAAS,CAAC,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK,CAAA;AAClG,MAAA,OAAO,MAAA,CAAO,IAAA,CAAK,QAAA,EAAU,CAAA;AAAA,IAC/B,CAAA;;;;AA5EiB,MAAA,IAAA,eAAA,CAAA,KAAA,CAAgB,MAAA,GAAM,CAAA,EAAA;;sBAEH,eAAA,CAAA,KAAA,EAAe,CAAjC,MAAA,EAAQ,KAAA,KAAK;AAON,UAAA,KAAA,CAAA,CAAA,iSAAA,EAAA,cAAA,CAAA,SAAA,CAAU,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA,aAAA,EAAA,cAAA,CACtB,YAAY,MAAA,CAAO,KAAK,CAAA,CAAA,CAAA,0DAAA,EAGUA,eAAA,MAAA,CAAO,KAAK,CAAA,CAAA,sCAAA,EACnBA,cAAAA,CAAA,OAAO,YAAY,CAAA,CAAA,6BAAA,EAAA,cAAA,CAAA;;YAG+B,MAAA,CAAO,SAAA,KAAS,YAAA,+BAAA,GAAA;AAAA,WAAA,CAAA,CAAA,EAAA,EAIrGA,cAAAA,CAAA,OAAO,SAAS,CAAA,CAAA,mBAAA,CAAA,CAAA;;;;;;UAOd,IAAA,EAAM,EAAA;AAAA,UAAI,KAAA,EAAM;AAAA,SAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;;;AAIlB,MAAA,IAAA,eAAA,CAAA,KAAA,CAAgB,MAAA,GAAM,CAAA,EAAA;;;UAE7B,EAAA,EAAG,UAAA;AAAA,UACH,KAAA,EAAM;AAAA,SAAA,EAAA;2BAFR,CAMW,CAAA,EAAAC,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;gBADI,IAAA,EAAM,EAAA;AAAA,gBAAI,KAAA,EAAM;AAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;gCAF9B,yBAEC,CAAA;AAAA,gBAAAC,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,kBAAzB,IAAA,EAAM,EAAA;AAAA,kBAAI,KAAA,EAAM;AAAA,iBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AC9C5B,MAAA,KAAA,CAAA,CAAA,QAAA,EAAAC,eAAAC,UAAAA,CAAA,EAAA,OAAM,2BAAA,EAAA,EAA2B,MAAA,CAAA,CAAA,CAAA,mRAAA,CAAA,CAAA;;;;QAelC,EAAA,EAAG,UAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAMW,CAAA,EAAAL,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cADI,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;8BAF9B,yBAEC,CAAA;AAAA,cAAAC,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,gBAAzB,IAAA,EAAM,EAAA;AAAA,gBAAI,KAAA,EAAM;AAAA,eAAA;;;;;;;;;;;;;;;;;;;;ACqBvC,IAAA,MAAM,IAAA,GAAO,GAAA,CAAI,EAAE,CAAA;AAWnB,IAAA,MAAM,UAAA,GAAa,CAAC,UAAA,KAAe;AACjC,MAAA,IAAI,CAAC,YAAY,OAAO,EAAA;AACxB,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,UAAU,CAAA;AAChC,MAAA,OAAO,IAAA,CAAK,mBAAmB,OAAA,EAAS;AAAA,QACtC,IAAA,EAAM,SAAA;AAAA,QACN,KAAA,EAAO,MAAA;AAAA,QACP,GAAA,EAAK;AAAA,OACN,CAAA;AAAA,IACH,CAAA;;AA3DiB,MAAA,IAAA,IAAA,CAAA,KAAA,CAAK,MAAA,GAAM,CAAA,EAAA;AAAM,QAAA,KAAA,CAAA,CAAA,QAAA,EAAAC,eAAAC,UAAAA,CAAA,EAAA,OAAM,yBAAA,EAAA,EAAyB,MAAA,CAAA,CAAA,CAAA,+fAAA,CAAA,CAAA;AAcxCC,QAAAA,aAAAA,CAAA,IAAA,CAAA,QAAR,IAAA,KAAI;;;YAKE,IAAA,EAAM,EAAA;AAAA,YAAI,KAAA,EAAM;AAAA,WAAA,EAAA,IAAA,EAAA,OAAA,CAAA,CAAA;mCACxB,UAAA,CAAW,IAAA,CAAK,OAAO,CAAA,CAAA,CAAA,oFAAA,EAIvBP,cAAAA,CAAA,KAAK,KAAK,CAAA,CAAA,2DAAA,EAIVA,cAAAA,CAAA,IAAA,CAAK,OAAO,CAAA,CAAA,cAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AC5BhB,MAAA,KAAA,CAAA,CAAA,QAAA,EAAAK,eAAAC,UAAAA,CAAA,EAAA,OAAM,uDAAA,EAAA,EAAuD,MAAA,CAAA,CAAA,CAAA,8GAAA,CAAA,CAAA;;QAK9D,EAAA,EAAG,iBAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAoBW,CAAA,EAAAL,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cAdM,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;cAYhB,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;;AAd/BC,cAAAA,WAAAA,CAOM,KAAA,EAAA,EAPD,KAAA,EAAM,wBAAA,EAAwB,EAAA;AAAA,gBACjCA,WAAAA,CAEM,KAAA,EAAA,EAFD,KAAA,EAAM,qHAAmH,EAAA;AAAA,kBAC5HA,WAAAA,CAAyFC,KAAAA,CAAA,QAAA,CAAA,EAAA;AAAA,oBAA9E,IAAA,EAAM,EAAA;AAAA,oBAAI,KAAA,EAAM;AAAA,mBAAA;;AAE7BD,gBAAAA,WAAAA,CAEK,IAAA,EAAA,EAFD,KAAA,EAAM,oDAAA,IAAqD,mBAE/D;AAAA,eAAA,CAAA;AAEFA,cAAAA,WAAAA,CAGI,GAAA,EAAA,EAHD,KAAA,EAAM,oBAAA,IAAqB,wIAG9B,CAAA;AAAA,cACAA,WAAAA,CAGM,KAAA,EAAA,EAHD,KAAA,EAAM,mGAAiG,EAAA;AAAA,gBAAA,eAAA,CAAC,iBAE3G,CAAA;AAAA,gBAAAA,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,kBAAzB,IAAA,EAAM,EAAA;AAAA,kBAAI,KAAA,EAAM;AAAA,iBAAA;;;;;;;;QAM/B,EAAA,EAAG,UAAA;AAAA,QACH,KAAA,EAAM;AAAA,OAAA,EAAA;yBAFR,CAoBW,CAAA,EAAAH,MAAAA,EAAAC,QAAAA,EAAA,QAAA,KAAA;;;;cAdE,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;cAYZ,IAAA,EAAM,EAAA;AAAA,cAAI,KAAA,EAAM;AAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,QAAA,CAAA,CAAA;;;;AAd/BC,cAAAA,WAAAA,CAOM,KAAA,EAAA,EAPD,KAAA,EAAM,wBAAA,EAAwB,EAAA;AAAA,gBACjCA,WAAAA,CAEM,KAAA,EAAA,EAFD,KAAA,EAAM,qHAAmH,EAAA;AAAA,kBAC5HA,WAAAA,CAAqFC,KAAAA,CAAA,IAAA,CAAA,EAAA;AAAA,oBAA9E,IAAA,EAAM,EAAA;AAAA,oBAAI,KAAA,EAAM;AAAA,mBAAA;;AAEzBD,gBAAAA,WAAAA,CAEK,IAAA,EAAA,EAFD,KAAA,EAAM,oDAAA,IAAqD,qBAE/D;AAAA,eAAA,CAAA;AAEFA,cAAAA,WAAAA,CAGI,GAAA,EAAA,EAHD,KAAA,EAAM,oBAAA,IAAqB,+GAG9B,CAAA;AAAA,cACAA,WAAAA,CAGM,KAAA,EAAA,EAHD,KAAA,EAAM,mGAAiG,EAAA;AAAA,gBAAA,eAAA,CAAC,sBAE3G,CAAA;AAAA,gBAAAA,WAAAA,CAAsCC,KAAAA,CAAA,UAAA,CAAA,EAAA;AAAA,kBAAzB,IAAA,EAAM,EAAA;AAAA,kBAAI,KAAA,EAAM;AAAA,iBAAA;;;;;;;;;;;;;;;;;;;;;;AC7ClC,MAAA,KAAA,CAAA,CAAA,IAAA,EAAAC,eAAAC,UAAAA,CAAA,EAAA,OAAM,YAAA,EAAA,EAAY,MAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;"} \ No newline at end of file diff --git a/.output/server/chunks/build/server.mjs b/.output/server/chunks/build/server.mjs index 79d1353..d8d5d43 100644 --- a/.output/server/chunks/build/server.mjs +++ b/.output/server/chunks/build/server.mjs @@ -422,7 +422,7 @@ const _routes = [ { name: "index", path: "/", - component: () => import('./index-DkhqlVRY.mjs') + component: () => import('./index-BcEI2yju.mjs') }, { name: "login", diff --git a/.output/server/chunks/nitro/nitro.mjs b/.output/server/chunks/nitro/nitro.mjs index ff886e2..633b56c 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": "c99a6acf-946d-42bb-a8bc-809fc49bc3b8", + "buildId": "c7b0744b-853d-4a6f-b9fa-7d1f201a383a", "buildAssetsDir": "/_nuxt/", "cdnURL": "" }, @@ -4738,579 +4738,579 @@ const plugins = [ ]; const assets = { + "/images/club_about_us.png": { + "type": "image/png", + "etag": "\"202e56-s4fLsHEgoAgKJeBRuI1qxPmqHV0\"", + "mtime": "2025-10-21T14:23:13.880Z", + "size": 2109014, + "path": "../public/images/club_about_us.png" + }, "/documents/Tischtennisregeln light.pdf": { "type": "application/pdf", "etag": "\"5177b-y/88q2+Y3RRechJMqWhse21KRdQ\"", - "mtime": "2025-10-21T14:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "size": 333691, "path": "../public/documents/Tischtennisregeln light.pdf" }, "/documents/satzung.pdf": { "type": "application/pdf", "etag": "\"5c7cf-L0A3nT8D24T9sD57FFbij3QRpzw\"", - "mtime": "2025-10-21T14:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "size": 378831, "path": "../public/documents/satzung.pdf" }, "/data/mannschaften.csv": { "type": "text/csv; charset=utf-8", "etag": "\"858-l94GKn8Q0I5RQnhrM0ZPJsYUmcw\"", - "mtime": "2025-10-21T14:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "size": 2136, "path": "../public/data/mannschaften.csv" }, "/data/spielsysteme.csv": { "type": "text/csv; charset=utf-8", "etag": "\"9bc-4npLrNHYClsD0TKV5vSifxitfV0\"", - "mtime": "2025-10-21T14:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "size": 2492, "path": "../public/data/spielsysteme.csv" }, "/data/termine.csv": { "type": "text/csv; charset=utf-8", "etag": "\"91-TO3ZO4MdjBcYgGXZQ1ZuM6BIMbg\"", - "mtime": "2025-10-21T14:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "size": 145, "path": "../public/data/termine.csv" }, "/data/vereinsmeisterschaften.csv": { "type": "text/csv; charset=utf-8", "etag": "\"989-X8AB+Zegy2xUbjDtbQcXhuuyBDQ\"", - "mtime": "2025-10-21T14:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "size": 2441, "path": "../public/data/vereinsmeisterschaften.csv" }, - "/images/club_about_us.png": { - "type": "image/png", - "etag": "\"202e56-s4fLsHEgoAgKJeBRuI1qxPmqHV0\"", - "mtime": "2025-10-21T14:21:21.695Z", - "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:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "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:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "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:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "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:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "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:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "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:21:21.695Z", + "mtime": "2025-10-21T14:23:13.880Z", "size": 21225, "path": "../public/spielplaene/Jugend 11 2025⁄2026.pdf" }, + "/_nuxt/5cTtis_o.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"3364e-rQGtlvqC4GCMwvm8PP8U/ADC0tQ\"", + "mtime": "2025-10-21T14:23:13.876Z", + "size": 210510, + "path": "../public/_nuxt/5cTtis_o.js" + }, "/_nuxt/6EY4_GXp.js": { "type": "text/javascript; charset=utf-8", "etag": "\"19e-CzjelZROfgCPWyXIjP0DPtd+UHQ\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.876Z", "size": 414, "path": "../public/_nuxt/6EY4_GXp.js" }, "/_nuxt/B23trXK4.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1168-Ulrp7wDqGkKdNtiJFHTxmUmXldI\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.876Z", "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:21:21.691Z", + "mtime": "2025-10-21T14:23:13.876Z", "size": 2079, "path": "../public/_nuxt/B3KXwwdt.js" }, "/_nuxt/B4mSF5Ac.js": { "type": "text/javascript; charset=utf-8", "etag": "\"185-hHs3mU4qOcQAkGQaPrUYGaG0yao\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.876Z", "size": 389, "path": "../public/_nuxt/B4mSF5Ac.js" }, - "/_nuxt/B6D6IUyr.js": { + "/_nuxt/B6R2Q32I.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1caa-f0LHEJnh8vjws3WqSSLU08uswXA\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 7338, - "path": "../public/_nuxt/B6D6IUyr.js" - }, - "/_nuxt/B6TEfPSg.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"faa-eKvxmyzZhwTvzR8CVB/YoBNhWPw\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 4010, - "path": "../public/_nuxt/B6TEfPSg.js" - }, - "/_nuxt/BASo1Rw1.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1a9f-AETC+kRrTxOyu6uck7TEQ709m7k\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 6815, - "path": "../public/_nuxt/BASo1Rw1.js" + "etag": "\"201e-GGMCGamCalF6U5Sbg/B20sKxrIo\"", + "mtime": "2025-10-21T14:23:13.876Z", + "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:21:21.691Z", + "mtime": "2025-10-21T14:23:13.876Z", "size": 373, "path": "../public/_nuxt/BC4PNGtJ.js" }, - "/_nuxt/BGsE9M8w.js": { + "/_nuxt/BLmxLqU-.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1dc5-wDAFBA19AfN1chv6Fou4TR+Ocyk\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 7621, - "path": "../public/_nuxt/BGsE9M8w.js" - }, - "/_nuxt/BQa0cr2b.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"c5c-+6YKNFSM++Sk5v3/F3iSntXCKCY\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 3164, - "path": "../public/_nuxt/BQa0cr2b.js" - }, - "/_nuxt/BRhWghMt.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"16e9-77KyMLdoERbk/9I/4xig919AOCQ\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 5865, - "path": "../public/_nuxt/BRhWghMt.js" - }, - "/_nuxt/BU5mk92E.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"2029-KCj/1gSBJVISCuMvs9MA7PoIdnY\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 8233, - "path": "../public/_nuxt/BU5mk92E.js" + "etag": "\"1a9f-eYz55V0eO8N4bvdty9x8JBG5qIw\"", + "mtime": "2025-10-21T14:23:13.876Z", + "size": 6815, + "path": "../public/_nuxt/BLmxLqU-.js" }, "/_nuxt/BZLaJF8o.js": { "type": "text/javascript; charset=utf-8", "etag": "\"685-ABktMZGm1wLg51VMeeUc8FwDm3U\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.876Z", "size": 1669, "path": "../public/_nuxt/BZLaJF8o.js" }, - "/_nuxt/BjiYAScN.js": { + "/_nuxt/B_w5gbrC.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"13f6-Hw3IRFNgh5L2rLxP61MG/cT8NzA\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 5110, - "path": "../public/_nuxt/BjiYAScN.js" + "etag": "\"1dc0-VemUVNnKtYX+T2aPkZsAvATr8cU\"", + "mtime": "2025-10-21T14:23:13.876Z", + "size": 7616, + "path": "../public/_nuxt/B_w5gbrC.js" }, - "/_nuxt/Bn7G3VMx.js": { + "/_nuxt/Bivc7aFF.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"16eb-6SRn6aWwajUUKphf99cu+aqdGpU\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 5867, - "path": "../public/_nuxt/Bn7G3VMx.js" + "etag": "\"2029-cRwtIdVsJWLW1S5Bl927TM/rr0o\"", + "mtime": "2025-10-21T14:23:13.876Z", + "size": 8233, + "path": "../public/_nuxt/Bivc7aFF.js" + }, + "/_nuxt/BpS9ghZc.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1556-fAs7WNw+3yw3iFD9Rkes1ZuBW60\"", + "mtime": "2025-10-21T14:23:13.876Z", + "size": 5462, + "path": "../public/_nuxt/BpS9ghZc.js" + }, + "/_nuxt/BqZP274n.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"c5c-+adaLKVcGsLD+mC5x2NddJAVdgw\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 3164, + "path": "../public/_nuxt/BqZP274n.js" }, "/_nuxt/BteKZQ9T.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1ea-kmrGdt5SPmt15EiBI7kR9gXMQM0\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 490, "path": "../public/_nuxt/BteKZQ9T.js" }, "/_nuxt/BxR6w-Hd.js": { "type": "text/javascript; charset=utf-8", "etag": "\"5f0-Wm3M/7i81O9ViLRC6jPn0eQp24g\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 1520, "path": "../public/_nuxt/BxR6w-Hd.js" }, "/_nuxt/C-bqeYjt.js": { "type": "text/javascript; charset=utf-8", "etag": "\"3513-AcHmeXV6b+tvCtqgBG6EnnxPL8w\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 13587, "path": "../public/_nuxt/C-bqeYjt.js" }, "/_nuxt/C1eD6HzQ.js": { "type": "text/javascript; charset=utf-8", "etag": "\"abb-rmFamqyRm9KsgptRPeFJlFZ7AdI\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "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:23:13.877Z", + "size": 6240, + "path": "../public/_nuxt/C3627_Er.js" + }, + "/_nuxt/C4R6hOY6.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"10bb-IFhPwZ6E4TaxzCyK2QdjWUb7h8s\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 4283, + "path": "../public/_nuxt/C4R6hOY6.js" + }, "/_nuxt/C5SyyWEb.js": { "type": "text/javascript; charset=utf-8", "etag": "\"2a5-06iX+CL3i0ysaqW9nu7Eg2YzDhQ\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 677, "path": "../public/_nuxt/C5SyyWEb.js" }, - "/_nuxt/C5WkR1xp.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"b10-7bTi/rXEsVv7CfCAujimlOWU3q0\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 2832, - "path": "../public/_nuxt/C5WkR1xp.js" - }, "/_nuxt/C8kQt0fa.js": { "type": "text/javascript; charset=utf-8", "etag": "\"197-7X99z1xphxry8OnMwU7Ofs/uE0Q\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 407, "path": "../public/_nuxt/C8kQt0fa.js" }, "/_nuxt/C9SglkVL.js": { "type": "text/javascript; charset=utf-8", "etag": "\"ee2-953PjDhBAep38tbBTU3/pMqFyww\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 3810, "path": "../public/_nuxt/C9SglkVL.js" }, - "/_nuxt/C9UhLsiJ.js": { + "/_nuxt/CASz9Fiv.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1744-UhJxrXDy4uAkLfPpSs6j/m/gx64\"", - "mtime": "2025-10-21T14:21:21.691Z", + "etag": "\"ee9-sKp1Omp9LQhv9a6ab9xk8naHK9k\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 3817, + "path": "../public/_nuxt/CASz9Fiv.js" + }, + "/_nuxt/CDaMcsB4.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1744-EVBf4KmUuGbFen1F02KGsrF+hGI\"", + "mtime": "2025-10-21T14:23:13.877Z", "size": 5956, - "path": "../public/_nuxt/C9UhLsiJ.js" + "path": "../public/_nuxt/CDaMcsB4.js" }, "/_nuxt/CI8YYLGa.js": { "type": "text/javascript; charset=utf-8", "etag": "\"d8b-SdM/XDodrfUIexPUk7MhxL0ud70\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 3467, "path": "../public/_nuxt/CI8YYLGa.js" }, - "/_nuxt/COK-PGSA.js": { + "/_nuxt/CJ4iaRop.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1556-zTPwefaXANTxfUv6X27Ctd3j468\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 5462, - "path": "../public/_nuxt/COK-PGSA.js" - }, - "/_nuxt/CT6VfTlB.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"10bb-m3q/ne67feCvdLmlKowXgEW18XE\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 4283, - "path": "../public/_nuxt/CT6VfTlB.js" + "etag": "\"b10-OECled9SRrrXt0OinwRJj2Ix5YM\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 2832, + "path": "../public/_nuxt/CJ4iaRop.js" }, "/_nuxt/CTuRK0lH.js": { "type": "text/javascript; charset=utf-8", "etag": "\"177f-9AHJLxzT1QXHm05RkMKEx5CuaVU\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 6015, "path": "../public/_nuxt/CTuRK0lH.js" }, "/_nuxt/CUq_0rkE.js": { "type": "text/javascript; charset=utf-8", "etag": "\"12d-JV4KW1fgT85/V3Ap13X4q2h9U3g\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 301, "path": "../public/_nuxt/CUq_0rkE.js" }, "/_nuxt/CW9krljs.js": { "type": "text/javascript; charset=utf-8", "etag": "\"dbf-R7lqTpP/JoeELqrwiRklrTVdlP0\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 3519, "path": "../public/_nuxt/CW9krljs.js" }, "/_nuxt/CWEkTB1z.js": { "type": "text/javascript; charset=utf-8", "etag": "\"198-ej4DRqc3/5nSwWU3c6wbOD3Ib9w\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "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:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 319, "path": "../public/_nuxt/C_U-NUAd.js" }, - "/_nuxt/C_WhudVk.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1bf1-XdN7fXc2gdc10e+UjwTP0N6qVlM\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 7153, - "path": "../public/_nuxt/C_WhudVk.js" - }, "/_nuxt/CkzaQq3X.js": { "type": "text/javascript; charset=utf-8", "etag": "\"17d-+xKrHjeww4bpFFkkjUNLD/ebn5A\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 381, "path": "../public/_nuxt/CkzaQq3X.js" }, "/_nuxt/CrCcIvVp.js": { "type": "text/javascript; charset=utf-8", "etag": "\"274-9U7hEMtgHqdnQopnKeJsBKqKyKw\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 628, "path": "../public/_nuxt/CrCcIvVp.js" }, - "/_nuxt/CvtlfSR0.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"1860-M3/zR8vfhVWmJ6erGqFzdHXQXuE\"", - "mtime": "2025-10-21T14:21:21.691Z", - "size": 6240, - "path": "../public/_nuxt/CvtlfSR0.js" - }, "/_nuxt/Cx4UcKGu.js": { "type": "text/javascript; charset=utf-8", "etag": "\"19d-5AMD0EnFEjOkM3qKDpC/NZZzwDI\"", - "mtime": "2025-10-21T14:21:21.691Z", + "mtime": "2025-10-21T14:23:13.877Z", "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:23:13.877Z", + "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:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 357, "path": "../public/_nuxt/Czdc6-TI.js" }, - "/_nuxt/D11oUMHK.js": { + "/_nuxt/CzgMfPlN.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1d9a-l6JEyKxxIcbq3Kkksqm5qE2ZWj4\"", - "mtime": "2025-10-21T14:21:21.692Z", + "etag": "\"1d9a-uI9Gu5wonCfTrcA2TPR74Z738js\"", + "mtime": "2025-10-21T14:23:13.877Z", "size": 7578, - "path": "../public/_nuxt/D11oUMHK.js" - }, - "/_nuxt/D2MkqZXd.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"3364e-h9lYi6KbUqjevokSh2PE0cbyFTg\"", - "mtime": "2025-10-21T14:21:21.692Z", - "size": 210510, - "path": "../public/_nuxt/D2MkqZXd.js" + "path": "../public/_nuxt/CzgMfPlN.js" }, "/_nuxt/D99LnZYi.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1bdb-/r79rlmI33Ifam5FH18djsiUTQ8\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 7131, "path": "../public/_nuxt/D99LnZYi.js" }, "/_nuxt/DAACT36i.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1f9-dVOk5jAwb0VlMLJevIcT+s2NTgM\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 505, "path": "../public/_nuxt/DAACT36i.js" }, - "/_nuxt/DHQur1V-.js": { + "/_nuxt/DCC-mN0A.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"1827-DA/YFWxSxxRm0zvcpiuZvwwfzNE\"", - "mtime": "2025-10-21T14:21:21.692Z", - "size": 6183, - "path": "../public/_nuxt/DHQur1V-.js" + "etag": "\"faa-gR+Y5ET9eX9AUBll6ClCrUgMFfM\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 4010, + "path": "../public/_nuxt/DCC-mN0A.js" }, - "/_nuxt/DHyEjCGa.js": { + "/_nuxt/DDYB2ueJ.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"32fe-VSxurpuilGQ4TRWdhAA33cNuch8\"", - "mtime": "2025-10-21T14:21:21.692Z", - "size": 13054, - "path": "../public/_nuxt/DHyEjCGa.js" + "etag": "\"1bf1-tbqPDIoIIOyOPuxr7lu+9bz6I9A\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 7153, + "path": "../public/_nuxt/DDYB2ueJ.js" }, - "/_nuxt/DO_5fT64.js": { + "/_nuxt/DF1dYnic.js": { "type": "text/javascript; charset=utf-8", - "etag": "\"ee9-WtDRTNEDfy6I0NU2Tqtbk59RKXQ\"", - "mtime": "2025-10-21T14:21:21.692Z", - "size": 3817, - "path": "../public/_nuxt/DO_5fT64.js" + "etag": "\"1822-F6/LMMvYSDyJLbWtmIcGXOjwdVI\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 6178, + "path": "../public/_nuxt/DF1dYnic.js" + }, + "/_nuxt/DYva3pFh.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"bf0-VZJ4omCiGedJWNFfqojHT+R0eEg\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 3056, + "path": "../public/_nuxt/DYva3pFh.js" }, "/_nuxt/DaSgy0Cl.js": { "type": "text/javascript; charset=utf-8", "etag": "\"11f-soKnh1qfNJj5nvt+IcgQXYvg/z4\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 287, "path": "../public/_nuxt/DaSgy0Cl.js" }, "/_nuxt/DdHhmCne.js": { "type": "text/javascript; charset=utf-8", "etag": "\"22d-uKYfhsDcUsz2NrXOJmxptUGZdyE\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 557, "path": "../public/_nuxt/DdHhmCne.js" }, + "/_nuxt/DeoKPvBx.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"16eb-TpYobwJ2U3v+YsJtPupLa/phq5M\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 5867, + "path": "../public/_nuxt/DeoKPvBx.js" + }, "/_nuxt/DjcJk1g8.js": { "type": "text/javascript; charset=utf-8", "etag": "\"201d-oQ9NMDE0anKxIZA105IRItTlM2w\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 8221, "path": "../public/_nuxt/DjcJk1g8.js" }, "/_nuxt/DkeYb0_S.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1ce-xiaAbRvqQ+zffTXF3Gc7rq14R0U\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "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:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 91, "path": "../public/_nuxt/DlAUqK2U.js" }, - "/_nuxt/DxIIJuzj.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"bf0-Q7VHINZ8z6pKO1o0BhgbcvRgIr0\"", - "mtime": "2025-10-21T14:21:21.692Z", - "size": 3056, - "path": "../public/_nuxt/DxIIJuzj.js" - }, - "/_nuxt/FENYPvwZ.js": { - "type": "text/javascript; charset=utf-8", - "etag": "\"217a-vStqR5WidP2JBkPR7/ZNdMJUVss\"", - "mtime": "2025-10-21T14:21:21.692Z", - "size": 8570, - "path": "../public/_nuxt/FENYPvwZ.js" - }, "/_nuxt/FF_cyd6S.js": { "type": "text/javascript; charset=utf-8", "etag": "\"203-rairGPfunSg/yCk4txod3zRSZus\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 515, "path": "../public/_nuxt/FF_cyd6S.js" }, "/_nuxt/Harheimer TC.CKfYAfp1.svg": { "type": "image/svg+xml", "etag": "\"1d2535-Tx2lTuuFn2hBqGZOnDan3/OdRU0\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "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:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 400, "path": "../public/_nuxt/KxVBmS-6.js" }, "/_nuxt/LPF2GIYR.js": { "type": "text/javascript; charset=utf-8", "etag": "\"557-80ya3yG6VaGTcTbyJrpOfIs1ttU\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 1367, "path": "../public/_nuxt/LPF2GIYR.js" }, "/_nuxt/R6Iy1jPP.js": { "type": "text/javascript; charset=utf-8", "etag": "\"137-QCUizOitouzMVC2drCYFTAZmqPU\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 311, "path": "../public/_nuxt/R6Iy1jPP.js" }, + "/_nuxt/S5xR3JqC.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"16e9-iU8tNfwzZDCfrS7SDnGc1zdluhk\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 5865, + "path": "../public/_nuxt/S5xR3JqC.js" + }, "/_nuxt/XZ6RV9KH.js": { "type": "text/javascript; charset=utf-8", "etag": "\"175-xr1poEaGS4yjOp907AsRAr6XHLI\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 373, "path": "../public/_nuxt/XZ6RV9KH.js" }, "/_nuxt/YJHbYJtA.js": { "type": "text/javascript; charset=utf-8", "etag": "\"19f-nQw578pUen9o8yYaMA8Bwag6xho\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 415, "path": "../public/_nuxt/YJHbYJtA.js" }, + "/_nuxt/Zs8yqLLb.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"13f6-l+k49NCQQALiPeZNINPu+eV6ZnE\"", + "mtime": "2025-10-21T14:23:13.877Z", + "size": 5110, + "path": "../public/_nuxt/Zs8yqLLb.js" + }, "/_nuxt/entry.BFpxHKmh.css": { "type": "text/css; charset=utf-8", "etag": "\"b6eb-x1sUrgHCrNBzun/w6O+XmsNQRiw\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.877Z", "size": 46827, "path": "../public/_nuxt/entry.BFpxHKmh.css" }, "/_nuxt/error-404.CbXQcqJW.css": { "type": "text/css; charset=utf-8", "etag": "\"97e-Ty5bTTSEudJkO/DsGUoIf37xYxc\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.878Z", "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:21:21.692Z", + "mtime": "2025-10-21T14:23:13.878Z", "size": 1907, "path": "../public/_nuxt/error-500.L485xXhD.css" }, "/_nuxt/index.ByttcLyP.css": { "type": "text/css; charset=utf-8", "etag": "\"1db-P3imbnjv59PWVm0HNpwpfdEtAK4\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.878Z", "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:21:21.692Z", + "mtime": "2025-10-21T14:23:13.878Z", "size": 406, "path": "../public/_nuxt/jVj3QaoK.js" }, "/_nuxt/oN0_bS6A.js": { "type": "text/javascript; charset=utf-8", "etag": "\"1d3-DKhiaT2RUlSXk55jBttctUuTQQI\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.878Z", "size": 467, "path": "../public/_nuxt/oN0_bS6A.js" }, + "/_nuxt/pO5XAgdL.js": { + "type": "text/javascript; charset=utf-8", + "etag": "\"1caa-8s46v8ZVjnRPK/d5dpFk/XgPjHM\"", + "mtime": "2025-10-21T14:23:13.878Z", + "size": 7338, + "path": "../public/_nuxt/pO5XAgdL.js" + }, "/_nuxt/rgKTeSYE.js": { "type": "text/javascript; charset=utf-8", "etag": "\"e71-IzPUyj76F9mR9c9DaEV7x6UlmP0\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.878Z", "size": 3697, "path": "../public/_nuxt/rgKTeSYE.js" }, "/_nuxt/sVyj_WZX.js": { "type": "text/javascript; charset=utf-8", "etag": "\"4d4-T+i1jfWN+C61xV/Shhjh8+auLuI\"", - "mtime": "2025-10-21T14:21:21.692Z", + "mtime": "2025-10-21T14:23:13.878Z", "size": 1236, "path": "../public/_nuxt/sVyj_WZX.js" }, "/_nuxt/builds/latest.json": { "type": "application/json", - "etag": "\"47-Jj/3bwd6s5VSd0Ze8bNYM0BLQrs\"", - "mtime": "2025-10-21T14:21:21.679Z", + "etag": "\"47-s46C4L59gMg4HI2ztoriahRlZyU\"", + "mtime": "2025-10-21T14:23:13.869Z", "size": 71, "path": "../public/_nuxt/builds/latest.json" }, - "/_nuxt/builds/meta/c99a6acf-946d-42bb-a8bc-809fc49bc3b8.json": { + "/_nuxt/builds/meta/c7b0744b-853d-4a6f-b9fa-7d1f201a383a.json": { "type": "application/json", - "etag": "\"8b-W5G60aLOrEJICfhmVoQpFrVqooU\"", - "mtime": "2025-10-21T14:21:21.675Z", + "etag": "\"8b-ZtS0o9k9lbwrWiD9u8rAojVStxo\"", + "mtime": "2025-10-21T14:23:13.865Z", "size": 139, - "path": "../public/_nuxt/builds/meta/c99a6acf-946d-42bb-a8bc-809fc49bc3b8.json" + "path": "../public/_nuxt/builds/meta/c7b0744b-853d-4a6f-b9fa-7d1f201a383a.json" } }; diff --git a/.output/server/chunks/routes/renderer.mjs b/.output/server/chunks/routes/renderer.mjs index b6a5bdc..e0dda81 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 = "D2MkqZXd.js"; +const entryFileName = "5cTtis_o.js"; globalThis.__buildAssetsURL = buildAssetsURL; globalThis.__publicAssetsURL = publicAssetsURL; diff --git a/components/About.vue b/components/About.vue index ae29975..d378685 100644 --- a/components/About.vue +++ b/components/About.vue @@ -25,10 +25,10 @@

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

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

Wir trainieren zweimal wöchentlich in der Turnhalle der Grundschule Harheim mit