7 lines
4.0 KiB
JavaScript
7 lines
4.0 KiB
JavaScript
import{e as _,r as i,c as p,a as e,j as k,h as g,k as v,v as y,n as b,b as n,d,u,t as f,l as L,w as M,_ as V,m as z,o as m}from"#entry";import{u as A}from"./Bhye03_j.js";import{A as C}from"./C8kQt0fa.js";import{C as S}from"./DaSgy0Cl.js";import{L as N}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 B=_("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"}]]),T={class:"min-h-full flex items-center justify-center py-16 px-4 sm:px-6 lg:px-8 bg-gray-50"},j={class:"max-w-md w-full space-y-8"},D={class:"bg-white rounded-xl shadow-lg p-8"},I={key:0,class:"bg-red-50 border border-red-200 rounded-lg p-4"},P={class:"text-sm text-red-800 flex items-center"},q={key:1,class:"bg-green-50 border border-green-200 rounded-lg p-4"},E={class:"text-sm text-green-800 flex items-center"},H=["disabled"],K={class:"text-center"},U={class:"bg-primary-50 border border-primary-100 rounded-lg p-4"},Z={class:"text-sm text-primary-800 text-center"},Q={__name:"login",setup(O){const x=z(),t=i({email:"",password:""}),o=i(!1),r=i(""),l=i(""),h=async()=>{o.value=!0,r.value="",l.value="";try{const a=await $fetch("/api/auth/login",{method:"POST",body:{email:t.value.email,password: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 A({title:"Login - Harheimer TC"}),(a,s)=>{const w=V;return m(),p("div",T,[e("div",j,[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",D,[e("form",{onSubmit:k(h,["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",I,[e("p",P,[n(u(C),{size:18,class:"mr-2"}),d(" "+f(r.value),1)])])):g("",!0),l.value?(m(),p("div",q,[e("p",E,[n(u(S),{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(),L(u(N),{key:0,size:20,class:"mr-2 animate-spin"})):g("",!0),e("span",null,f(o.value?"Anmeldung läuft...":"Anmelden"),1)],8,H),e("div",K,[n(w,{to:"/passwort-vergessen",class:"text-sm text-primary-600 hover:text-primary-700 font-medium"},{default:M(()=>[...s[4]||(s[4]=[d(" Passwort vergessen? ",-1)])]),_:1})])],32)]),e("div",U,[e("p",Z,[n(u(B),{size:16,class:"inline mr-1"}),s[5]||(s[5]=d(" Nur für Vereinsmitglieder. Kein Zugang? Kontaktieren Sie den Vorstand. ",-1))])])])])}}};export{Q as default};
|