- Landing page at / - Vue app at /app (PWA installable) - Added manifest.json for mobile install - iOS + Android meta tags - Updated router base path
2 lines
2.6 KiB
JavaScript
2 lines
2.6 KiB
JavaScript
import{d as k,u as h,c as p,a as e,t as a,y as b,w as S,b as c,v as f,e as y,r as o,o as w,m as V}from"./index-DFiGttzi.js";const N={class:"space-y-6"},E={class:"card"},_={class:"grid grid-cols-2 gap-4"},q={class:"font-medium"},B={class:"font-medium"},M={class:"font-medium capitalize"},U={class:"card"},A={key:0,class:"text-red-600 text-sm"},C={key:1,class:"text-green-600 text-sm"},D=["disabled"],R=k({__name:"SettingsView",setup(z){const m=h(),r=o(""),t=o(""),i=o(""),u=o(!1),d=o(""),l=o("");async function P(){if(t.value!==i.value){l.value="Passwörter stimmen nicht überein";return}if(t.value.length<8){l.value="Passwort muss mindestens 8 Zeichen haben";return}u.value=!0,l.value="",d.value="";try{await V.post("/auth/change-password",{currentPassword:r.value,newPassword:t.value}),d.value="Passwort erfolgreich geändert",r.value="",t.value="",i.value=""}catch(v){l.value=v instanceof Error?v.message:"Fehler beim Ändern"}finally{u.value=!1}}return(v,s)=>{var x,g;return w(),p("div",N,[s[11]||(s[11]=e("h1",{class:"text-2xl font-bold text-gray-900 dark:text-white"},"🔧 Einstellungen",-1)),e("div",E,[s[6]||(s[6]=e("h2",{class:"text-lg font-semibold mb-4"},"Profil",-1)),e("div",_,[e("div",null,[s[3]||(s[3]=e("label",{class:"block text-sm text-gray-500"},"Name",-1)),e("p",q,a(b(m).fullName),1)]),e("div",null,[s[4]||(s[4]=e("label",{class:"block text-sm text-gray-500"},"E-Mail",-1)),e("p",B,a((x=b(m).user)==null?void 0:x.email),1)]),e("div",null,[s[5]||(s[5]=e("label",{class:"block text-sm text-gray-500"},"Rolle",-1)),e("p",M,a((g=b(m).user)==null?void 0:g.role),1)])])]),e("div",U,[s[10]||(s[10]=e("h2",{class:"text-lg font-semibold mb-4"},"Passwort ändern",-1)),e("form",{onSubmit:S(P,["prevent"]),class:"space-y-4 max-w-md"},[e("div",null,[s[7]||(s[7]=e("label",{class:"block text-sm font-medium mb-1"},"Aktuelles Passwort",-1)),c(e("input",{"onUpdate:modelValue":s[0]||(s[0]=n=>r.value=n),type:"password",required:"",class:"input"},null,512),[[f,r.value]])]),e("div",null,[s[8]||(s[8]=e("label",{class:"block text-sm font-medium mb-1"},"Neues Passwort",-1)),c(e("input",{"onUpdate:modelValue":s[1]||(s[1]=n=>t.value=n),type:"password",required:"",class:"input"},null,512),[[f,t.value]])]),e("div",null,[s[9]||(s[9]=e("label",{class:"block text-sm font-medium mb-1"},"Passwort bestätigen",-1)),c(e("input",{"onUpdate:modelValue":s[2]||(s[2]=n=>i.value=n),type:"password",required:"",class:"input"},null,512),[[f,i.value]])]),l.value?(w(),p("div",A,a(l.value),1)):y("",!0),d.value?(w(),p("div",C,a(d.value),1)):y("",!0),e("button",{type:"submit",disabled:u.value,class:"btn btn-primary"},a(u.value?"Speichern...":"Passwort ändern"),9,D)],32)])])}}});export{R as default};
|