DGS-C9_k.js 7.19 KB
import{T as E,U as L,V as O,af as X,X as Y,o as u,k as h,w as c,e as g,Y as b,g as e,c as k,F as G,x as H,t as J,$ as K,C as $,S as U,n as q,s as j,a0 as C,d as M,u as Q,a as W,z as Z,q as ee,f as o,_ as ae,p as P}from"./BtEn9SvP.js";import{_ as te}from"./BbvIyG5y.js";import{_ as oe}from"./7yIyqIY0.js";import{_ as re}from"./3BmF-CSc.js";import{S as se}from"./Dd6skURy.js";import{_ as le}from"./D1XImzPn.js";import{_ as ie,o as ne,s as v}from"./Bd-k_Jez.js";import{u as ce}from"./D34wY8wT.js";const de={slots:{root:"flex items-center align-center text-center",border:"",container:"font-medium text-default flex",icon:"shrink-0 size-5",avatar:"shrink-0",avatarSize:"2xs",label:"text-sm"},variants:{color:{primary:{border:"border-primary"},secondary:{border:"border-secondary"},success:{border:"border-success"},info:{border:"border-info"},warning:{border:"border-warning"},error:{border:"border-error"},neutral:{border:"border-default"}},orientation:{horizontal:{root:"w-full flex-row",border:"w-full",container:"mx-3 whitespace-nowrap"},vertical:{root:"h-full flex-col",border:"h-full",container:"my-2"}},size:{xs:"",sm:"",md:"",lg:"",xl:""},type:{solid:{border:"border-solid"},dashed:{border:"border-dashed"},dotted:{border:"border-dotted"}}},compoundVariants:[{orientation:"horizontal",size:"xs",class:{border:"border-t"}},{orientation:"horizontal",size:"sm",class:{border:"border-t-[2px]"}},{orientation:"horizontal",size:"md",class:{border:"border-t-[3px]"}},{orientation:"horizontal",size:"lg",class:{border:"border-t-[4px]"}},{orientation:"horizontal",size:"xl",class:{border:"border-t-[5px]"}},{orientation:"vertical",size:"xs",class:{border:"border-s"}},{orientation:"vertical",size:"sm",class:{border:"border-s-[2px]"}},{orientation:"vertical",size:"md",class:{border:"border-s-[3px]"}},{orientation:"vertical",size:"lg",class:{border:"border-s-[4px]"}},{orientation:"vertical",size:"xl",class:{border:"border-s-[5px]"}}],defaultVariants:{color:"neutral",size:"xs",type:"solid"}},ue={__name:"USeparator",props:{as:{type:null,required:!1},label:{type:String,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},size:{type:null,required:!1},type:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},class:{type:null,required:!1},ui:{type:null,required:!1},decorative:{type:Boolean,required:!1}},setup(n){const s=n,x=E(),a=L(),l=O("separator",s),m=X(Y(s,"as","decorative","orientation")),i=j(()=>C({extend:C(de),...a.ui?.separator||{}})({color:s.color,orientation:s.orientation,size:s.size,type:s.type}));return(y,F)=>(u(),h(e(se),U(e(m),{"data-slot":"root",class:i.value.root({class:[e(l)?.root,s.class]})}),{default:c(()=>[g("div",{"data-slot":"border",class:b(i.value.border({class:e(l)?.border}))},null,2),n.label||n.icon||n.avatar||x.default?(u(),k(G,{key:0},[g("div",{"data-slot":"container",class:b(i.value.container({class:e(l)?.container}))},[H(y.$slots,"default",{ui:i.value},()=>[n.label?(u(),k("span",{key:0,"data-slot":"label",class:b(i.value.label({class:e(l)?.label}))},J(n.label),3)):n.icon?(u(),h(K,{key:1,name:n.icon,"data-slot":"icon",class:b(i.value.icon({class:e(l)?.icon}))},null,8,["name","class"])):n.avatar?(u(),h($,U({key:2,size:e(l)?.avatarSize||i.value.avatarSize()},n.avatar,{"data-slot":"avatar",class:i.value.avatar({class:e(l)?.avatar})}),null,16,["size","class"])):q("",!0)])],2),g("div",{"data-slot":"border",class:b(i.value.border({class:e(l)?.border}))},null,2)],64)):q("",!0)]),_:3},16,["class"]))}},me={class:"flex flex-wrap items-center gap-3"},ze=M({__name:"index",async setup(n){let s,x;const{t:a}=Q(),l=W(),m=P(!1),i=ce(),y=P(),D=j(()=>ne({name:v().min(2,a("settings.profile.validation.tooShort")),email:v().email(a("settings.profile.validation.invalidEmail")),username:v().min(2,a("settings.profile.validation.tooShort")),avatar:v().optional(),bio:v().optional()})),{data:f}=([s,x]=Z(()=>i.getProfile()),s=await s,x(),s),r=ee({name:f.value.name,email:f.value.email,username:f.value.username,avatar:f.value.avatar,bio:f.value.bio});async function A(_){m.value=!0;try{const t=await i.updateProfile(_.data);if(!t.success){l.add({title:a("common.error"),description:t.message,icon:"i-lucide-circle-alert",color:"error"});return}t.profile&&(r.name=t.profile.name,r.email=t.profile.email,r.username=t.profile.username,r.avatar=t.profile.avatar,r.bio=t.profile.bio),l.add({title:a("settings.profile.toastTitle"),description:a("settings.profile.toastDesc"),icon:"i-lucide-check",color:"success"})}catch{l.add({title:a("common.error"),description:a("common.requestFailed"),icon:"i-lucide-circle-alert",color:"error"})}finally{m.value=!1}}function B(_){const t=_.target;t.files?.length&&(r.avatar=URL.createObjectURL(t.files[0]))}function R(){y.value?.click()}return(_,t)=>{const S=ae,V=te,w=oe,p=re,z=ue,T=$,I=le,N=ie;return u(),h(N,{id:"settings",schema:e(D),state:e(r),onSubmit:A},{default:c(()=>[o(V,{title:e(a)("settings.profile.title"),description:e(a)("settings.profile.description"),variant:"naked",orientation:"horizontal",class:"mb-4"},{default:c(()=>[o(S,{form:"settings",label:e(a)("common.saveChanges"),color:"neutral",type:"submit",loading:e(m),class:"w-fit lg:ms-auto"},null,8,["label","loading"])]),_:1},8,["title","description"]),o(V,{variant:"subtle"},{default:c(()=>[o(p,{name:"name",label:e(a)("settings.profile.name"),description:e(a)("settings.profile.nameDesc"),required:"",class:"flex max-sm:flex-col justify-between items-start gap-4"},{default:c(()=>[o(w,{modelValue:e(r).name,"onUpdate:modelValue":t[0]||(t[0]=d=>e(r).name=d),autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label","description"]),o(z),o(p,{name:"email",label:e(a)("settings.profile.email"),description:e(a)("settings.profile.emailDesc"),required:"",class:"flex max-sm:flex-col justify-between items-start gap-4"},{default:c(()=>[o(w,{modelValue:e(r).email,"onUpdate:modelValue":t[1]||(t[1]=d=>e(r).email=d),type:"email",autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label","description"]),o(z),o(p,{name:"username",label:e(a)("settings.profile.username"),description:e(a)("settings.profile.usernameDesc"),required:"",class:"flex max-sm:flex-col justify-between items-start gap-4"},{default:c(()=>[o(w,{modelValue:e(r).username,"onUpdate:modelValue":t[2]||(t[2]=d=>e(r).username=d),type:"username",autocomplete:"off"},null,8,["modelValue"])]),_:1},8,["label","description"]),o(z),o(p,{name:"avatar",label:e(a)("settings.profile.avatar"),description:e(a)("settings.profile.avatarDesc"),class:"flex max-sm:flex-col justify-between sm:items-center gap-4"},{default:c(()=>[g("div",me,[o(T,{src:e(r).avatar,alt:e(r).name,size:"lg"},null,8,["src","alt"]),o(S,{label:e(a)("common.choose"),color:"neutral",type:"button",onClick:R},null,8,["label"]),g("input",{ref_key:"fileRef",ref:y,type:"file",class:"hidden",accept:".jpg, .jpeg, .png, .gif",onChange:B},null,544)])]),_:1},8,["label","description"]),o(z),o(p,{name:"bio",label:e(a)("settings.profile.bio"),description:e(a)("settings.profile.bioDesc"),class:"flex max-sm:flex-col justify-between items-start gap-4",ui:{container:"w-full"}},{default:c(()=>[o(I,{modelValue:e(r).bio,"onUpdate:modelValue":t[3]||(t[3]=d=>e(r).bio=d),rows:5,autoresize:"",class:"w-full"},null,8,["modelValue"])]),_:1},8,["label","description"])]),_:1})]),_:1},8,["schema","state"])}}});export{ze as default};