PageSourceSearch

https://open.marblework.app/_nuxt/p_a1I7ZN.js

js marblework.app collected 2026-10-02 00:26:23 UTC 223,638 bytes, 1 lines download raw bytes

1import{_ as ks}from"./Dlp581so.js";import{ad as rs,x as m,aU as Ks,aw as Ls,u as Rt,n as x,aa as cs,aV as Ba,m as Ft,k as pa,l as ue,A as is,a9 as _a,ae as ta,o,b as i,e as a,w as n,d as t,Q as Hs,g as e,f as ts,C as h,t as s,s as Xt,h as g,c as E,am as et,v as ye,F,B as ge,r as De,a5 as Ka,i as ms,an as Ha,D as Tt,aR as sa,ai as ga,y as qs,aW as Bs,ar as Os,aX as Qs,al as os,ax as qa,a4 as fa,aY as Wa,aT as Is,j as va,a6 as us,az as aa,aq as ma,E as ya,a7 as Ga,aZ as Ya,z as Xa,a_ as Ja,a as Za,ab as Qa,a$ as eo,G as to,aS as so}from"./B0mNtK3X.js";import{_ as ba}from"./B0zzGWuo.js";import{_ as ps}from"./B6ftWAWB.js";import{_ as $s}from"./D0jBudSu.js";import{_ as Ts}from"./DS6Jjn63.js";import{_ as ws}from"./Df3rcq9n.js";import{_ as ao}from"./BrVOXIBz.js";import{_ as oa}from"./WsjsyaGz.js";import{_ as Ws,u as ha}from"./BTZwu_qn.js";import{_ as oo}from"./B2iP2pzw.js";import{u as no,_ as lo}from"./CKIhMykQ.js";import{_ as _s}from"./BPvGrb5G.js";import{_ as xa}from"./CbmQILVT.js";import{_ as ka}from"./B6xei8nG.js";import{u as $a,a as io,b as ro,_ as co,c as uo,p as mo,d as po}from"./DkoeFhFl.js";import{_ as wa}from"./B8MqxT6X.js";import{_ as _o}from"./CzF6W6s8.js";import{N as Ca,t as go}from"./lWyP8OFU.js";import{u as Ua}from"./CDYMLJfH.js";import{u as Ds}from"./6OkFRQbn.js";import{d as Ps}from"./D84-0CRA.js";import{_ as na}from"./Dli8s6NQ.js";import{u as Cs}from"./BN1ohDtG.js";import{_ as Sa}from"./DxqLuLv4.js";import{_ as Va}from"./D1nMKFsg.js";import{u as Gs}from"./D9TY3r8P.js";import{_ as la}from"./TZM0RZOJ.js";import{g as fo,D as vo}from"./lhcyNJhe.js";import{u as Ma,a as yo}from"./6gn1cOS2.js";import{u as bo}from"./BgRUeQjb.js";import{b as Es,c as ho}from"./Cibj3C8w.js";import{u as xo}from"./Ds_fHk3w.js";import{u as ko}from"./BDn0DF5_.js";import{u as $o}from"./CK6WUE3c.js";import{u as wo}from"./DI8I9sse.js";import{u as Co}from"./Cp4VHxXp.js";import{g as Uo}from"./D18vlwms.js";import{u as So}from"./CjDdjqM9.js";import{g as Vo}from"./C4mqEALe.js";import"./h8CpXX5r.js";import"./32Bqtcn_.js";import"./AvbMIwz1.js";import"./fITo8g8I.js";import"./CYkDGJwY.js";import"./Dp3dgQIK.js";import"./eOZK6b21.js";import"./D1A-3Aho.js";import"./BEP62XWZ.js";import"./qCwQHWlQ.js";import"./C65uDn7j.js";import"./CJHIUm5B.js";import"./DMRyVoyL.js";import"./CwZPlw6g.js";import"./CXih95ct.js";import"./DSsE4Pl3.js";import"./DqhmIVNL.js";import"./D6pTlXUH.js";import"./CKS7Vs-p.js";import"./N6vRbo-F.js";function ja(){const G=Ks(),r=rs(),v=m(null),C=m(!1);async function P(I){const X=G.public.stripeServerUrl,oe=G.public.stripeServerKey;if(!(!X||!oe||!I)){C.value=!0;try{const{data:{session:J}}=await r.auth.getSession();if(!J)return;const L=await $fetch(`${X}/sub-discount`,{query:{organizationId:I},headers:{"x-api-key":oe,Authorization:`Bearer ${J.access_token}`}});v.value=L?.discount??null}catch(J){console.warn("[useSubDiscount] fetchSubDiscount error:",J.message),v.value=null}finally{C.value=!1}}}return{discount:v,fetchSubDiscount:P,loading:C}}function Aa(){const G=Ks(),r=rs(),{selfSubscription:v,selfPlan:C}=Ls(),{discount:P,fetchSubDiscount:I}=ja(),X=m(!1),oe=m(null),J=m({month:null,year:null}),L=x(()=>{const U=C.value==="rocket"?"rocket":"pro";return oe.value?.[U]??oe.value?.pro??J.value}),H=x(()=>L.value?.month?.amount??null),w=x(()=>L.value?.year?.amount??null),O=x(()=>L.value?.month?.currency??L.value?.year?.currency??"eur");async function Y(){const{data:{session:U}}=await r.auth.getSession();if(!U)throw new Error("Not authenticated");return`Bearer ${U.access_token}`}async function q({withDiscount:U=!1}={}){const ee=G.public.stripeServerUrl,be=G.public.stripeServerKey;if(!ee||!be)return;const ie=v.value?.organization_id;X.value=!0;try{const T=await Y(),[z]=await Promise.all([$fetch(`${ee}/seat-price`,{headers:{"x-api-key":be,Authorization:T}}),U&&ie?I(ie):Promise.resolve()]);oe.value=z.plans??null,J.value={month:z.month??null,year:z.year??null}}catch(T){console.warn("[useSeatPricing] fetchSeatPrice error:",T.message)}finally{X.value=!1}}function V(U,ee){return U==null?null:new Intl.NumberFormat("de-DE",{style:"currency",currency:ee?.toUpperCase()??"EUR"}).format(U/100)}const{locale:D}=Rt(),j=x(()=>
1{if(v.value?.interval==="year"&&w.value!=null){const ee=V(w.value,O.value);return D.value==="de"?`+${ee}/Jahr`:D.value==="es"?`+${ee}/año`:`+${ee}/year`}if(H.value!=null){const ee=V(H.value,O.value);return D.value==="de"?`+${ee}/Monat`:D.value==="es"?`+${ee}/mes`:`+${ee}/month`}return null}),f=x(()=>v.value?.interval??"month"),S=x(()=>{const U=f.value==="year"?w.value:H.value;return V(U,O.value)}),b=x(()=>P.value?.type==="percent"?P.value.value:null),A=U=>{if(U==null)return null;const ee=b.value;return ee?Math.round(U*(1-ee/100)):U},Z=()=>f.value==="year"?D.value==="de"?"Jahr":D.value==="es"?"año":"year":D.value==="de"?"Monat":D.value==="es"?"mes":"month",ne=x(()=>f.value==="year"?w.value:H.value),le=x(()=>{const U=A(ne.value);return U==null?null:`+${V(U,O.value)}/${Z()}`}),me=x(()=>{const U=A(ne.value);return V(U,O.value)}),R=x(()=>ne.value==null?null:`${V(ne.value,O.value)}/${Z()}`);return{fetchSeatPrice:q,seatPriceLabel:j,seatUnitLabel:S,orgInterval:f,monthAmount:H,yearAmount:w,currency:O,plans:oe,loading:X,seatDiscountPercent:b,seatEffectivePlusLabel:le,seatEffectiveUnitLabel:me,seatListLabel:R}}function Mo(){const G=rs(),r=m([]),v=m(!1);async function C(oe){if(!oe){r.value=[];return}v.value=!0;try{const{data:J}=await G.from("org_api_keys").select("id, name, key_prefix, scopes, last_used_at, revoked_at, created_at").eq("organization_id",oe).eq("internal",!1).order("created_at",{ascending:!1});r.value=J||[]}finally{v.value=!1}}async function P(oe,J,L){const{data:H,error:w}=await G.rpc("create_org_api_key",{p_organization_id:oe,p_name:J,p_scopes:L});if(w)throw w;return H}async function I(oe){const{error:J}=await G.rpc("revoke_org_api_key",{p_key_id:oe});if(J)throw J;const L=r.value.find(H=>H.id===oe);L&&(L.revoked_at=new Date().toISOString())}async function X(oe){const{error:J}=await G.rpc("delete_org_api_key",{p_key_id:oe});if(J)throw J;r.value=r.value.filter(L=>L.id!==oe)}return{keys:r,loading:v,fetchKeys:C,createKey:P,revokeKey:I,deleteKey:X}}const jo={class:"grid gap-6 xl:grid-cols-2 pt-6 pb-6"},Ao={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},To={class:"space-y-6 px-1 py-2"},Po={class:"flex items-center gap-3"},zo={class:"relative shrink-0"},Eo={key:0,class:"absolute inset-0 flex items-center justify-center rounded-full bg-secondary-600/40"},Io={class:"flex flex-col gap-2"},Oo={class:"mo-label"},Lo={class:"flex gap-2 flex-wrap"},Do={class:"text-xs text-secondary-500 font-medium"},No={class:"flex gap-3 items-end mo-inner-card-max"},Ro={class:"space-y-2 mo-inner-card-max"},Fo={class:"mo-label mb-0! pb-0!"},Bo={class:"pt-1 flex gap-2"},Ko={key:1,class:"text-xs text-secondary-400 pl-[5px] pt-0.5 font-medium"},Ho={key:0,class:"mo-inner-card-max flex items-center justify-between gap-4"},qo={class:"mo-label mb-0! pb-0!"},Wo={class:"text-xs text-secondary-400 pt-0.5 font-medium pl-[5px]"},Go={class:"px-1 py-2 space-y-4 flex flex-col items-start"},Yo={key:0,class:"flex justify-center py-4"},Xo={class:"flex items-center gap-3"},Jo={class:"flex-1 space-y-1"},Zo={class:"flex items-center gap-3 flex-wrap"},Qo={class:"flex items-center gap-1.5"},en={key:0,class:"text-sm font-medium space-y-1"},tn={key:0,class:"flex items-center gap-2 text-white px-3 py-1 bg-white/20 ring-1 ring-white/80 rounded-2xl text-[13px]"},sn={key:1,class:"text-white px-3 py-1 bg-rose-500/50 ring-1 ring-rose-200/80 rounded-2xl text-[13px]"},an={key:1,class:"text-sm text-secondary-600 font-medium"},on={key:2,class:"w-full rounded-2xl bg-white/15 ring-1 ring-white/80 p-4 space-y-2 text-white backdrop-blur-sm max-[479px]:space-y-4"},nn={class:"text-[13px] font-semibold text-white/90 mb-1"},ln={class:"flex items-center justify-between gap-3 text-sm max-[479px]:flex-col max-[479px]:items-start max-[479px]:gap-1"},rn={class:"font-medium text-white/90"},cn={class:"font-semibold tabular-nums whitespace-nowrap"},dn={class:"text-white/90 text-xs font-medium"},un={key:0,class:"flex items-center justify-between gap-3 text-sm max-[479px]:flex-col max-[479px]:items-start max-[479px]:gap-1"},mn={class:"font-medium text-white/90"},pn={class:"font-semibold tabular-nums whitespace-nowrap"},_n={class:"text-white/90 text-xs font-medium"},gn={key:1,class:"flex items-center justify-between gap-3 text-sm max-[479px]:flex-col max-[479px]:items-start max-[479px]:gap-1"},fn={class:"font-medium text-white/90"},vn={class:"font-semibold tabular-nums whitespace-nowrap text-white/90"},yn={class:"flex items-center justify-between gap-3 text-sm max-[479px]:flex-col max-[479px]:items-start max-[479px]:gap-1"},bn={class:"font-bold"},hn={class:"font-bold tabular-nums whitespace-nowrap flex gap-x-1.5 gap-y-1 flex-wrap"},xn={key:0,class:"line-through text-white/70 font-medium mr-1.5"},kn={class:"text-white/90 text-xs font-medium"},$n={class:"text-[11px] text-white/90 font-medium pt-1"},wn={key:3,class:"w-full"},Cn={class:"text-secondary-600 text-sm font-medium leading-[1.2em] mb-2 max-w-[480px]"},Un={key:0,class:"label"},Sn={key:1,class:"label"},Vn={key:1,class:"w-full flex items-center gap-3 flex-wrap text-white px-3 py-1.5 bg-white/20 ring-1 ring-white/80 rounded-2xl text-[13px]"},Mn=["disabled"],jn={key:2,class:"flex items-center gap-3 flex-wrap"},An=["disabled"],Tn={class:"label"},Pn={class:"w-full text-[12px] text-white/90 font-medium"},zn=["disabled"],En={class:"label"},In={class:"label"},On={class:"flex items-center gap-2"},Ln={key:0,class:"mb-3"},Dn={key:1,class:"mb-3 space-y-2"},Nn={class:"text-sm text-secondary-700 font-semibold leading-snug"},Rn={class:"space-y-1.5 max-h-56 overflow-y-auto pr-1"},Fn={class:"flex-1 leading-snug"},Bn={class:"text-sm text-secondary-600 font-medium leading-snug whitespace-pre-line pl-[5px]"},Kn={class:"mt-3 rounded-xl bg-secondary-100/70 ring-1 ring-secondary-200 px-3 py-2 text-[13px] text-secondary-700 font-medium leading-snug"},Hn={key:1},qn={class:"text-[11px] text-secondary-500"},Wn={key:2,class:"text-secondary-500"},Gn={class:"flex justify-between gap-2 w-full flex-wrap"},Yn={class:"flex gap-2 flex-wrap"},Xn={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},Jn={class:"space-y-4 px-1 py-2"},Zn={class:"bg-white rounded-2xl p-4 ring-1 ring-secondary-100"},Qn={class:"flex justify-between text-xs text-secondary-600 font-medium mb-2"},el={key:0,class:"text-xs text-secondary-500 italic mb-2 -mt-1"},tl={class:"text-xs font-medium"},sl={class:"text-xs text-secondary-500 font-medium pl-[5px]"},al={key:0},ol={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-custom-theme-heading"},nl={class:"px-1 py-2 space-y-5"},ll={class:"text-xs text-secondary-500 font-medium max-w-[560px] pl-1.5"},il={class:"space-y-3 max-w-[640px]"},rl={class:"flex items-center justify-between gap-x-3 gap-y-1 flex-wrap pl-[5px] mb-2 max-[460px]:flex-col max-[460px]:items-start"},cl={class:"mo-label pl-0! mb-0! pb-0!"},dl=["href"],ul={class:"flex items-center gap-2"},ml={class:"flex-1 min-w-0 truncate text-xs bg-secondary-100/60 ring ring-secondary-300 rounded-lg px-3 py-2 text-secondary-700"},pl={class:"max-w-[640px]"},_l={class:"flex items-center justify-between mb-2 gap-3 flex-wrap"},gl={class:"mo-label mb-0! pb-0!"},fl={key:0,class:"py-4 flex justify-center"},vl={key:1,class:"text-xs italic text-secondary-500 py-2 pl-1.5"},yl={key:2,class:"flex flex-col gap-2.5 mt-4"},bl={class:"flex items-center gap-2 flex-wrap"},hl={class:"text-sm font-medium text-secondary-700 truncate"},xl={class:"text-[11px] text-secondary-500"},kl={class:"flex flex-wrap gap-x-1.5 gap-y-2 mt-2"},$l={class:"text-[11px] text-secondary-500/70 mt-1 pl-1"},wl={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},Cl={class:"space-y-3 px-1 py-2"},Ul={class:"w-full flex gap-3 justify-between max-sm:flex-col max-sm:items-end"},Sl={class:"text-[13px] text-secondary-500 font-medium flex items-start gap-1.5"},Vl={class:"text-xs shrink-0 text-slate-500 font-medium"},Ml={class:"flex flex-col gap-3 items-end"},jl={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-custom-theme-heading"},Al={class:"flex items-start flex-col gap-5 px-1 py-2 max-sm:flex-col"},Tl={class:"text-[13px] text-secondary-500 font-medium flex items-start gap-1.5"},Pl={class:"flex items-center gap-2"},zl={key:0,class:"flex flex-col gap-3"},El={class:"text-sm font-semibold text-secondary-700"},Il={class:"flex items-center gap-2"},Ol={class:"flex-1 min-w-0 break-all-custom text-xs bg-secondary-600 inset-ring-1 inset-ring-secondary-100 rounded-lg px-3 py-2 text-white"},Ll={class:"flex items-start gap-2 text-xs text-white bg-marble-500 rounded-lg px-3 py-2"},Dl={class:"font-medium"},Nl={key:1,class:"flex flex-col gap-4"},Rl={class:"mo-label mb-1.5!"},Fl={class:"flex flex-col gap-2"},Bl=["onClick"],Kl={class:"min-w-0"},Hl={class:"block text-sm font-medium text-secondary-800"},ql={class:"block text-xs text-secondary-500"},Wl={class:"flex justify-end gap-2 w-full"},Gl={class:"flex items-center gap-2"},Yl={class:"flex justify-end gap-2 w-full"},Xl={class:"flex items-center gap-2"},Jl={class:"flex justify-end gap-2 w-full"},Zl=80,Ql={__name:"SettingsOrgSettings",setup(G){const{t:r,locale:v}=Rt(),C=cs(),P=rs(),{$cookieConsent:I}=Ba(),X=Ca,oe=()=>I?.showPreferences(),{currentOrg:J,orgId:L,ownOrg:H,ownOrgId:w,isAdmin:O,updateOrganization:Y,uploadOrgLogo:q,removeOrgLogo:V}=Ft(),D=x(()=>H.value??J.value),j=x(()=>w.value??L.value),f=x(()=>!!H.value||O.value),{loading:S,fetchSubscription:b,isSelfPro:A,isSelfTester:Z,selfSubscription:ne,selfPlanName:le,selfPlan:me,selfPendingPlan:R,selfPendingPlanAt:U,selfIntervalLabel:ee,selfCurrentPeriodEnd:be,selfIsCanceled:ie,selfCancelDate:T,isSelfTrialing:z,selfTrialDaysLeft:ke,selfTrialEnd:we,previouslyPro:M}=Ls(),re=x(()=>ie.value||!!T.value),{openPortal:$e,previewPlanChange:it,changePlan:Ne,loading:qe}=$a(),{can:B,ready:Ie,showPlanLimit:pt}=Ua(),ht=pa("upgradeIntervalModal",()=>!1),{isNativeApp:te}=ga(),{fetchPlanPrices:Pt,priceLabel:zt,priceAmount:Jt,priceCurrency:Et}=io(),{fetchSeatPrice:Bt,seatUnitLabel:Ut,monthAmount:Ue,yearAmount:ve}=Aa(),{members:st,fetchMembers:wt}=Ds(j),{discount:xt,fetchSubDiscount:_t}=ja(),gt=x(()=>A.value&&!Z.value),We=x(()=>ne.value?.interval==="year"?"year":"month"),Ke=x(()=>st.value.filter(d=>d.is_active&&d.role!=="owner").length);function rt(d,K){return d==null?null:new Intl.NumberFormat("de-DE",{style:"currency",currency:(K||"eur").toUpperCase()}).format(d/100)}const Me=x(()=>We.value==="year"?r("settings.organisation.plan_suffix_year"):r("settings.organisation.plan_suffix_month")),tt=x(()=>me.value==="rocket"?"rocket":"pro"),ct=x(()=>Et(tt.value)),Ge=x(()=>zt(tt.value,We.value)),at=x(()=>Jt(tt.value,We.value)),ft=x(()=>We.value==="year"?ve.value:Ue.value),dt=x(()=>ft.value!=null?rt(ft.value*Ke.value,ct.value):null),Re=x(()=>at.value==null?null:at.value+(ft.value??0)*Ke.value),$=x(()=>{const d=xt.value;return d?d.type==="percent"?`${d.value} %`:d.type==="amount"?`−${rt(d.value,d.currency||ct.value)}`:null:null}),he=x(()=>{if(Re.value==null)return null;const d=xt.value;return d?d.type==="percent"?Math.round(Re.value*(1-d.value/100)):d.type==="amount"?Math.max(0,Re.value-d.value):Re.value:Re.value}),Oe=x(()=>he.value==null?null:rt(he.value,ct.value)),ot=x(()=>xt.value&&Re.value!=null?rt(Re.value,ct.value):null);ue(gt,d=>{d&&(Pt(),Bt(),wt(),_t(j.value))},{immediate:!0});const Q=m(""),Ye=m(!1);ue(()=>D.value?.name,d=>{d!==void 0&&(Q.value=d??"")},{immediate:!0});async function Ce(){if(!(!Q.value.trim()||!f.value)){Ye.value=!0;try{await Y(j.value,{name:Q.value.trim()}),C.add({class:"mo-toast",title:r("settings.organisation.name_saved"),color:"success"})}catch(d){C.add({class:"mo-toast",title:r("common.error"),description:d.message,color:"error"})}finally{Ye.value=!1}}}const Se=m("#537C7F"),Te=m(!1);ue(()=>D.value?.color,d=>{d&&(Se.value=d)},{immediate:!0});async function Fe(){if(f.value){Te.value=!0;try{await Y(j.value,{color:Se.value}),C.add({class:"mo-toast",title:r("settings.organisation.color_saved"),color:"success"})}catch(d){C.add({class:"mo-toast",title:r("common.error"),description:d.message,color:"error"})}finally{Te.value=!1}}}
1async function ut(){if(f.value){Te.value=!0;try{await Y(j.value,{color:null}),Se.value="#537C7F",C.add({class:"mo-toast",title:r("settings.organisation.color_removed"),color:"success"})}catch(d){C.add({class:"mo-toast",title:r("common.error"),description:d.message,color:"error"})}finally{Te.value=!1}}}const W=m(!0),Pe=m(!1);ue(()=>D.value?.cream_background,d=>{d!==void 0&&(W.value=d!==!1)},{immediate:!0});async function Kt(d){if(f.value){Pe.value=!0;try{await Y(j.value,{cream_background:d}),W.value=d}catch(K){C.add({class:"mo-toast",title:r("common.error"),description:K.message,color:"error"}),W.value=!d}finally{Pe.value=!1}}}const{keys:It,loading:gs,fetchKeys:Zt,createKey:Ct,revokeKey:nt,deleteKey:fe}=Mo(),Ot=Ks(),ze=x(()=>Ot.public?.supabase?.url||""),Xe=x(()=>Ot.public?.apiPublicUrl||(ze.value?`${ze.value}/functions/v1/api`:"")),Ht=x(()=>Ot.public?.mcpPublicUrl||(ze.value?`${ze.value}/functions/v1/mcp-server`:"")),qt={rest:{de:"https://marblework.notion.site/marble-work-REST-API-8da4c49019fe8290a1ae8184284544a2",en:"https://marblework.notion.site/marble-work-REST-API-2634c49019fe82ceb6ec81d20b18da6e"},mcp:{de:"https://marblework.notion.site/marble-work-MCP-Server-1154c49019fe8239819c813ecd2001d8",en:"https://marblework.notion.site/marble-work-MCP-Server-ce24c49019fe832ba380812a85e747ea"}},St=d=>qt[d][v.value]??qt[d].en,Vt=["read","clients","projects","tasks","intelligence"];async function ss(d,K){try{await navigator.clipboard.writeText(d),C.add({class:"mo-toast",title:K,color:"success"})}catch{}}const Qt=m(!1),mt=m(""),lt=m(["read"]),u=m(!1),k=m(null),ce=m(!1),Ee=m(!1),yt=m(null),Mt=m(!1),je=x(()=>mo(r,yt.value,{formatDate:He,planLabel:"Pro"})),{pruefeFuerPlan:jt}=ro(),Ve=m(null),bt=m(!1);async function kt(){bt.value=!0;try{Ve.value=await jt("pro")}finally{bt.value=!1}}const $t=x(()=>Array.isArray(Ve.value)&&Ve.value.length===0),Gt=m(!1);async function se(){ce.value=!0,yt.value=null,Ve.value=null,Mt.value=!0,kt();try{yt.value=await it("pro")}finally{Mt.value=!1}}async function Le(){if(!(Ee.value||!$t.value)){Ee.value=!0;try{const d=await Ne("pro");if(d?.ok)if(await b(),ce.value=!1,d.scheduled&&d.effective_at)C.add({class:"mo-toast",title:r("settings.organisation.plan_scheduled_toast",{plan:"Pro",date:He(new Date(d.effective_at*1e3))}),color:"success"});else{const K=d.trialing&&d.trial_end?r("settings.organisation.plan_changed_trial_hint",{date:He(new Date(d.trial_end*1e3)),plan:"Pro"}):void 0;C.add({class:"mo-toast",title:r("settings.organisation.plan_changed_toast",{plan:"Pro"}),description:K,color:"success"})}}finally{Ee.value=!1}}}const Lt=m(!1);async function Us(){if(!(Lt.value||!me.value)){Lt.value=!0;try{(await Ne(me.value))?.ok&&(await b(),C.add({class:"mo-toast",title:r("settings.organisation.plan_pending_cancelled_toast",{plan:R.value==="rocket"?"Rocket":"Pro"}),color:"success"}))}finally{Lt.value=!1}}}function es(){if(!B("api_access",!0)){pt("api_access");return}mt.value="",lt.value=["read"],k.value=null,Qt.value=!0}function fs(d){const K=lt.value.indexOf(d);K===-1?lt.value.push(d):lt.value.splice(K,1)}async function Ss(){if(!(!mt.value.trim()||!lt.value.length||u.value)){u.value=!0;try{k.value=await Ct(j.value,mt.value.trim(),[...lt.value]),await Zt(j.value)}catch(d){C.add({class:"mo-toast",title:r("settings.organisation.api_key_create_error"),description:d.message,color:"error"})}finally{u.value=!1}}}const vt=m(!1),Ae=m(null),Wt=m(!1);function ns(d){Ae.value=d,vt.value=!0}async function c(){if(!(Wt.value||!Ae.value)){Wt.value=!0;try{await nt(Ae.value.id),C.add({class:"mo-toast",title:r("settings.organisation.api_key_revoked_toast"),color:"success"}),vt.value=!1,Ae.value=null}catch(d){C.add({class:"mo-toast",title:r("common.error"),description:d.message,color:"error"})}finally{Wt.value=!1}}}const _=m(!1),_e=m(null),l=m(!1);function y(d){_e.value=d,_.value=!0}async function de(){if(!(l.value||!_e.value)){l.value=!0;try{await fe(_e.value.id),C.add({class:"mo-toast",title:r("settings.organisation.api_key_deleted_toast"),color:"success"}),_.value=!1,_e.value=null}catch(d){C.add({class:"mo-toast",title:r("common.error"),description:d.message,color:"error"})}finally{l.value=!1}}}Ps({escape:{usingInput:!0,handler:()=>{_.value?_.value=!1:vt.value&&(vt.value=!1)}},enter:{handler:()=>{_.value?de():vt.value&&c()}}}),is(()=>{f.value&&j.value&&Zt(j.value)}),ue(j,d=>{f.value&&d&&Zt(d)});const pe=m(null),xe=m(!1),Dt=x(()=>D.value?.logo_url||null),ds=x(()=>(D.value?.name||"").slice(0,2).toUpperCase());async function Nt(d){const K=d.target.files?.[0];if(K){if(K.size>sa){C.add({class:"mo-toast",title:r("settings.organisation.logo_too_large"),color:"error"});return}xe.value=!0;try{await q(K,j.value),C.add({class:"mo-toast",title:r("settings.organisation.logo_updated"),color:"success"})}catch(Js){C.add({class:"mo-toast",title:r("settings.organisation.logo_upload_error"),description:Js.message,color:"error"})}finally{xe.value=!1,pe.value&&(pe.value.value="")}}}async function Yt(){xe.value=!0;try{await V(j.value),C.add({class:"mo-toast",title:r("settings.organisation.logo_removed"),color:"success"})}catch(d){C.add({class:"mo-toast",title:r("common.error"),description:d.message,color:"error"})}finally{xe.value=!1}}const At=m(""),Je=m(!1);ue(()=>D.value?.pdf_footer,d=>{At.value=d??""},{immediate:!0});function vs(d){return d.replace(/[\r\n]+/g," ")}async function ys(){if(f.value){Je.value=!0;try{await Y(j.value,{pdf_footer:vs(At.value).trim()||null}),C.add({class:"mo-toast",title:r("settings.organisation.pdf_footer_saved"),color:"success"})}catch(d){C.add({class:"mo-toast",title:r("common.error"),description:d.message,color:"error"})}finally{Je.value=!1}}}const as=m({used_bytes:0,agent_only_bytes:0,limit_mb:500}),bs=m(!1);async function hs(){if(!j.value)return;const{data:d,error:K}=await P.rpc("get_org_storage_usage",{p_org_id:j.value});!K&&d&&(as.value=d)}const Vs=x(()=>as.value.limit_mb??500),Ms=x(()=>Vs.value*1024*1024),js=x(()=>as.value.used_bytes??0),ls=x(()=>Ms.value?Math.min(100,Math.round(js.value/Ms.value*100)):0),p=x(()=>ls.value>=100),Be=x(()=>ls.value>
1=Zl&&!p.value),Ys=x(()=>p.value?"error":Be.value?"warning":"secondary"),zs=x(()=>as.value.agent_only_bytes??0);function Ns(d){const K=Number(d)||0;return K>=1024&&K%1024===0?`${K/1024} GB`:`${K} MB`}function N(d){return d<1024?`${d} B`:d<1024*1024?`${(d/1024).toFixed(0)} KB`:d<1024*1024*1024?`${(d/1024/1024).toFixed(1)} MB`:`${(d/1024/1024/1024).toFixed(2)} GB`}function He(d){return d?new Intl.DateTimeFormat("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"}).format(new Date(d)):"—"}const Xs=_a(),ia=ta();return is(()=>{b(),hs();const d=Xs.query.checkout;d==="success"?(C.add({class:"mo-toast",title:r("stripe.checkout_success_title"),description:r("stripe.checkout_success_desc"),color:"success"}),ia.replace({query:{...Xs.query,checkout:void 0}})):d==="cancel"&&(C.add({class:"mo-toast",title:r("stripe.checkout_cancel_title"),description:r("stripe.checkout_cancel_desc"),color:"warning"}),ia.replace({query:{...Xs.query,checkout:void 0}}))}),ue(j,()=>{b(),hs()}),(d,K)=>{const Js=Hs,Ze=ts,Qe=Xt,ra=ps,ca=$s,Ea=Ws,Ia=_s,As=ws,Oa=xa,Zs=ks,da=ka,ua=co,La=Ka,Rs=ms,Da=Ha,Na=wa,Ra=_o,Fa=uo;return o(),i("div",jo,[a(As,{class:"no-hover m-0"},{header:n(()=>[t("span",Ao,s(d.$t("settings.organisation.general_title")),1)]),default:n(()=>[t("div",To,[t("div",Po,[t("div",zo,[a(Js,{src:e(Dt)||void 0,text:e(Dt)?void 0:e(ds),size:"xl",class:"avatar avatar-large z-0"},null,8,["src","text"]),e(xe)?(o(),i("div",Eo,[a(Ze,{name:"i-lucide-loader-circle",class:"animate-spin text-white w-5 h-5"})])):h("",!0)]),t("div",Io,[t("p",Oo,s(d.$t("settings.organisation.logo_label")),1),t("div",Lo,[t("input",{ref_key:"logoFileInput",ref:pe,type:"file",accept:"image/jpeg,image/png,image/webp",class:"hidden",onChange:Nt},null,544),a(Qe,{size:"xs",color:"secondary",variant:"subtle",icon:"mosy:arrow-up-from-bracket",disabled:e(xe)||!e(f),onClick:K[0]||(K[0]=ae=>e(pe)?.click())},{default:n(()=>[g(s(e(Dt)?d.$t("settings.organisation.logo_change"):d.$t("settings.organisation.logo_upload")),1)]),_:1},8,["disabled"]),e(Dt)?(o(),E(Qe,{key:0,color:"error",variant:"subtle",icon:"mosy:trash",size:"sm",disabled:e(xe)||!e(f),onClick:Yt},{default:n(()=>[g(s(d.$t("settings.organisation.logo_remove")),1)]),_:1},8,["disabled"])):h("",!0)]),t("p",Do,s(d.$t("settings.organisation.logo_hint")),1)])]),t("div",No,[a(ca,{label:d.$t("settings.organisation.name_label"),class:"flex-1"},{default:n(()=>[a(ra,{modelValue:e(Q),"onUpdate:modelValue":K[1]||(K[1]=ae=>ye(Q)?Q.value=ae:null),maxlength:e(X),placeholder:d.$t("settings.workspace.name_placeholder"),disabled:!e(f),onKeydown:et(Ce,["enter"])},null,8,["modelValue","maxlength","placeholder","disabled"])]),_:1},8,["label"]),a(Qe,{loading:e(Ye),disabled:!e(f),onClick:Ce},{default:n(()=>[g(s(d.$t("common.save")),1)]),_:1},8,["loading","disabled"])]),t("div",Ro,[t("p",Fo,s(d.$t("settings.organisation.color_label")),1),e(B)("workspace_color",!0)?(o(),i(F,{key:0},[a(Ea,{modelValue:e(Se),"onUpdate:modelValue":K[2]||(K[2]=ae=>ye(Se)?Se.value=ae:null),"show-presets":!1,disabled:!e(f)},null,8,["modelValue","disabled"]),t("div",Bo,[a(Qe,{size:"xs",loading:e(Te),disabled:!e(f),onClick:Fe},{default:n(()=>[g(s(d.$t("common.save")),1)]),_:1},8,["loading","disabled"]),e(D)?.color?(o(),E(Qe,{key:0,size:"xs",color:"secondary",variant:"subtle",icon:"mosy:trash",disabled:e(Te)||!e(f),onClick:ut},null,8,["disabled"])):h("",!0)])],64)):(o(),i("p",Ko,s(d.$t("settings.organisation.color_rocket_only")),1))]),e(A)?(o(),i("div",Ho,[t("div",null,[t("p",qo,s(d.$t("settings.organisation.cream_label")),1),t("p",Wo,s(d.$t("settings.organisation.cream_hint")),1)]),a(Ia,{"model-value":e(W),loading:e(Pe),disabled:!e(f),color:"secondary",class:"shrink-0","onUpdate:modelValue":Kt},null,8,["model-value","loading","disabled"])])):h("",!0)])]),_:1}),a(As,{class:ge(["no-hover m-0 bg-secondary-200/45!",{"mb-background":e(A)}])},{header:n(()=>[t("span",{class:ge(["font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading",{"text-white":e(A)}])},s(d.$t("settings.organisation.subscription_title")),3)]),default:n(()=>[t("div",Go,[e(S)?(o(),i("div",Yo,[a(Ze,{name:"i-lucide-loader-2",class:ge(["animate-spin text-muted",{"text-white":e(A)}])},null,8,["class"])])):(o(),i(F,{key:1},[t("div",Xo,[t("div",Jo,[t("p",{class:ge(["text-[15px] font-semibold mb-3 text-secondary-700",{"text-white":e(A)}])},s(d.$t("settings.organisation.plan_label")),3),t("div",Zo,[a(Oa,{class:"max-w-[52px]!",light:!0}),t("p",{class:ge(["font-waden text-secondary-700 text-xl translate-y-0.5",{"text-white":e(A)}])},"marble work",2),t("div",Qo,[a(Zs,{color:e(A)?"neutral":"secondary",variant:"solid",size:"lg",class:ge(["font-semibold px-3 rounded-2xl bg-secondary-600 capitalize",{"bg-[#537C7F]! font-bold ring-1 ring-white/70 text-white! py-1!":e(A)}])},{default:n(()=>[g(s(e(le)),1),e(Z)?(o(),i(F,{key:0},[g(" · Tester")],64)):h("",!0)]),_:1},8,["color","class"]),e(ee)&&!e(Z)?(o(),i("span",{key:0,class:ge(["text-sm text-[#639598] font-medium",{"text-white/90!":e(A)}])},"· "+s(e(ee)),3)):h("",!0)])])])]),e(be)&&!e(Z)?(o(),i("div",en,[e(z)&&!e(ie)&&!e(T)?(o(),i("div",tn,[a(Ze,{name:"mosy:rocket-launch",class:"w-3.5 h-3.5 shrink-0"}),g(" "+s(d.$t("settings.organisation.plan_trial",{days:e(ke),date:He(e(we))})),1)])):e(ie)||e(T)?(o(),i("div",sn,s(d.$t("settings.organisation.plan_ends",{date:He(e(T)||e(be))})),1)):(o(),i("div",{key:2,class:ge(["text-white px-3 py-1 bg-white/20 ring-1 ring-white/80 rounded-2xl text-[13px]",{"bg-secondary-400!":e(le)==="free"}])},s(d.$t("settings.organisation.plan_renews",{date:He(e(be))})),3))])):e(le)==="free"?(o(),i("div",an,s(d.$t("settings.organisation.plan_free_desc")),1)):h("",!0),e(gt)&&e(Ge)?(o(),i("div",on,[t("p",nn,s(d.$t("settings.organisation.plan_breakdown_title")),1),t("div",ln,[t("span",rn,s(d.$t(e(tt)==="rocket"?"settings.organisation.plan_base_price_rocket":"settings.organisation.plan_base_price")),1),t("span",cn,[g(s(e(Ge))+" ",1),t("span",dn,s(e(Me)),1)])]),e(Ke)>0?(o(),i("div",un,[t("span",mn,s(e(Ke)===1?d.$t("settings.organisation.plan_members_line",{count:e(Ke),price:e(Ut)}):d.$t("settings.organisation.plan_members_line_plural",{count:e(Ke),price:e(Ut)})),1),t("span",pn,[g(s(e(dt))+" ",1),t("span",_n,s(e(Me)),1)])])):h("",!0),e($)?(o(),i("div",gn,[t("span",fn,s(d.$t("settings.organisation.plan_discount")),1),t("span",vn,s(e($)),1)])):h("",!0),K[23]||(K[23]=t("div",{class:"h-px bg-white/25 my-1.5"},null,-1)),t("div",yn,[t("span",bn,s(d.$t("settings.organisation.plan_total")),1),t("div",hn,[e(ot)?(o(),i("p",xn,s(e(ot)),1)):h("",!0),t("p",null,[g(s(e(Oe))+" ",1),t("span",kn,s(e(Me)),1)])])]),t("p",$n,s(d.$t("settings.organisation.plan_breakdown_hint")),1)])):h("",!0),e(le)==="free"?(o(),i("div",wn,[t("p",Cn,s(d.$t("upsell.description")),1)])):h("",!0),e(le)==="free"?(o(),i(F,{key:4},[e(te)?(o(),E(da,{key:0,labelColor:"text-white!",class:"bg-secondary-400 border-white!"},{default:n(()=>[g(s(d.$t("native.pro_web_only")),1)]),_:1})):(o(),i("button",{key:1,class:"mb-btn flex items-center justify-center gap-2 px-5 py-3.5 rounded-[22px] text-white text-[15px] font-bold shadow-sm transition-all duration-150 hover:shadow-md hover:scale-[1.02] active:scale-[0.99] hover:cursor-pointer",onClick:K[3]||(K[3]=ae=>ht.value=!0)},[e(M)?(o(),i("span",Un,s(d.$t("settings.organisation.stripe_portal_pro")),1)):(o(),i("span",Sn,s(d.$t("settings.organisation.stripe_portal_pro_test")),1)),a(Ze,{name:"mosy:rocket-launch",class:"w-5 h-5"})]))],64)):e(A)?(o(),i(F,{key:5},[e(te)?(o(),E(da,{key:0,class:"bg-secondary-50/90! border-white!"},{default:n(()=>[g(s(d.$t("native.manage_on_web")),1)]),_:1})):h("",!0),e(R)&&e(U)?(o(),i("div",Vn,[a(Ze,{name:"mosy:hourglass-clock",class:"w-3.5 h-3.5 shrink-0"}),t("span",null,s(d.$t("settings.organisation.plan_pending",{plan:e(R)==="rocket"?"Rocket":"Pro",date:He(e(U))})),1),e(te)?h("",!0):(o(),i("button",{key:0,type:"button",class:"underline font-semibold hover:cursor-pointer disabled:opacity-60",disabled:e(Lt),onClick:Us},s(d.$t("settings.organisation.plan_pending_cancel")),9,Mn))])):e(te)?h("",!0):(o(),i("div",jn,[e(re)?(o(),i(F,{key:0},[t("button",{class:"bg-white shadow-none! flex items-center justify-center gap-2 px-5 py-3.5 rounded-[22px] border border-[#9CBDBF] text-[#639598] text-[15px] font-bold transition-all duration-150 hover:shadow-md hover:scale-[1.02] active:scale-[0.99] hover:cursor-pointer disabled:opacity-60 disabled:cursor-not-allowed",disabled:e(qe),onClick:K[4]||(K[4]=ae=>e($e)())},[e(qe)?(o(),E(Ze,{key:0,name:"i-lucide-loader-circle",class:"w-5 h-5 animate-spin"})):(o(),i(F,{key:1},[t("span",Tn,s(d.$t("settings.organisation.plan_resume")),1),a(Ze,{name:"mosy:rocket-launch",class:"w-5 h-5"})],64))],8,An),t("p",Pn,s(d.$t("settings.organisation.plan_resume_hint")),1)],64)):(o(),i("button",{key:1,class:"bg-white shadow-none! flex items-center justify-center gap-2 px-5 py-3.5 rounded-[22px] border border-[#9CBDBF] text-[#639598] text-[15px] font-bold transition-all duration-150 hover:shadow-md hover:scale-[1.02] active:scale-[0.99] hover:cursor-pointer disabled:opacity-60 disabled:cursor-not-allowed",disabled:e(qe),onClick:K[5]||(K[5]=ae=>e($e)())},[e(qe)?(o(),E(Ze,{key:0,name:"i-lucide-loader-circle",class:"w-5 h-5 animate-spin"})):(o(),i(F,{key:1},[t("span",En,s(d.$t("settings.organisation.stripe_portal")),1),a(Ze,{name:"mosy:pen",class:"w-4.5 h-4.5"})],64))],8,zn)),e(me)==="pro"&&!e(Z)&&!e(re)?(o(),i("button",{key:2,class:"mb-btn flex items-center justify-center gap-2 px-5 py-3.5 rounded-[22px] text-white text-[15px] font-bold shadow-sm transition-all duration-150 hover:shadow-md hover:scale-[1.02] active:scale-[0.99] hover:cursor-pointer border-2 border-secondary-300",onClick:K[6]||(K[6]=ae=>ht.value="rocket")},[t("span",In,s(d.$t("settings.organisation.plan_rocket_upgrade")),1),a(Ze,{name:"mosy:rocket-launch",class:"w-5 h-5"})])):h("",!0),e(me)==="rocket"&&!e(Z)&&!e(re)?(o(),i("button",{key:3,class:"flex items-center justify-center gap-2 px-5 py-3.5 rounded-[22px] text-white bg-white/30 backdrop-blur-xs ring-secondary-300 text-[14px] font-semibold underline-offset-2 hover:underline hover:cursor-pointer",onClick:se},s(d.$t("settings.organisation.plan_switch_pro")),1)):h("",!0)]))],64)):h("",!0)],64))])]),_:1},8,["class"]),a(Rs,{open:e(ce),close:!1,"onUpdate:open":K[10]||(K[10]=ae=>ce.value=ae)},{title:n(()=>[t("div",On,[a(Ze,{name:"mosy:triangle-exclamation",class:"text-amber-500 shrink-0"}),g(" "+s(d.$t("settings.organisation.plan_switch_pro_confirm_title")),1)])]),description:n(()=>[g(s(d.$t("settings.organisation.plan_switch_pro_confirm_desc")),1
1)]),body:n(()=>[e(Ve)===null&&e(bt)?(o(),i("div",Ln,[a(ua,{class:"h-4 w-56 rounded-lg"})])):e(Ve)&&e(Ve).length?(o(),i("div",Dn,[t("p",Nn,s(d.$t("settings.organisation.plan_switch_blocked")),1),t("div",Rn,[(o(!0),i(F,null,De(e(Ve),ae=>(o(),E(La,{key:ae.key,to:ae.to,class:"w-full flex items-center gap-3 px-3 py-2 rounded-xl border border-secondary-200 bg-white text-sm font-medium text-secondary-700 hover:bg-secondary-50 transition-all",onClick:K[7]||(K[7]=xs=>ce.value=!1)},{default:n(()=>[a(Ze,{name:"mosy:triangle-exclamation",class:"w-4 h-4 shrink-0 text-amber-500"}),t("span",Fn,s(ae.text),1),a(Ze,{name:"i-lucide-chevron-right",class:"w-4 h-4 shrink-0 text-secondary-400"})]),_:2},1032,["to"]))),128))]),a(Qe,{size:"sm",color:"secondary",class:"mt-2",icon:"mosy:trash",onClick:K[8]||(K[8]=ae=>Gt.value=!0)},{default:n(()=>[g(s(d.$t("plan_cleanup.open_btn")),1)]),_:1})])):h("",!0),t("p",Bn,s(d.$t("settings.organisation.plan_switch_pro_confirm_list")),1),t("div",Kn,[e(Mt)?(o(),E(ua,{key:0,class:"h-4 w-56 rounded-lg"})):e(je)?(o(),i("span",Hn,[g(s(e(je))+" ",1),t("span",qn,s(d.$t("upsell.interval_excl_vat")),1)])):(o(),i("span",Wn,s(d.$t("upsell.change_preview_unavailable")),1))])]),footer:n(()=>[t("div",Gn,[a(Qe,{variant:"ghost",color:"secondary",icon:"mosy:arrows-repeat",loading:e(bt),onClick:kt},{default:n(()=>[g(s(d.$t("plan_downgrade.recheck")),1)]),_:1},8,["loading"]),t("div",Yn,[a(Qe,{variant:"subtle",color:"secondary",disabled:e(Ee),onClick:K[9]||(K[9]=ae=>ce.value=!1)},{default:n(()=>[g(s(d.$t("common.cancel")),1)]),_:1},8,["disabled"]),a(Qe,{color:"secondary",loading:e(Ee),disabled:!e($t),onClick:Le},{default:n(()=>[g(s(d.$t("settings.organisation.plan_switch_pro_confirm_btn")),1)]),_:1},8,["loading","disabled"])])])]),_:1},8,["open"]),a(As,{class:"no-hover m-0 xl:col-span-1"},{header:n(()=>[t("span",Xn,s(d.$t("settings.organisation.storage_title")),1)]),default:n(()=>[t("div",Jn,[t("div",Zn,[t("div",Qn,[t("span",null,s(d.$t("settings.organisation.storage_usage",{used:N(e(js)),total:Ns(e(Vs))})),1),t("span",null,s(e(ls))+"%",1)]),e(zs)?(o(),i("p",el,s(d.$t("settings.organisation.storage_agent_share",{used:N(e(zs))})),1)):h("",!0),a(Da,{"model-value":e(ls),color:e(Ys),size:"sm"},null,8,["model-value","color"]),e(p)||e(Be)?(o(),i("div",{key:1,class:ge(["flex items-start gap-2 mt-3.5 rounded-xl px-3 py-2 ring-1",e(p)?"bg-rose-50 text-rose-600 ring-rose-300":"bg-amber-50 text-amber-700 ring-amber-400"])},[a(Ze,{name:"mosy:triangle-exclamation",class:"w-3.5 h-3.5 mt-0.5 shrink-0"}),t("span",tl,s(e(p)?d.$t("settings.organisation.storage_full"):d.$t("settings.organisation.storage_warning",{pct:e(ls)})),1)],2)):h("",!0)]),t("p",sl,s(d.$t("settings.organisation.storage_hint")),1),e(bs)?(o(),i("div",al,[a(Qe,{size:"sm",color:"secondary",variant:"subtle",icon:"mosy:floppy-disk",onClick:()=>{}},{default:n(()=>[g(s(d.$t("settings.organisation.storage_manage")),1)]),_:1})])):h("",!0)])]),_:1}),e(f)?(o(),E(As,{key:0,class:"no-hover m-0 xl:col-span-1"},{header:n(()=>[t("span",ol,s(d.$t("settings.organisation.api_title")),1)]),default:n(()=>[t("div",nl,[t("p",ll,s(d.$t("settings.organisation.api_hint")),1),e(Ie)&&!e(B)("api_access",!0)?(o(),E(Na,{key:0,plan:"rocket",title:d.$t("upsell.api_title")},null,8,["title"])):h("",!0),t("div",il,[(o(!0),i(F,null,De([{l:d.$t("settings.organisation.api_rest_url_label"),u:e(Xe),d:St("rest")},{l:d.$t("settings.organisation.api_mcp_url_label"),u:e(Ht),d:St("mcp")}],ae=>(o(),i("div",{key:ae.l},[t("div",rl,[t("p",cl,s(ae.l),1),t("a",{href:ae.d,target:"_blank",rel:"noopener noreferrer",class:"text-xs font-medium text-secondary-500 hover:text-secondary-700 inline-flex items-center gap-1 shrink-0"},[a(Ze,{name:"mosy:books",class:"w-3 h-3 shrink-0"}),g(" "+s(d.$t("settings.organisation.api_docs_link")),1)],8,dl)]),t("div",ul,[t("code",ml,s(ae.u),1),a(Qe,{icon:"mosy:copy",size:"xs",color:"secondary",variant:"subtle","aria-label":d.$t("settings.organisation.api_url_copied"),onClick:xs=>ss(ae.u,d.$t("settings.organisation.api_url_copied"))},null,8,["aria-label","onClick"])])]))),128))]),t("div",pl,[t("div",_l,[t("p",gl,s(d.$t("settings.organisation.api_keys_title")),1),a(Qe,{icon:"mosy:circle-plus",size:"xs",color:"secondary",variant:"subtle",onClick:es,class:"ml-auto"},{default:n(()=>[g(s(d.$t("settings.organisation.api_key_create")),1)]),_:1})]),e(gs)?(o(),i("div",fl,[a(Ze,{name:"i-lucide-loader-circle",class:"w-5 h-5 animate-spin text-secondary-300"})])):e(It).length?(o(),i("div",yl,[(o(!0),i(F,null,De(e(It),ae=>(o(),i("div",{key:ae.id,class:"flex items-start justify-between gap-2.5 rounded-2xl bg-white ring-1 ring-secondary-100 px-3 py-2.5"},[t("div",{class:ge(["min-w-0",{"opacity-55":ae.revoked_at}])},[t("div",bl,[t("span",hl,s(ae.name),1),t("code",xl,s(ae.key_prefix),1),ae.revoked_at?(o(),E(Zs,{key:0,size:"sm",color:"error",variant:"subtle",class:"mo-custom-badge mo-custom-badge-no-colors"},{default:n(()=>[g(s(d.$t("settings.organisation.api_key_revoked_badge")),1)]),_:1})):h("",!0)]),t("div",kl,[(o(!0),i(F,null,De(ae.scopes,xs=>(o(),E(Zs,{key:xs,size:"sm",color:"secondary",variant:"soft",class:"ring ring-1 ring-secondary-200 mo-custom-badge mo-custom-badge-no-colors"},{default:n(()=>[g(s(xs),1)]),_:2},1024))),128))]),t("p",$l,s(ae.last_used_at?d.$t("settings.organisation.api_key_last_used",{date:new Date(ae.last_used_at).toLocaleStr
1ing()}):d.$t("settings.organisation.api_key_never_used")),1)],2),ae.revoked_at?(o(),E(Qe,{key:1,icon:"mosy:trash",size:"xs",color:"error",variant:"ghost",class:"shrink-0 px-3!","aria-label":d.$t("settings.organisation.api_key_delete"),onClick:xs=>y(ae)},null,8,["aria-label","onClick"])):(o(),E(Qe,{key:0,icon:"mosy:circle-xmark",size:"xs",color:"error",variant:"ghost",class:"shrink-0 px-3!","aria-label":d.$t("settings.organisation.api_key_revoke"),onClick:xs=>ns(ae)},null,8,["aria-label","onClick"]))]))),128))])):(o(),i("p",vl,s(d.$t("settings.organisation.api_keys_empty")),1))])])]),_:1})):h("",!0),a(As,{class:"no-hover m-0 xl:col-span-2"},{header:n(()=>[t("span",wl,s(d.$t("settings.organisation.pdf_footer_title")),1)]),default:n(()=>[t("div",Cl,[t("div",Ul,[t("p",Sl,[a(Ze,{name:"mosy:circle-info",class:"w-4 h-4 mt-px shrink-0 translate-y-[1px]"}),g(" "+s(d.$t("settings.organisation.pdf_footer_hint")),1)]),t("span",Vl,s(d.$t("settings.organisation.pdf_footer_hint_max")),1)]),t("div",Ml,[a(Ra,{"model-value":e(At),placeholder:d.$t("settings.organisation.pdf_footer_placeholder"),disabled:!e(f),"break-all-custom":"2",maxlength:512,autoresize:"",class:"flex-1 max-w-full! w-full",onKeydown:[K[11]||(K[11]=et(Tt(()=>{},["prevent"]),["enter"])),K[12]||(K[12]=et(Tt(()=>{},["shift","prevent"]),["enter"]))],"onUpdate:modelValue":K[13]||(K[13]=ae=>{At.value=/[\r\n]/.test(ae)?vs(ae):ae})},null,8,["model-value","placeholder","disabled"]),a(Qe,{loading:e(Je),disabled:!e(f),onClick:ys},{default:n(()=>[g(s(d.$t("common.save")),1)]),_:1},8,["loading","disabled"])])])]),_:1}),a(As,{class:"no-hover m-0 xl:col-span-1"},{header:n(()=>[t("span",jl,s(d.$t("settings.organisation.cookies_title")),1)]),default:n(()=>[t("div",Al,[t("p",Tl,[a(Ze,{name:"mosy:circle-info",class:"w-4 h-4 mt-px shrink-0 translate-y-[1px]"}),g(" "+s(d.$t("settings.organisation.cookies_hint")),1)]),a(Qe,{icon:"mosy:cookie-bite",class:"shrink-0",onClick:oe},{default:n(()=>[g(s(d.$t("settings.organisation.cookies_button")),1)]),_:1})])]),_:1}),a(Rs,{open:e(Qt),close:!1,"onUpdate:open":K[17]||(K[17]=ae=>Qt.value=ae)},{title:n(()=>[t("div",Pl,[a(Ze,{name:"mosy:circle-plus",class:"text-secondary-500 shrink-0"}),g(" "+s(d.$t("settings.organisation.api_key_create")),1)])]),body:n(()=>[e(k)?(o(),i("div",zl,[t("p",El,s(d.$t("settings.organisation.api_key_created_title")),1),t("div",Il,[t("code",Ol,s(e(k).key),1),a(Qe,{icon:"mosy:copy",size:"xs",color:"secondary",variant:"subtle",onClick:K[14]||(K[14]=ae=>ss(e(k).key,d.$t("settings.organisation.api_key_copied")))},{default:n(()=>[g(s(d.$t("settings.organisation.api_key_copy")),1)]),_:1})]),t("div",Ll,[a(Ze,{name:"mosy:triangle-exclamation",class:"w-4 h-4 shrink-0 mt-px"}),t("span",Dl,s(d.$t("settings.organisation.api_key_created_warning")),1)])])):(o(),i("div",Nl,[a(ca,{label:d.$t("settings.organisation.api_key_name_label")},{default:n(()=>[a(ra,{modelValue:e(mt),"onUpdate:modelValue":K[15]||(K[15]=ae=>ye(mt)?mt.value=ae:null),placeholder:d.$t("settings.organisation.api_key_name_placeholder"),class:"w-full",autofocus:""},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),t("div",null,[t("p",Rl,s(d.$t("settings.organisation.api_key_scopes_label")),1),t("div",Fl,[(o(),i(F,null,De(Vt,ae=>t("button",{key:ae,type:"button",class:ge(["flex items-start gap-2.5 rounded-2xl border p-2.5 text-left transition-colors",e(lt).includes(ae)?"border-secondary-400 bg-secondary-500/15":"border-secondary-200 hover:bg-secondary-100"]),onClick:xs=>fs(ae)},[a(Ze,{name:e(lt).includes(ae)?"mosy:square-check":"i-lucide-square",class:ge(["w-5 h-5 shrink-0 mt-0.5",e(lt).includes(ae)?"text-secondary-600":"text-secondary-400"])},null,8,["name","class"]),t("span",Kl,[t("span",Hl,s(d.$t(`settings.organisation.api_scope_${ae}`)),1),t("span",ql,s(d.$t(`settings.organisation.api_scope_${ae}_hint`)),1)])],10,Bl)),64))])])]))]),footer:n(()=>[t("div",Wl,[a(Qe,{variant:"subtle",color:"secondary",onClick:K[16]||(K[16]=ae=>Qt.value=!1)},{default:n(()=>[g(s(e(k)?d.$t("common.close"):d.$t("common.cancel")),1)]),_:1}),e(k)?h("",!0):(o(),E(Qe,{key:0,color:"secondary",icon:"mosy:circle-plus",loading:e(u),disabled:!e(mt).trim()||!e(lt).length,onClick:Ss},{default:n(()=>[g(s(d.$t("settings.organisation.api_key_create")),1)]),_:1},8,["loading","disabled"]))])]),_:1},8,["open"]),a(Rs,{open:e(vt),close:!1,"onUpdate:open":K[19]||(K[19]=ae=>vt.value=ae)},{title:n(()=>[t("div",Gl,[a(Ze,{name:"mosy:triangle-exclamation",class:"text-rose-400 shrink-0"}),g(" "+s(d.$t("settings.organisation.api_key_revoke_confirm_title")),1)])]),description:n(()=>[g(s(d.$t("settings.organisation.api_key_revoke_confirm_text",{name:e(Ae)?.name})),1)]),footer:n(()=>[t("div",Yl,[a(Qe,{variant:"subtle",color:"secondary",onClick:K[18]||(K[18]=ae=>vt.value=!1)},{default:n(()=>[g(s(d.$t("common.cancel")),1)]),_:1}),a(Qe,{color:"error",icon:"mosy:circle-xmark",loading:e(Wt),onClick:c},{default:n(()=>[g(s(d.$t("settings.organisation.api_key_revoke")),1)]),_:1},8,["loading"])])]),_:1},8,["open"]),a(Rs,{open:e(_),close:!1,"onUpdate:open":K[21]||(K[21]=ae=>_.value=ae)},{title:n(()=>[t("div",Xl,[a(Ze,{name:"mosy:triangle-exclamation",class:"text-rose-400 shrink-0"}),g(" "+s(d.$t("settings.organisation.api_key_delete_confirm_title")),1)])]),description:n(()=>[g(s(d.$t("settings.organisation.api_key_delete_confirm_text",{name:e(_e)?.name})),1)]),footer:n(()=>[t("div",Jl,[a(Qe,{variant:"subtle",color:"secondary",onClick:K[20]||(K[20]=ae=>_.value=!1)},{default:n(()=>[g(s(d.$t("common.cancel")),1)]),_:1}),a(Qe,{color:"error",icon:"mosy:trash",loading:e(l),onClick:de},{default:n(()=>[g(s(d.$t("settings.organisation.api_key_delete")),1)]),_:1},8,["loading"])])]),_:1},8,["open"]),a(Fa,{open:e(Gt),"onUpdate:open":K[22]||(K[22]=ae=>ye(Gt)?Gt.value=ae:null),plan:"pro",onDone:kt},null,8,["open"])])}}},ei={class:"space-y-5"},ti={class:"flex justify-end mb-3"},si={class:"text-[15px] font-waden text-white bg-secondary-500 px-3 pr-2 pb-1 pt-2 roun
1ded-xl flex items-center justify-between gap-3"},ai={key:0,class:"text-xs text-secondary-600/80 pl-[5px]!"},oi={key:1,class:"text-xs text-secondary-600/80 pl-[5px]!"},ni={class:"min-w-0"},li={key:0,class:"text-xs text-secondary-500 pl-[5px]!"},ii={__name:"SettingsMemberRightsFields",props:{form:{type:Object,required:!0}},setup(G){const r=G,{t:v}=Rt(),{settingsOrg:C}=Ft(),{labelProject:P,labelProjects:I,labelClients:X,labelSubtasks:oe,labelTasks:J}=Cs(C),L=x(()=>[{key:"tasks_ai",title:v("settings.organisation.rights.group_tasks_ai",{tasks:J.value}),rows:[{field:"can_manage_tasks",label:v("settings.organisation.rights.manage_tasks",{tasks:J.value}),hint:v("settings.organisation.rights.manage_tasks_hint")},{field:"can_delete_tasks",label:v("settings.organisation.rights.delete_tasks",{tasks:J.value})}]},{key:"intelligence",title:v("settings.organisation.rights.group_intelligence"),master:"can_access_intelligence",masterOffHint:v("settings.organisation.rights.access_intelligence_off"),rows:[{field:"can_run_ai_tasks",label:v("settings.organisation.rights.run_ai_tasks"),hint:v("settings.organisation.rights.run_ai_tasks_hint")},{field:"can_manage_agents",label:v("settings.organisation.rights.manage_agents"),hint:v("settings.organisation.rights.manage_agents_hint")},{field:"can_delete_agents",label:v("settings.organisation.rights.delete_agents")},{field:"can_manage_connectors",label:v("settings.organisation.rights.manage_connectors"),hint:v("settings.organisation.rights.manage_connectors_hint")},{field:"can_manage_skills",label:v("settings.organisation.rights.manage_skills")},{field:"can_delete_skills",label:v("settings.organisation.rights.delete_skills")},{field:"can_manage_knowledge",label:v("settings.organisation.rights.manage_knowledge")},{field:"can_delete_knowledge",label:v("settings.organisation.rights.delete_knowledge")},{field:"can_assign_external_agents",label:v("settings.organisation.rights.assign_external_agents"),hint:v("settings.organisation.rights.assign_external_agents_hint")}]},{key:"chat",title:v("settings.organisation.rights.group_chat"),dependsOn:"can_access_intelligence",masterOffHint:v("settings.organisation.rights.chat_needs_intelligence"),rows:[{field:"can_chat_llm",label:v("settings.organisation.rights.chat_llm"),hint:v("settings.organisation.rights.chat_llm_hint")},{field:"can_chat_external",label:v("settings.organisation.rights.chat_external")}]},{key:"create",title:v("settings.organisation.rights.group_create",{projects:I.value,clients:X.value}),rows:[{field:"can_create_projects",label:v("settings.organisation.can_create_projects",{projects:I.value})},{field:"can_create_subtasks",label:v("settings.organisation.can_create_subtasks",{subtasks:oe.value})},{field:"can_create_clients",label:v("settings.organisation.can_create_clients",{clients:X.value})}]},{key:"time",title:v("settings.organisation.rights.group_time",{project:P.value}),master:"can_access_project_times",masterOffHint:v("settings.organisation.rights.access_project_times_off"),rows:[{field:"see_all_time_entries",label:v("settings.organisation.see_all_time_entries",{project:P.value}),hint:v("settings.organisation.see_all_time_entries_hint",{project:P.value,projects:I.value})},{field:"can_export",label:v("settings.organisation.can_export",{project:P.value})}]},{key:"work_times",title:v("settings.organisation.rights.group_work_times"),master:"can_access_work_times",masterOffHint:v("settings.organisation.rights.access_work_times_off"),rows:[{field:"can_see_team_absences",label:v("settings.organisation.rights.see_team_absences"),hint:v("settings.organisation.rights.see_team_absences_hint")},{field:"can_see_team_work_times",label:v("settings.organisation.rights.see_team_work_times"),hint:v("settings.organisation.rights.see_team_work_times_hint")},{field:"can_export_work_times",label:v("settings.organisation.rights.export_work_times")}]}]);function H(V){const D=V.master||V.dependsOn;return!!D&&r.form[D]!==!0}function w(V,D){if(r.form[V.master]=D,D)return;const j=L.value.filter(f=>f.key===V.key||f.dependsOn===V.master);for(const f of j)for(const S of f.rows)r.form[S.field]=!1}const O=x(()=>L.value.flatMap(V=>[...V.master?[V.master]:[],...V.rows.map(D=>D.field)])),Y=x(()=>O.value.every(V=>r.form[V]===!0));function q(){const V=!Y.value;for(const D of O.value)r.form[D]=V}return(V,D)=>
1{const j=Xt,f=_s;return o(),i("div",ei,[t("div",ti,[a(j,{size:"xs",color:"secondary",variant:"subtle",class:"text-[14px]! px-3! py-1.5!",icon:e(Y)?"mosy:circle-xmark":"mosy:circle-check",onClick:q},{default:n(()=>[g(s(e(Y)?V.$t("settings.organisation.rights.deselect_all"):V.$t("settings.organisation.rights.select_all")),1)]),_:1},8,["icon"])]),(o(!0),i(F,null,De(e(L),S=>(o(),i("div",{key:S.key,class:"space-y-3"},[t("div",si,[t("span",null,s(S.title),1),S.master?(o(),E(f,{key:0,"model-value":r.form[S.master]===!0,color:"secondary",class:"shrink-0 mo-switch-on-dark -translate-y-0.5","aria-label":S.title,"onUpdate:modelValue":b=>w(S,b)},null,8,["model-value","aria-label","onUpdate:modelValue"])):h("",!0)]),H(S)?(o(),i("p",ai,s(S.masterOffHint),1)):S.masterOnHint?(o(),i("p",oi,s(S.masterOnHint),1)):h("",!0),(o(!0),i(F,null,De(H(S)?[]:S.rows,b=>(o(),i("div",{key:b.field,class:"flex items-start justify-between gap-3"},[t("div",ni,[t("label",{class:ge(["text-sm font-medium text-secondary-600 block",{"pb-0.5!":b.hint}])},s(b.label),3),b.hint?(o(),i("p",li,s(b.hint),1)):h("",!0)]),a(f,{modelValue:r.form[b.field],"onUpdate:modelValue":A=>r.form[b.field]=A,color:"secondary",class:"shrink-0 translate-y-0.5"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]))),128))])}}},ri=qs(ii,[["__scopeId","data-v-ee07590b"]]);function Ta(G=null){const r=rs(),{orgId:v}=Ft(),C=x(()=>G?.value??v.value),P=pa("orgRoles",()=>[]),I=m(!1),X=`id, organization_id, name, created_at, ${Bs.join(", ")}`;async function oe(){if(C.value){I.value=!0;try{const{data:w,error:O}=await r.from("org_roles").select(X).eq("organization_id",C.value).order("name");if(O)throw O;P.value=w||[]}finally{I.value=!1}}}async function J(w,O={}){const{data:Y,error:q}=await r.from("org_roles").insert({organization_id:C.value,name:w.trim(),...O}).select(X).single();if(q)throw q;return P.value=[...P.value,Y].sort((V,D)=>V.name.localeCompare(D.name)),Y}async function L(w,O){const{data:Y,error:q}=await r.from("org_roles").update(O).eq("id",w).select(X).single();if(q)throw q;const V=P.value.findIndex(D=>D.id===w);return V!==-1&&(P.value[V]=Y),P.value=[...P.value].sort((D,j)=>D.name.localeCompare(j.name)),Y}async function H(w){const{error:O}=await r.from("org_roles").delete().eq("id",w);if(O)throw O;P.value=P.value.filter(Y=>Y.id!==w)}return{roles:P,loading:I,fetchRoles:oe,createRole:J,updateRole:L,removeRole:H}}const ci={class:"flex items-center justify-between flex-wrap gap-2.5"},di={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},ui={class:"text-xs text-secondary-500 mb-4"},mi={key:0,class:"flex justify-center py-4"},pi={key:1,class:"space-y-2"},_i={class:"flex items-start gap-2.5 rounded-xl ring-1 ring-secondary-200 bg-secondary-50 px-3 py-2.5 mb-3"},gi={class:"min-w-0 flex-1"},fi={class:"text-sm font-semibold text-secondary-700 truncate"},vi={class:"text-xs text-secondary-500"},yi=["onClick","onKeydown"],bi={class:"min-w-0 flex-1"},hi={class:"text-sm font-semibold text-secondary-700 truncate"},xi={class:"text-xs text-secondary-500"},ki=["onKeydown"],$i={key:0,class:"text-xs text-rose-500 pl-1 font-medium -mt-2"},wi={class:"border-t border-(--ui-border) pt-4"},Ci={class:"flex gap-2 justify-end w-full"},Ui={class:"flex items-center gap-2"},Si={class:"flex gap-2 justify-end w-full"},Vi={__name:"SettingsRolesCard",props:{orgId:{type:String,default:null}},setup(G){const r=G,{t:v}=Rt(),C=cs(),P=x(()=>r.orgId),{roles:I,loading:X,fetchRoles:oe,createRole:J,updateRole:L,removeRole:H}=Ta(P);is(oe),ue(P,(R,U)=>{R&&R!==U&&oe()});const w=m(!1),O=m(null),Y=m(!1),q=m(""),V=os({name:"",...Qs});function D(){O.value=null,V.name="";for(const[R,U]of Object.entries(Qs))V[R]=U;q.value="",w.value=!0}function j(R){O.value=R,V.name=R.name;for(const[U,ee]of Object.entries(Qs))V[U]=R[U]??ee;q.value="",w.value=!0}async function f(){const R=V.name.trim();if(!(!R||Y.value)){Y.value=!0,q.value="";try{const U=Object.fromEntries(Bs.map(ee=>[ee,V[ee]]));O.value?await L(O.value.id,{name:R,...U}):await J(R,U),w.value=!1}catch(U){U?.code==="23505"?q.value=v("settings.organisation.roles.name_duplicate"):C.add({class:"mo-toast",title:v("common.error"),description:U.message,color:"error"})}finally{Y.value=!1}}}const S=m(!1),b=m(null),A=m(!1);function Z(R){b.value=R,S.value=!0}async function ne(){if(!(A.value||!b.value)){A.value=!0;try{await H(b.value.id),S.value=!1,b.value=null}catch(R){C.add({class:"mo-toast",title:v("common.error"),description:R.message,color:"error"})}finally{A.value=!1}}}function le(R){if(S.value){R.key==="Escape"?(S.value=!1,b.value=null):R.key==="Enter"&&ne();return}w.value&&R.key==="Escape"&&(w.value=!1)}ue([w,S],([R,U])=>{R||U?window.addEventListener("keydown",le):window.removeEventListener("keydown",le)}),Os(()=>window.removeEventListener("keydown",le));function me(R){return Bs.filter(U=>R[U]===!0).length}return(R,U)=>{const ee=Xt,be=ts,ie=ps,T=$s,z=ri,ke=ms,we=ws;return o(),E(we,{class:"no-hover m-0"},{header:n(()=>[t("div",ci,[t("span",di,s(R.$t("settings.organisation.roles.title")),1),a(ee,{size:"sm",icon:"mosy:circle-plus",class:"mo-button mo-button-small",onClick:D},{default:n(()=>[g(s(R.$t("settings.organisation.roles.new")),1)]),_:1})])]),default:n(()=>[t("p",ui,s(R.$t("settings.organisation.roles.hint")),1),e(X)?(o(),i("div",mi,[a(be,{name:"i-lucide-loader-circle",class:"w-5 h-5 animate-spin text-secondary-300"})])):(o(),i("div",pi,[t("div",_i,[a(be,{name:"mosy:lock",class:"w-4 h-4 shrink-0 text-secondary-500 translate-y-0.5"}),t("div",gi,[t("p",fi,s(R.$t("settings.organisation.roles.standard")),1),t("p",vi,s(R.$t("settings.organisation.roles.standard_hint")),1)])]),(o(!0),i(F,null,De(e(I),M=>(o(),i("div",{key:M.id,class:"flex items-center gap-2 border-b border-(--ui-border) last:border-0 px-3 py-2.5 hover:bg-secondary-100/60 hover:rounded-xl cursor-pointer",role:"button",tabindex:"0",onClick:re=>j(M),onKeydown:et(re=>j(M),["enter"])},[t("div",bi,[t("p",hi,s(M.name),1),t("p",xi,s(R.$t("settings.organisation.roles.rights_count",{count:me(M),total:e(Bs).length})),1)]),a(ee,{icon:"mosy:pen",color:"secondary",variant:"ghost",size:"xs",class:"shrink-0 px-3!","aria-label":R.$t("common.edit"),onClick:Tt(re=>j(M),["stop"])},null,8,["aria-label","onClick"]),a(ee,{icon:"mosy:trash",color:"secondary",variant:"ghost",size:"xs",class:"shrink-0 px-3!","aria-label":R.$t("common.delete"),onClick:Tt(re=>Z(M),["stop"])},null,8,["aria-label","onClick"])],40,yi))),128))])),a(ke,{open:e(w),title:e(O)?R.$t("settings.organisation.roles.edit_title"):R.$t("settings.organisation.roles.new_title"),ui:{width:"sm:max-w-md"},"onUpdate:open":U[2]||(U[2]=M=>w.value=M)},{body:n(()=>[t("div",{class:"space-y-4 mo-modal mo-no-max",onKeydown:et(Tt(f,["prevent"]),["enter"])},[a(T,{label:R.$t("settings.organisation.roles.name_label"),required:""},{default:n(()=>[a(ie,{modelValue:e(V).name,"onUpdate:modelValue":U[0]||(U[0]=M=>e(V).name=M),placeholder:R.$t("settings.organisation.roles.name_ph"),autofocus:"",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),e(q)?(o(),i("p",$i,s(e(q)),1)):h("",!0),t("div",wi,[a(z,{form:e(V)},null,8,["form"])])],40,ki)]),footer:n(()=>[t("div",Ci,[a(ee,{color:"neutral",variant:"outline",onClick:U[1]||(U[1]=M=>w.value=!1)},{default:n(()=>[g(s(R.$t("common.cancel")),1)]),_:1}),a(ee,{class:"mo-button mo-button-medium",loading:e(Y),disabled:!e(V).name.trim(),onClick:f},{default:n(()=>[g(s(R.$t("common.save")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["open","title"]),a(ke,{open:e(S),close:!1,"onUpdate:open":U[4]||(U[4]=M=>S.value=M)},{title:n(()=>[t("div",Ui,[a(be,{name:"mosy:triangle-exclamation",class:"text-rose-400 shrink-0"}),g(" "+s(R.$t("settings.organisation.roles.delete_title")),1)])]),description:n(()=>[g(s(R.$t("settings.organisation.roles.delete_desc",{name:e(b)?.name})),1)]),footer:n(()=>[t("div",Si,[a(ee,{variant:"subtle",color:"secondary",onClick:U[3]||(U[3]=M=>S.value=!1)},{default:n(()=>[g(s(R.$t("common.cancel")),1)]),_:1}),a(ee,{color:"error",icon:"mosy:trash",loading:e(A),onClick:ne},{default:n(()=>[g(s(R.$t("common.delete")),1)]),_:1},8,["loading"])])]),_:1},8,["open"])]),_:1})}}},Mi={class:"text-sm italic text-secondary-100"},ji={key:1,class:"flex items-center justify-between gap-3 rounded-2xl border border-(--ui-border) bg-secondary-50/60 px-3.5 py-3 max-sm:flex-col max-sm:items-start"},Ai={class:"text-sm text-secondary-600"},Pa={__name:"SettingsWorkTimeModelSelect",props:{modelValue:{type:[String,null],default:null},items:{type:Array,default:()=>[]},hasModels:{type:Boolean,default:!1}},emits:["update:modelValue","navigate"],setup(G,{emit:r}){const v=r,C=ta();function P(){C.replace({hash:"#worktimes"}),v("navigate")}return(I,X)=>{const oe=Ts,J=Xt,L=$s;return o(),E(L,{label:I.$t("settings.organisation.work_time_models_title")},{default:n(()=>[G.hasModels?(o(),E(oe,{key:0,"model-value":G.modelValue,items:G.items,"value-key":"value",class:"w-full","onUpdate:modelValue":X[0]||(X[0]=H=>v("update:modelValue",H))},{empty:n(()=>[t("span",Mi,s(I.$t("common.no_results")),1)]),_:1},8,["model-value","items"])):(o(),i("div",ji,[t("p",Ai,s(I.$t("settings.organisation.no_work_time_models_hint")),1),a(J,{size:"xs",color:"secondary",variant:"subtle",icon:"mosy:user-clock",class:"shrink-0",onClick:P},{default:n(()=>[g(s(I.$t("settings.organisation.no_work_time_models_link")),1)]),_:1})]))]),_:1},8,["label"])}}},Ti={class:"border-t border-(--ui-border) pt-4"},Pi={class:"text-sm text-secondary-600 text-start font-waden"},zi={class:"flex items-center gap-2 shrink-0"},Ei={class:"text-xs font-medium text-secondary-600"},Ii={key:0,class:"pt-3 space-y-2"},Oi={class:"text-xs text-secondary-600 pl-1 mb-3.5"},Li={key:0,class:"text-sm text-secondary-600 pl-1 py-1"},Di=["onClick"],Ni={class:"text-sm text-secondary-600 select-none truncate"},za={__name:"SettingsMemberProjectAccess",props:{modelValue:{type:Array,default:()=>[]},orgId:{type:String,default:null},open:{type:Boolean,default:!1}},emits:["update:modelValue","scope"],setup(G,{emit:r}){const v=G,C=r,P=rs(),{settingsOrg:I}=Ft(),{labelProjects:X}=Cs(I),oe=m([]),J=m(!0),L=m(v.open);function H(S){return S.archive===!0||S.archive_cold===!0}const w=m(new Set);ue(()=>v.modelValue,S=>{for(const b of S)w.value.add(b)},{immediate:!0,deep:!0});const O=x(()=>oe.value.filter(S=>!H(S)||!S.restricted_access||w.value.has(S.id))),Y=x(()=>{const S=(A,Z)=>A.name.localeCompare(Z.name,"de"),b=A=>{const Z=O.value.filter(ne=>!!ne.restricted_access===A);return[...Z.filter(ne=>!H(ne)).sort(S),...Z.filter(H).sort(S)]};return[...b(!0),...b(!1)]}),q=x(()=>{const S=new Set(O.value.map(A=>A.id)),b=O.value.filter(A=>!A.restricted_access).map(A=>A.id);return new Set([...v.modelValue.filter(A=>S.has(A)),...b]).size});function V(S){return!S.restricted_access}function D(S){if(V(S))return;
1const b=v.modelValue,A=b.includes(S.id)?b.filter(Z=>Z!==S.id):[...b,S.id];C("update:modelValue",A)}async function j(){if(!v.orgId){oe.value=[],J.value=!1;return}J.value=!0;try{const{data:S}=await P.from("projects").select("id, name, restricted_access, archive, archive_cold").eq("organization_id",v.orgId);oe.value=S||[]}finally{J.value=!1}}ue(()=>v.orgId,j,{immediate:!0});const f=m(new Set);return ue(O,S=>{for(const b of S)b.restricted_access&&f.value.add(b.id);C("scope",[...f.value])},{immediate:!0}),(S,b)=>{const A=ts,Z=oa,ne=ks;return o(),i("div",Ti,[t("button",{type:"button",class:"flex items-center justify-between w-full gap-x-2 gap-y-1.5 group bg-secondary-100/60 px-3 pb-2 pt-3 rounded-xl flex-wrap",onClick:b[0]||(b[0]=le=>L.value=!e(L))},[t("span",Pi,s(S.$t("settings.organisation.project_access_title",{projects:e(X)})),1),t("span",zi,[t("span",Ei,s(e(J)?"…":S.$t("settings.organisation.project_access_count",{count:e(q),total:e(O).length})),1),a(A,{name:"i-lucide-chevron-down",class:ge(["w-4 h-4 text-secondary-600 transition-transform",e(L)?"rotate-180":""])},null,8,["class"])])]),e(L)?(o(),i("div",Ii,[t("p",Oi,s(S.$t("settings.organisation.project_access_hint",{projects:e(X)})),1),!e(J)&&!e(O).length?(o(),i("p",Li,s(S.$t("settings.organisation.project_access_empty",{projects:e(X)})),1)):h("",!0),(o(!0),i(F,null,De(e(Y),le=>(o(),i("div",{key:le.id,class:ge(["flex items-center gap-2 pl-1",V(le)?"opacity-60":"cursor-pointer"]),onClick:me=>D(le)},[a(Z,{"model-value":V(le)||G.modelValue.includes(le.id),disabled:V(le),color:"secondary",class:"mo-checkbox pointer-events-none"},null,8,["model-value","disabled"]),t("span",Ni,s(le.name),1),H(le)?(o(),E(ne,{key:0,color:"secondary",variant:"subtle",size:"sm",class:"shrink-0 rounded-full!"},{default:n(()=>[g(s(S.$t("archive.archived_badge")),1)]),_:1})):h("",!0),V(le)?(o(),E(ne,{key:1,color:"secondary",variant:"subtle",size:"sm",class:"shrink-0 rounded-full!"},{default:n(()=>
1[g(s(S.$t("settings.organisation.project_access_auto")),1)]),_:1})):h("",!0)],10,Di))),128))])):h("",!0)])}}},Ri={class:"space-y-4 pt-4"},Fi={key:0,class:"flex items-center gap-4"},Bi={class:"relative cursor-pointer group"},Ki={class:"w-14 h-14 rounded-full bg-secondary-100 border-2 border-dashed border-secondary-300 group-hover:border-secondary-400 flex items-center justify-center overflow-hidden transition-colors"},Hi=["src"],qi=["src"],Wi={class:"flex-1"},Gi={class:"text-sm font-semibold text-secondary-700"},Yi={class:"text-xs text-secondary-500 mt-0.5"},Xi={class:"text-sm italic text-secondary-100"},Ji={key:0,class:"text-xs text-secondary-500 mt-1.5 pl-1"},Zi={class:"text-xs text-secondary-500"},Qi={key:4,class:"flex items-start flex-col gap-2"},er={class:"text-sm font-medium text-secondary-700"},tr={class:"text-sm font-semibold text-secondary-600 bg-secondary-100 rounded-lg px-2.5 py-1"},sr={key:5,class:"text-xs text-rose-500 pl-1 font-medium -mt-1"},ar={class:"flex items-center gap-2"},or={class:"text-xs text-secondary-500 mt-2 pl-1"},nr={key:7,class:"flex items-center justify-between border-t border-(--ui-border) pt-4"},lr={class:"text-sm font-medium text-secondary-600"},ir={class:"space-y-4 pt-4"},rr={class:"text-xs text-secondary-500 mt-1.5 pl-1"},cr={class:"grid grid-cols-2 gap-3 max-sm:grid-cols-1"},dr={class:"flex gap-2 justify-end w-full"},ur={__name:"SettingsMemberEditModal",props:{member:{type:Object,default:null},orgId:{type:String,default:null},workTimeModelItems:{type:Array,default:()=>[]},hasWorkTimeModels:{type:Boolean,default:!1},useMemberNumbers:{type:Boolean,default:!1},memberNumbersAuto:{type:Boolean,default:!0},orgDefaultVacationDays:{type:String,default:""},roleOptions:{type:Array,default:()=>[]},isOwnOrgProPaid:{type:Boolean,default:!1}},emits:["close","request-seat-confirm"],setup(G,{emit:r}){const v=G,C=r,{t:P}=Rt(),I=cs(),{settingsOrg:X}=Ft(),{labelProjects:oe,labelClients:J}=Cs(X),L=x(()=>v.orgId),{updateMember:H,updateManualAvatar:w,removeManualAvatar:O,checkMemberNumber:Y}=Ds(L),{fetchMemberProjects:q,syncMemberVisibility:V}=ha(),{isFree:D}=Gs(),j=/^[0-9]{5}$/,f=os({role:"standard",is_active:!0,expires_at:"",work_time_model_id:null,member_number:"",color:"",manual_name:"",avatarFile:null,avatarPreview:null,avatarCleared:!1,employment_start_date:"",annual_vacation_days:"",opening_balance_minutes:"",opening_balance_date:""});function S(T){return T==="admin"?{role:"admin",org_role_id:null}:T?.startsWith?.("rolle:")?{role:"member",org_role_id:T.slice(6)}:{role:"member",org_role_id:null}}function b(T,z){const ke=`rolle:${z}`;return T==="admin"?"admin":z&&v.roleOptions.some(we=>we.value===ke)?ke:"standard"}const A=m(!1),Z=m(""),ne=m("profile"),le=m([]),me=m([]),R=x(()=>!!v.member?.user_id&&!v.member?.is_manual&&!D.value&&v.member?.role!=="owner"&&f.role!=="admin");ue(()=>v.member,T=>{T&&(ne.value="profile",f.role=b(T.role,T.org_role_id),f.is_active=T.is_active,f.expires_at=T.expires_at?T.expires_at.split("T")[0]:"",f.work_time_model_id=T.work_time_model_id??null,f.member_number=T.member_number??"",f.color=T.color??"",f.manual_name=T.manual_name??"",f.avatarFile=null,f.avatarPreview=null,f.avatarCleared=!1,f.employment_start_date=T.employment_start_date??"",f.annual_vacation_days=T.annual_vacation_days!=null?String(T.annual_vacation_days):"",f.opening_balance_minutes=T.opening_balance_minutes!=null?String(Math.round(T.opening_balance_minutes/60*100)/100):"0",f.opening_balance_date=T.opening_balance_date??"",Z.value="",le.value=[],me.value=[],T.user_id&&q(T.user_id,L.value).then(z=>{le.value=z}).catch(()=>{}))});function U(T){const z=T.target.files?.[0];z&&(f.avatarFile=z,f.avatarPreview=URL.createObjectURL(z),f.avatarCleared=!1)}function ee(){if(f.avatarFile=null,f.avatarPreview)try{URL.revokeObjectURL(f.avatarPreview)}catch{}f.avatarPreview=null,f.avatarCleared=!0}const be=x(()=>[{value:"profile",label:P("settings.organisation.member_tabs.profile"),slot:"profile",icon:"mosy:user"},{value:"worktime",label:P("settings.organisation.member_tabs.worktime"),slot:"worktime",icon:"mosy:calendar-clock"}]);async function ie(T=!1){if(!v.member)return;Z.value="";const z=f.member_number.trim();if(v.useMemberNumbers&&!v.memberNumbersAuto){if(!z||!j.test(z)){Z.value=P("member_numbers.error_format"),ne.value="profile";return}if(!await Y(z,v.member.id)){Z.value=P("member_numbers.error_duplicate"),ne.value="profile";return}}if(!T&&v.isOwnOrgProPaid&&v.member.role!=="owner"){const ke=v.member.is_active===!0,we=f.is_active===!0;if(ke&&!we){C("request-seat-confirm",()=>ie(!0),"remove");return}if(!ke&&we){C("request-seat-confirm",()=>ie(!0),"add");return}}A.value=!0;try{const ke=S(f.role),we={role:ke.role,org_role_id:ke.org_role_id,is_active:f.is_active,expires_at:f.expires_at||null,work_time_model_id:f.work_time_model_id??null,member_number:v.useMemberNumbers&&!v.memberNumbersAuto&&z?z:void 0,color:f.color||null,employment_start_date:f.employment_start_date||null,annual_vacation_days:f.annual_vacation_days!==""?Number(f.annual_vacation_days):null,opening_balance_minutes:f.opening_balance_minutes!==""?Math.round(Number(f.opening_balance_minutes)*60):0,opening_balance_date:f.opening_balance_date||null};if(v.useMemberNumbers&&v.memberNumbersAuto&&delete we.member_number,v.member.is_manual){const M=f.manual_name.trim();M&&(we.manual_name=M)}if(await H(v.member.id,we),R.value&&me.value.length)try{await V(v.member.user_id,le.value,me.value)}catch{I.add({class:"mo-toast",title:P("settings.organisation.project_access_error"),color:"error"})}if(v.member.is_manual)try{f.avatarFile?await w(v.member.id,f.avatarFile):f.avatarCleared&&v.member.manual_avatar_url&&await O(v.member.id)}catch(M){I.add({class:"mo-toast",title:P("settings.profile.upload_error"),description:M.message,color:"error"})}I.add({class:"mo-toast",title:P("settings.organisation.member_updated"),color:"success"}),C("close")}catch(ke){ke?.code==="23505"?(Z.value=P("member_numbers.error_duplicate"),ne.value="profile"):I.add({class:"mo-toast",title:P("common.error"),description:ke.message,color:"error"})}finally{A.value=!1}}return(T,z)=>{const ke=ts,we=Xt,M=ps,re=$s,$e=Ts,it=Ws,Ne=Sa,qe=_s,B=za,Ie=Pa,pt=Va,ht=ms;return o(),E(ht,{open:!!G.member,title:T.$t("settings.organisation.edit_member_title"),ui:{width:"sm:max-w-md"},"onUpdate:open":z[19]||(z[19]=te=>C("close"))},{body:n(()=>[t("div",{class:"mo-modal mo-no-max",onKeydown:z[16]||(z[16]=et(Tt(te=>ie(),["prevent"]),["enter"]))},[a(pt,{modelValue:e(ne),"onUpdate:modelValue":z[15]||(z[15]=te=>ye(ne)?ne.value=te:null),items:e(be),color:"secondary",class:"w-full mo-tabs",ui:{list:"bg-secondary-100/70 rounded-xl!",trigger:"rounded-xl! data-[state=inactive]:text-secondary-600! hover:data-[state=inactive]:bg-secondary-200/80! hover:data-[state=inactive]:text-secondary-500! data-[state=active]:text-white!",indicator:"rounded-xl!"}},{profile:n(()=>[t("div",Ri,[G.member?.is_manual?(o(),i("div",Fi,[t("label",Bi,[t("div",Ki,[e(f).avatarPreview?(o(),i("img",{key:0,src:e(f).avatarPreview,class:"w-full h-full object-cover"},null,8,Hi)):!e(f).avatarCleared&&G.member?.manual_avatar_url?(o(),i("img",{key:1,src:G.member.manual_avatar_url,class:"w-full h-full object-cover"},null,8,qi)):(o(),E(ke,{key:2,name:"mosy:camera",class:"text-secondary-500 text-xl group-hover:text-secondary-500 transition-colors"}))]),t("input",{type:"file",accept:"image/*",class:"absolute inset-0 opacity-0 cursor-pointer",onChange:U},null,32)]),t("div",Wi,[t("p",Gi,s(T.$t("settings.organisation.manual_avatar_label")),1),t("p",Yi,s(T.$t("settings.organisation.manual_avatar_hint")),1)]),e(f).avatarPreview||!e(f).avatarCleared&&G.member?.manual_avatar_url?(o(),E(we,{key:0,size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-trash-2",title:T.$t("settings.profile.avatar_remove"),onClick:ee},null,8,["title"])):h("",!0)])):h("",!0),G.member?.is_manual?(o(),E(re,{key:1,label:T.$t("settings.organisation.manual_name_label"),required:""},{default:n(()=>[a(M,{modelValue:e(f).manual_name,"onUpdate:modelValue":z[0]||(z[0]=te=>e(f).manual_name=te),placeholder:T.$t("settings.organisation.manual_name_placeholder"),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):h("",!0),G.member?.role!=="owner"?(o(),E(re,{key:2,label:T.$t("settings.organisation.col_role")},{default:n(()=>[a($e,{modelValue:e(f).role,"onUpdate:modelValue":z[1]||(z[1]=te=>e(f).role=te),items:G.roleOptions,"value-key":"value",class:"w-full"},{empty:n(()=>[t("span",Xi,s(T.$t("common.no_results")),1)]),_:1},8,["modelValue","items"]),e(f).role==="admin"?(o(),i("p",Ji,s(T.$t("settings.organisation.admin_role_description",{projects:e(oe),clients:e(J)})),1)):h("",!0)]),_:1},8,["label"])):h("",!0),a(re,{label:T.$t("settings.organisation.member_color_label")},{default:n(()=>[a(it,{modelValue:e(f).color,"onUpdate:modelValue":z[2]||(z[2]=te=>e(f).color=te),"show-presets":""},null,8,["modelValue"])]),_:1},8,["label"]),G.useMemberNumbers&&!G.memberNumbersAuto?(o(),E(re,{key:3,label:T.$t("member_numbers.field_label"),required:""},{hint:n(()=>[t("span",Zi,s(T.$t("member_numbers.mode_manual_hint")),1)]),default:n(()=>[a(M,{modelValue:e(f).member_number,"onUpdate:modelValue":z[3]||(z[3]=te=>e(f).member_number=te),placeholder:T.$t("member_numbers.field_placeholder"),maxlength:"5",inputmode:"numeric"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):G.useMemberNumbers&&G.memberNumbersAuto&&G.member?.member_number?(o(),i("div",Qi,[t("p",er,s(T.$t("member_numbers.field_label")),1),t("span",tr,s(G.member.member_number),1)])):h("",!0),e(Z)?(o(),i("p",sr,s(e(Z)),1)):h("",!0),G.member?.role!=="owner"?(o(),E(re,{key:6,label:T.$t("settings.organisation.expires_label")},{default:n(()=>[t("div",ar,[a(Ne,{modelValue:e(f).expires_at,"onUpdate:modelValue":z[4]||(z[4]=te=>e(f).expires_at=te),"date-only":!0,placeholder:T.$t("settings.organisation.expires_placeholder"),class:"flex-1"},null,8,["modelValue","placeholder"]),e(f).expires_at?(o(),E(we,{key:0,size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",title:T.$t("settings.organisation.expires_clear"),onClick:z[5]||(z[5]=te=>e(f).expires_at="")},null,8,["title"])):h("",!0)]),t("p",or,s(T.$t("settings.organisation.expires_hint")),1)]),_:1},8,["label"])):h("",!0),G.member?.role!=="owner"?(o(),i("div",nr,[t("label",lr,s(T.$t("settings.organisation.status_active")),1),a(qe,{modelValue:e(f).is_active,"onUpdate:modelValue":z[6]||(z[6]=te=>e(f).is_active=te),color:"secondary"},null,8,["modelValue"])])):h("",!0),e(R)?(o(),E(B,{key:8,modelValue:e(le),"onUpdate:modelValue":z[7]||(z[7]=te=>ye(le)?le.value=te:null),"org-id":G.orgId,onScope:z[8]||(z[8]=te=>me.value=te)},null,8,["modelValue","org-id"])):h("",!0)])]),worktime:n(()=>[t("div",ir,[a(Ie,{modelValue:e(f).work_time_model_id,"onUpdate:modelValue":z[9]||(z[9]=te=>
1e(f).work_time_model_id=te),items:G.workTimeModelItems,"has-models":G.hasWorkTimeModels,onNavigate:z[10]||(z[10]=te=>C("close"))},null,8,["modelValue","items","has-models"]),a(re,{label:T.$t("settings.organisation.member_employment_start_label")},{default:n(()=>[a(Ne,{modelValue:e(f).employment_start_date,"onUpdate:modelValue":z[11]||(z[11]=te=>e(f).employment_start_date=te),"date-only":!0,placeholder:T.$t("common.optional"),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),a(re,{label:T.$t("settings.organisation.member_vacation_days_label")},{default:n(()=>[a(M,{modelValue:e(f).annual_vacation_days,"onUpdate:modelValue":z[12]||(z[12]=te=>e(f).annual_vacation_days=te),type:"number",min:"0",step:"0.5",placeholder:G.orgDefaultVacationDays||T.$t("settings.organisation.member_vacation_days_placeholder"),class:"w-full"},null,8,["modelValue","placeholder"]),t("p",rr,s(G.orgDefaultVacationDays?T.$t("settings.organisation.member_vacation_days_hint",{days:G.orgDefaultVacationDays}):T.$t("settings.organisation.member_vacation_days_placeholder")),1)]),_:1},8,["label"]),t("div",cr,[a(re,{label:T.$t("settings.organisation.member_opening_balance_label")},{default:n(()=>[a(M,{modelValue:e(f).opening_balance_minutes,"onUpdate:modelValue":z[13]||(z[13]=te=>e(f).opening_balance_minutes=te),type:"number",step:"0.25",placeholder:"0",class:"w-full"},null,8,["modelValue"])]),_:1},8,["label"]),a(re,{label:T.$t("settings.organisation.member_opening_balance_date_label")},{default:n(()=>[a(Ne,{modelValue:e(f).opening_balance_date,"onUpdate:modelValue":z[14]||(z[14]=te=>e(f).opening_balance_date=te),"date-only":!0,placeholder:T.$t("common.optional"),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])])])]),_:1},8,["modelValue","items"])],32)]),footer:n(()=>[t("div",dr,[a(we,{color:"neutral",variant:"outline",onClick:z[17]||(z[17]=te=>C("close"))},{default:n(()=>[g(s(T.$t("common.cancel")),1)]),_:1}),a(we,{class:"mo-button mo-button-medium",loading:e(A),onClick:z[18]||(z[18]=te=>ie())},{default:n(()=>[g(s(T.$t("common.save")),1)]),_:1},8,["loading"])])]),_:1},8,["open","title"])}}},mr={class:"flex items-center gap-2"},pr={class:"rounded-2xl p-4 flex items-start flex-col gap-3 mb-background mb-background-light-overlay mt-1"},_r={class:"flex items-center gap-3"},gr={class:"ml-1 space-y-1"},fr={key:0,class:"flex items-center gap-2 text-white/80 text-sm font-medium"},vr={key:0,class:"flex items-baseline gap-2 flex-wrap"},yr={class:"text-white font-bold text-base"},br={key:0,class:"text-white/70 text-sm font-medium line-through"},hr={key:1,class:"flex items-baseline gap-2 flex-wrap"},xr={class:"text-white font-bold text-base"},kr={key:0,class:"text-white/70 text-sm font-medium line-through"},$r={key:2,class:"text-white/85 text-sm font-medium leading-snug"},wr={class:"text-secondary-600 text-xs font-medium flex items-start gap-1.5 mt-3"},Cr={class:"text-secondary-600 text-xs font-medium flex items-start gap-1.5 mt-1.5"},Ur={class:"flex justify-end gap-2 w-full"},Sr={__name:"AppMemberSeatModal",props:{open:{type:Boolean,required:!0},mode:{type:String,default:"add"},deferred:{type:Boolean,default:!1}},emits:["confirm","close"],setup(G,{emit:r}){const v=G,C=r,{seatUnitLabel:P,seatListLabel:I,orgInterval:X,fetchSeatPrice:oe,loading:J,seatDiscountPercent:L,seatEffectivePlusLabel:H,seatEffectiveUnitLabel:w}=Aa(),{selfPlan:O}=Ls(),{locale:Y}=Rt(),q=x(()=>v.mode==="remove"),V=x(()=>O.value==="rocket"?"Rocket":"Pro"),D=x(()=>{const j=L.value;if(j==null)return null;const f={de:"de-DE",es:"es-ES"};return new Intl.NumberFormat(f[Y.value]||"en-GB",{maximumFractionDigits:2}).format(j)});return ue(()=>v.open,j=>{j&&oe({withDiscount:!0})}),Ps({escape:{usingInput:!0,handler:()=>{v.open&&C("close")}}}),(j,f)=>{const S=ts,b=xa,A=ks,Z=Xt,ne=ms;return o(),E(ne,{open:G.open,close:!1,"onUpdate:open":f[2]||(f[2]=le=>C("close"))},{title:n(()=>[t("div",mr,[a(S,{name:e(q)?"mosy:circle-info":"mosy:user-circle-plus",class:"text-secondary-500 shrink-0"},null,8,["name"]),g(" "+s(e(q)?j.$t("seat_modal.remove_title"):j.$t("seat_modal.title")),1)])]),description:n(()=>[g(s(e(q)?j.$t("seat_modal.remove_description"):j.$t("seat_modal.description",{plan:e(V)})),1)]),body:n(()=>[t("div",pr,[t("div",_r,[a(b,{class:"max-w-[36px]! shrink-0",light:!0}),f[3]||(f[3]=t("p",{class:"font-waden text-white text-base translate-y-0.5 leading-none mb-1"},"marble work",-1)),a(A,{color:"neutral",variant:"solid",size:"sm",class:"px-2.5 rounded-xl bg-[#537C7F]! font-bold ring-1 ring-white/70 text-white! text-[11px]"},{default:n(()=>[g(s(e(V)),1)]),_:1})]),t("div",gr,[e(J)?(o(),i("div",fr,[a(S,{name:"i-lucide-loader-circle",class:"animate-spin w-4 h-4"}),g(" "+s(j.$t("common.loading")),1)])):(o(),i(F,{key:1},[!e(q)&&e(H)?(o(),i("div",vr,[t("p",yr,s(e(H)),1),e(L)?(o(),i("p",br,s(e(I)),1)):h("",!0)])):e(q)&&e(w)?(o(),i("div",hr,[t("p",xr,"−"+s(e(w)),1),e(L)?(o(),i("p",kr,s(e(P)),1)):h("",!0)])):h("",!0),!e(q)&&!G.deferred?(o(),i("p",$r,s(e(X)==="year"?j.$t("seat_modal.billing_hint_year"):j.$t("seat_modal.billing_hint_month")),1
1)):h("",!0)],64))])]),t("p",wr,[a(S,{name:"mosy:circle-info",class:"w-3.5 h-3.5 mt-px shrink-0 translate-y-[1px]"}),g(" "+s(e(q)?j.$t("seat_modal.remove_hint"):G.deferred?j.$t("seat_modal.invite_hint"):j.$t("seat_modal.proration_hint")),1)]),t("p",Cr,[a(S,{name:"mosy:tags",class:"w-3.5 h-3.5 mt-px shrink-0 translate-y-[1px]"}),g(" "+s(e(D)?j.$t("seat_modal.discount_applied",{percent:e(D)}):j.$t("seat_modal.discount_hint")),1)])]),footer:n(()=>[t("div",Ur,[a(Z,{variant:"outline",color:"neutral",onClick:f[0]||(f[0]=le=>C("close"))},{default:n(()=>[g(s(j.$t("common.cancel")),1)]),_:1}),a(Z,{icon:"mosy:user-circle-plus",class:ge(e(q)?"":"mo-button"),color:e(q)?"error":void 0,variant:e(q)?"soft":void 0,onClick:f[1]||(f[1]=le=>C("confirm"))},{default:n(()=>[g(s(e(q)?j.$t("seat_modal.remove_confirm"):j.$t("seat_modal.confirm")),1)]),_:1},8,["class","color","variant"])])]),_:1},8,["open"])}}},Vr={class:"grid gap-6 pt-6 grid-cols-2 max-xl:grid-cols-1 max-[1024px]:grid-cols-2! max-[940px]:grid-cols-1! pb-6"},Mr={class:"flex items-center justify-between"},jr={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},Ar={class:"space-y-3 px-1 pb-1"},Tr={class:"text-sm text-secondary-500 font-medium"},Pr={key:0,class:"flex justify-center py-4"},zr={class:"text-sm font-semibold text-secondary-700 pt-1"},Er={class:"flex-1 min-w-0"},Ir={class:"font-semibold text-sm text-slate-600 break-all-custom"},Or={class:"text-xs text-secondary-500 font-medium mt-0.5"},Lr={class:"flex items-center gap-1.5 shrink-0"},Dr={class:"text-xs text-error font-medium"},Nr={key:1,class:"flex items-center gap-1 max-[540px]:flex-wrap"},Rr={class:"max-[768px]:hidden"},Fr={class:"max-[768px]:hidden"},Br={class:"text-sm font-semibold text-secondary-700 pt-1"},Kr={class:"w-full overflow-y-auto max-h-[380px] flex flex-col gap-2.5 mo-hide-scrollbar"},Hr={class:"flex-1 min-w-0"},qr={class:"font-semibold text-sm text-secondary-800 truncate"},Wr={class:"text-xs text-secondary-500 font-medium mt-0.5"},Gr={class:"shrink-0 flex items-center gap-1.5"},Yr={class:"flex-1 min-w-0"},Xr={class:"font-semibold text-sm text-secondary-800 truncate"},Jr={class:"text-xs text-secondary-500 font-medium mt-0.5"},Zr={class:""},Qr={class:"shrink-0 flex items-center gap-1.5"},ec={class:"text-xs text-error font-medium"},tc={key:2,class:"text-center py-8 text-secondary-400"},sc={class:"text-sm font-medium"},ac={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},oc={class:"space-y-4 px-1 py-2"},nc={class:"flex items-center justify-between gap-4"},lc={class:"text-sm font-medium text-secondary-700"},ic={key:0,class:"border-t border-(--ui-border) pt-4 space-y-3"},rc={key:0,class:"w-2 h-2 rounded-full bg-secondary-500"},cc={class:"text-sm font-semibold text-secondary-700"},dc={class:"text-xs text-secondary-600 mt-0.5"},uc={key:0,class:"w-2 h-2 rounded-full bg-secondary-500"},mc={class:"text-sm font-semibold text-secondary-700"},pc={class:"text-xs text-secondary-600 mt-0.5"},_c={key:1,class:"xl:col-span-2 max-[1024px]:col-span-2 max-[940px]:col-span-1 grid grid-cols-3 gap-6 max-[1200px]:grid-cols-1"},gc={class:"flex items-center justify-between flex-wrap gap-2.5"},fc={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-custom-theme-heading"},vc=["innerHTML"],yc={class:"space-y-4 px-1 py-2"},bc={key:0,class:"flex items-center gap-x-4 gap-y-3 p-3 rounded-2xl bg-secondary-50 border border-secondary-200 mb-3 justify-between max-sm:flex-wrap"},hc={class:"flex items-center gap-3"},xc={class:"text-sm text-secondary-600 font-medium flex-1"},kc={key:1,class:"flex justify-center py-4"},$c={key:2,class:"w-full overflow-x-auto overflow-y-hidden"},wc={class:"w-full text-sm mo-no-max"},Cc={class:"border-b border-(--ui-border)"},Uc={class:"text-left pb-3 font-semibold text-secondary-500"},Sc={class:"text-left pb-3 font-semibold text-secondary-500 hidden md:table-cell"},Vc={class:"text-left pb-3 font-semibold text-secondary-500 hidden sm:table-cell"},Mc={class:"text-left pb-3 font-semibold text-secondary-500 hidden lg:table-cell"},jc={class:"py-2.5 pr-2 align-middle"},Ac={class:"py-2.5 pr-3 align-middle"},Tc={class:"font-semibold text-slate-600 block leading-tight"},Pc={key:0,class:"text-[13px] font-semibold text-secondary-500/90"},zc={key:1,class:"text-[13px] text-secondary-500/90"},Ec={class:"flex flex-col items-start pl-[1px] gap-1"},Ic={key:0,class:"text-xs text-secondary-500 font-medium"},Oc={key:1,class:"inline-flex items-center gap-1 text-[11px] font-semibold text-secondary-600 bg-secondary-100 rounded-full px-2 py-0.5 mt-1.5 ring ring-inset ring-secondary-200"},Lc={class:"inline-flex items-center gap-1 text-[11px] font-semibold text-secondary-600 bg-secondary-100 rounded-full px-2 py-0.5 ring ring-inset ring-secondary-200 cursor-default"},Dc={class:"text-[11px] font-semibold"},Nc={key:0,class:"mt-1.5 space-y-0.5"},Rc={key:1,class:"mt-1.5 text-[11px] font-medium opacity-90"},Fc={key:2,class:"mt-1 text-[11px] font-medium opacity-70"},Bc={key:3,class:"text-xs text-secondary-500 font-medium mt-0.5"},Kc={class:"py-2.5 pr-3 align-middle hidden md:table-cell"},Hc={class:"py-2.5 pr-3 align-middle hidden sm:table-cell"},qc={class:"py-2.5 pr-3 align-middle hidden lg:table-cell"},Wc={class:"text-[13px] font-medium text-secondary-500"},Gc={class:"py-2 align-middle text-right"},Yc={key:0,class:"flex items-center gap-1 justify-end"},Xc={class:"text-xs text-error"},Jc={class:"py-2.5 pr-2 align-middle opacity-60"},Zc={class:"py-2.5 pr-3 align-middle opacity-60"},Qc={class:"font-medium text-slate-600"},ed={key:0,class:"text-[13px] font-semibold text-secondary-400"},td={key:1,class:"text-[13px] text-secondary-500/90"},sd={class:"text-xs text-secondary-500 font-medium mt-0.5"},ad={class:"py-2.5 pr-3 align-middle hidden md:table-cell opacity-60"},od={class:"py-2.5 pr-3 align-middle hidden sm:table-cell opacity-60"},nd={class:"flex items-center gap-1.5 inline-flex px-2 py-[1px] rounded-2xl ring ring-amber-400/90 bg-amber-100"},ld={class:"text-[13px] font-medium text-warning-700"},id={class:"py-2.5 pr-3 align-middle hidden lg:table-cell opacity-60"},rd={class:"text-[13px] font-medium text-secondary-500"},cd={class:"py-2 align-middle text-right"},dd={key:0,class:"flex items-center gap-1 justify-end"},ud={class:"text-xs text-error"},md={class:"space-y-4 mo-modal mo-no-max"},pd={class:"flex rounded-xl bg-secondary-100/70 p-1 gap-1"},_d=["onClick"],gd={class:"text-xs text-secondary-500"},fd={class:"flex items-center gap-4"},vd={class:"relative cursor-pointer group"}
1,yd={class:"w-14 h-14 rounded-full bg-secondary-100 border-2 border-dashed border-secondary-300 group-hover:border-secondary-400 flex items-center justify-center overflow-hidden transition-colors"},bd=["src"],hd={class:"flex-1"},xd={class:"text-sm font-semibold text-secondary-700"},kd={class:"text-xs text-secondary-500 mt-0.5"},$d={class:"text-xs text-secondary-500"},wd={class:"text-sm italic text-secondary-100"},Cd={key:0,class:"text-xs text-secondary-500 mt-1.5 pl-1"},Ud={class:"block pb-2.5! pl-0!"},Sd={class:"flex items-center justify-between"},Vd={class:"text-sm font-medium text-secondary-600 block"},Md={class:"text-xs text-secondary-500 pl-1!"},jd={class:"border-t border-(--ui-border) pt-4 space-y-3"},Ad={class:"flex items-center justify-between"},Td={class:"text-sm font-medium text-secondary-600"},Pd={key:4,class:"text-xs text-rose-500 pl-1 font-medium"},zd={key:5,class:"text-xs text-rose-500 pl-1 font-medium"},Ed={class:"flex gap-2 justify-end w-full"},Id=["onKeydown"],Od={class:"text-sm italic text-secondary-100"},Ld={key:0,class:"text-xs text-secondary-500 mt-1.5 pl-1"},Dd={class:"text-xs text-secondary-500 mt-1.5 pl-1"},Nd={class:"text-xs text-secondary-500"},Rd={key:1,class:"text-xs text-rose-500 pl-1 font-medium -mt-1"},Fd={class:"flex items-center gap-2"},Bd={class:"border-t border-(--ui-border) pt-4 space-y-3"},Kd={class:"flex items-center justify-between"},Hd={class:"text-sm font-medium text-secondary-600"},qd={class:"flex gap-2 justify-end w-full"},ea=12,Wd={__name:"SettingsUserSettings",setup(G){const{t:r}=Rt(),v=qa();function C(c,_="membership"){if(v.value==="dark")return;const _e=fo(c?.color),l=_e??vo,y=_==="invite"?{backgroundColor:_e?l[200]:l[100],borderColor:l[300]}:{backgroundColor:`${l[200]}0`,borderColor:l[400]};for(const[de,pe]of Object.entries(l))y[`--ui-color-secondary-${de}`]=pe,y[`--color-marble-secondary-${de}`]=pe;return y["--ui-secondary"]=l[500],y}const P=cs(),{isFree:I,ready:X}=Gs(),{isSelfPro:oe,isSelfTester:J,previouslyPro:L}=Ls(),H=x(()=>!oe.value),w=x(()=>oe.value&&!J.value),{isNativeApp:O}=ga(),Y=x(()=>X.value&&!oe.value),q=m(!1),{ownOrg:V,isAdmin:D,settingsOrg:j,settingsOrgId:f,organizations:S,fetchOrganizations:b,updateOrganization:A,switchOrganization:Z,currentOrg:ne}=Ft(),{activeEntry:le,stopTimer:me}=fa(),{isActive:R,stopWork:U}=Wa(),{labelProjects:ee,labelClients:be}=Cs(j),ie=x(()=>!!V.value||D.value),{members:T,invites:z,loadingMembers:ke,fetchMembers:we,fetchInvites:M,inviteMember:re,createManualMember:$e,removeMember:it,updateInvite:Ne,revokeInvite:qe,resendInvite:B,checkMemberNumber:Ie,myInvites:pt,loadingMyInvites:ht,fetchMyInvites:te,acceptInvite:Pt,declineInvite:zt,leaveOrganization:Jt}=Ds(f),{models:Et,fetchModels:Bt}=Ma(f),Ut=x(()=>[{value:null,label:r("settings.organisation.work_time_model_no_model")},...Et.value.map(c=>({value:c.id,label:`${c.name} (${c.weekly_hours} ${r("settings.organisation.work_time_model_hours_label")})`}))]),Ue=m(!1),ve=m(!0),st=m(!1);ue(()=>j.value?.use_member_numbers,c=>{c!==void 0&&(Ue.value=!!c)},{immediate:!0}),ue(()=>j.value?.member_numbers_auto,c=>{c!==void 0&&(ve.value=c!==!1)},{immediate:!0});async function wt(c){if(f.value){st.value=!0;try{await A(f.value,c)}catch(_){P.add({class:"mo-toast",title:r("common.error"),description:_.message,color:"error"})}finally{st.value=!1}}}const xt=/^[0-9]{5}$/,{roles:_t,fetchRoles:gt}=Ta(f),We=x(()=>[{label:r("settings.organisation.role_admin"),value:"admin"},{label:r("settings.organisation.roles.standard"),value:"standard"},..._t.value.map(c=>({label:c.name,value:`rolle:${c.id}`}))]);function Ke(c){return c==="admin"?{role:"admin",org_role_id:null}:c?.startsWith?.("rolle:")?{role:"member",org_role_id:c.slice(6)}:{role:"member",org_role_id:null}}function rt(c,_){return c==="admin"?"admin":_&&_t.value.some(_e=>_e.id===_)?`rolle:${_}`:"standard"}function Me(c){return{owner:r("settings.organisation.role_owner"),admin:r("settings.organisation.role_admin"),member:r("settings.organisation.role_member")}[c]||c}function tt(c){return c.role!=="member"?Me(c.role):c.org_roles?.name??r("settings.organisation.roles.standard")}function ct(c){return c?new Intl.DateTimeFormat("de-DE",{day:"2-digit",month:"2-digit",year:"numeric"}).format(new Date(c)):"—"}const Ge=m(!1),at=m("add"),ft=m(!1),dt=m(null);function Re(c,_="add",_e=!1){if(O.value&&w.value){P.add({class:"mo-toast",title:r("native.manage_on_web"),color:"neutral"});return}w.value?(at.value=_,ft.value=_e,dt.value=c,Ge.value=!0):c()}function $(){Ge.value=!1,dt.value?.(),dt.value=null}function he(){Ge.value=!1,dt.value=null}
1const Oe=m(!1),ot=m("invite"),Q=os({email:"",role:"standard",is_active:!0,work_time_model_id:null,member_number:"",set_vacation_days:!1,annual_vacation_days:"",color:Is[0]}),Ye=x(()=>j.value?.default_vacation_days!=null?String(j.value.default_vacation_days):""),Ce=os({name:"",avatarFile:null,avatarPreview:null,member_number:""}),Se=m([]),Te=m(!1),Fe=m(""),ut=m(""),W=x(()=>[{value:"invite",label:r("settings.organisation.invite_mode_invite")},{value:"manual",label:r("settings.organisation.invite_mode_manual")}]),Pe=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function Kt(){if(H.value){q.value=!0;return}ot.value="invite",Q.email="",Q.role="standard",Q.is_active=!0,Q.work_time_model_id=null,Q.member_number="",Q.set_vacation_days=!1,Q.annual_vacation_days=Ye.value,Q.color=Is[Math.floor(Math.random()*Is.length)],Ce.name="",Ce.avatarFile=null,Ce.avatarPreview=null,Ce.member_number="",Se.value=[],Fe.value="",ut.value="",Oe.value=!0}ue(()=>Q.set_vacation_days,c=>{c&&Q.annual_vacation_days===""&&(Q.annual_vacation_days=Ye.value)});const It=x(()=>Q.set_vacation_days&&Q.annual_vacation_days!==""?Number(Q.annual_vacation_days):null);function gs(c){const _=c.target.files?.[0];_&&(Ce.avatarFile=_,Ce.avatarPreview=URL.createObjectURL(_))}async function Zt(){Fe.value="",ut.value="";const c=Ce.name.trim();if(!c)return;const _=Ce.member_number.trim();if(Ue.value&&!ve.value){if(!_||!xt.test(_)){ut.value=r("member_numbers.error_format");return}if(!await Ie(_)){ut.value=r("member_numbers.error_duplicate");return}}Re(async()=>{Te.value=!0;try{const _e=Ke(Q.role);await $e(c,Ce.avatarFile,{role:_e.role,orgRoleId:_e.org_role_id,isActive:Q.is_active,workTimeModelId:Q.work_time_model_id,memberNumber:Ue.value&&!ve.value&&_?_:null,annualVacationDays:It.value,color:Q.color||null}),P.add({class:"mo-toast",title:r("settings.organisation.manual_member_created",{name:c}),color:"success"}),Oe.value=!1}catch(_e){_e?.code==="23505"?ut.value=r("member_numbers.error_duplicate"):Fe.value=r("settings.organisation.invite_error_failed")}finally{Te.value=!1}})}async function Ct(){Fe.value="",ut.value="";const c=Q.email.trim();if(!c)return;if(!Pe.test(c)){Fe.value=r("settings.organisation.invite_invalid_email");return}if(z.value.some(_e=>_e.email.toLowerCase()===c.toLowerCase())){Fe.value=r("settings.organisation.invite_error_pending");return}const _=Q.member_number.trim();if(Ue.value&&!ve.value){if(!_||!xt.test(_)){ut.value=r("member_numbers.error_format");return}if(!await Ie(_)){ut.value=r("member_numbers.error_duplicate");return}}Re(async()=>{Te.value=!0;try{const _e=Ke(Q.role);await re(c,_e.role,{orgRoleId:_e.org_role_id,isActive:Q.is_active,workTimeModelId:Q.work_time_model_id,memberNumber:Ue.value&&!ve.value&&_?_:null,annualVacationDays:It.value,color:Q.color||null,visibleProjectIds:_e.role==="admin"?null:Se.value}),P.add({class:"mo-toast",title:r("settings.organisation.invite_sent",{email:c}),color:"success"}),Oe.value=!1}catch(_e){const l=_e.status??_e.statusCode,y=_e.data?.error??"";l===409?Fe.value=r("settings.organisation.invite_error_already_member"):l===400&&y.toLowerCase().includes("yourself")?Fe.value=r("settings.organisation.invite_error_self"):Fe.value=r("settings.organisation.invite_error_failed")}finally{Te.value=!1}},"add",!0)}const nt=m(null),fe=os({role:"standard",is_active:!0,work_time_model_id:null,expires_at:"",member_number:"",annual_vacation_days:"",color:""}),Ot=m(!1),ze=m(""),Xe=m([]),Ht=m([]);function qt(c){nt.value=c,fe.role=rt(c.role,c.org_role_id),fe.is_active=c.is_active??!0,fe.work_time_model_id=c.work_time_model_id??null,fe.expires_at=c.expires_at?c.expires_at.split("T")[0]:"",fe.member_number=c.member_number??"",fe.annual_vacation_days=c.annual_vacation_days!=null?String(c.annual_vacation_days):"",fe.color=c.color??"",Xe.value=[...c.visible_project_ids||[]],Ht.value=[],ze.value=""}async function St(){if(!nt.value)return;ze.value="";const c=fe.member_number.trim();if(Ue.value&&!ve.value){if(!c||!xt.test(c)){ze.value=r("member_numbers.error_format");return}const _=await Ie(c),_e=nt.value.member_number===c;if(!_&&!_e){ze.value=r("member_numbers.error_duplicate");return}}Ot.value=!0;try{const _=Ke(fe.role),_e=nt.value.visible_project_ids||[],l=_e.filter(de=>!Ht.value.includes(de)),y=_.role==="admin"?_e:[...new Set([...Xe.value,...l])];await Ne(nt.value.id,{role:_.role,org_role_id:_.org_role_id,is_active:fe.is_active,work_time_model_id:fe.work_time_model_id??null,expires_at:fe.expires_at||null,member_number:Ue.value&&!ve.value&&c?c:null,annual_vacation_days:fe.annual_vacation_days!==""?Number(fe.annual_vacation_days):null,color:fe.color||null,visible_project_ids:y.length?y:null}),P.add({class:"mo-toast",title:r("settings.organisation.member_updated"),color:"success"}),nt.value=null}catch(_){_?.code==="23505"?ze.value=r("member_numbers.error_duplicate"):P.add({class:"mo-toast",title:r("common.error"),description:_.message,color:"error"})}finally{Ot.value=!1}}const Vt=m(null);function ss(c){Vt.value=c}function Qt(c,_){Re(c,_)}const mt=m(null);function lt(c){w.value&&c.is_active?Re(()=>u(c.id),"remove"):mt.value=c.id}async function u(c){try{await it(c),mt.value=null,P.add({class:"mo-toast",title:r("settings.organisation.member_removed"),color:"neutral"})}catch(_){P.add({class:"mo-toast",title:r("common.error"),description:_.message,color:"error"})}}function k(c){c.key==="Enter"&&u(mt.value),c.key==="Escape"&&(mt.value=null)}ue(mt,c=>{c?window.addEventListener("keydown",k):window.removeEventListener("keydown",k)});const ce=m(null);function Ee(c){c.key==="Enter"&&yt(ce.value),c.key==="Escape"&&(ce.value=null)}ue(ce,c=>{c?window.addEventListener("keydown",Ee):window.removeEventListener("keydown",Ee)});async function yt(c){if(c)try{await qe(c),ce.value=null}catch(_){P.add({class:"mo-toast",title:r("common.error"),description:_.message,color:"error"})}}async function Mt(c){try{await B(c),P.add({class:"mo-toast",title:r("settings.organisation.invite_resent"),color:"success"})}catch{P.add({class:"mo-toast",title:r("settings.organisation.invite_error_failed"),color:"error"})}}const je=m(null),jt=m(null),Ve=m(!1),bt=m(!1);function kt(c){c.key==="Enter"&&se(jt.value),c.key==="Escape"&&(jt.value=null)}ue(jt,c=>{c?window.addEventListener("keydown",kt):window.removeEventListener("keydown",kt)});function $t(c){c.key==="Enter"&&Le(je.value),c.key==="Escape"&&(je.value=null)}ue(je,c=>{c?window.addEventListener("keydown",$t):window.removeEventListener("keydown",$t)}),Os(()=>{window.removeEventListener("keydown",k),window.removeEventListener("keydown",Ee),window.removeEventListener("keydown",kt),window.removeEventListener("keydown",$t)});async function Gt(c){Ve.value=!0;try{await Pt(c.id),await b(),P.add({class:"mo-toast",title:r("settings.organisation.invite_accepted",{org:c.organizations?.name}),color:"success"})}catch(_){P.add({class:"mo-toast",title:r("common.error"),description:_.data?.statusMessage||_.message,color:"error"})}finally{Ve.value=!1}}async function se(c){Ve.value=!0;try{await zt(c),jt.value=null,P.add({class:"mo-toast",title:r("settings.organisation.invite_declined"),color:"neutral"})}catch(_){P.add({class:"mo-toast",title:r("common.error"),description:_.data?.statusMessage||_.message,color:"error"})}finally{Ve.value=!1}}async function Le(c){Ve.value=!0;try{await Jt(c),await b(),je.value=null,P.add({class:"mo-toast",title:r("settings.organisation.left_org"),color:"neutral"})}catch(_){P.add({class:"mo-toast",title:r("common.error"),description:_.message,color:"error"})}finally{Ve.value=!1}}const Lt=m(null);async function Us(c){c!==ne.value?.id&&(Lt.value=c,await Promise.all([le.value?me():Promise.resolve(),R.value?U({force:!0}):Promise.resolve()]),await new Promise(_=>setTimeout(_,300)),await Z(c),Lt.value=null)}const{user:es}=va(),fs=x(()=>{const c=es.value?.id||es.value?.sub;return S.value.filter(_=>{const l=(_.organization_members||[]).find(y=>y.user_id===c)?.role;return l&&l!=="owner"}).map(_=>{const l=(_.organization_members||[]).find(y=>y.user_id===c);return{..._,myRole:l?.role??null,myWorkTimeModel:l?.work_time_models??null,myMemberNumber:l?.member_number??null}})});Ps({escape:{usingInput:!0,handler:()=>{Vt.value=null,nt.value=null,Oe.value=!1,ce.value=null}}});const{fetchVisibilityOverview:Ss}
1=ha(),vt=m({autoCount:0,basisGesamt:0,autoNamen:[],basisNamen:[],proMitglied:{}});async function Ae(){if(!(!f.value||!X.value||I.value))try{vt.value=await Ss(f.value)}catch{}}ue([f,X],Ae,{immediate:!0}),ue(()=>T.value.map(c=>c.user_id||c.id).join(","),Ae);function Wt(c){const _=vt.value.basisGesamt;return c.role==="owner"||c.role==="admin"?{sichtbar:_,gesamt:_,namen:vt.value.basisNamen??[]}:vt.value.proMitglied[c.user_id]??{sichtbar:vt.value.autoCount,gesamt:_,namen:vt.value.autoNamen??[]}}function ns(c){const _=Wt(c).namen??[];return _.length<=ea?{namen:_,weitere:0}:{namen:_.slice(0,ea),weitere:_.length-ea}}return is(()=>{we(),M(),te(),Bt(),gt()}),ue(f,()=>{we(),M(),Bt(),gt()}),(c,_)=>{const _e=ks,l=ts,y=Hs,de=Xt,pe=na,xe=ws,Dt=_s,ds=ka,Nt=ba,Yt=Vi,At=ps,Je=$s,vs=Ts,ys=Ws,as=Pa,bs=za,hs=ms,Vs=Sa,Ms=ur,js=la,ls=Sr;return o(),i(F,null,[t("div",Vr,[a(xe,{class:"no-hover m-0"},{header:n(()=>[t("div",Mr,[t("span",jr,s(c.$t("settings.organisation.my_memberships_title")),1),e(pt).length>0?(o(),E(_e,{key:0,color:"secondary",variant:"subtle",size:"md"},{default:n(()=>[g(s(c.$t("settings.organisation.pending_invites_count",{count:e(pt).length})),1)]),_:1})):h("",!0)])]),default:n(()=>[t("div",Ar,[t("p",Tr,s(c.$t("settings.organisation.my_memberships_desc")),1),e(ht)?(o(),i("div",Pr,[a(l,{name:"i-lucide-loader-2",class:"animate-spin text-muted"})])):(o(),i(F,{key:1},[e(pt).length>0?(o(),i(F,{key:0},[t("p",zr,s(c.$t("settings.organisation.open_invites")),1),(o(!0),i(F,null,De(e(pt),p=>(o(),i("div",{key:p.id,class:"flex items-center gap-3 p-3 rounded-3xl border border-secondary-400! bg-secondary-200/40! max-[1640px]:flex-col! max-[1640px]:items-start max-[1280px]:flex-row! max-[1280px]:items-center max-[1024px]:flex-col! max-[1024px]:items-start",style:us(C(p.organizations,"invite"))},[a(y,{src:p.organizations?.logo_url||void 0,text:p.organizations?.logo_url?void 0:(p.organizations?.name||"?").slice(0,2).toUpperCase(),size:"sm",class:"avatar avatar-small shrink-0"},null,8,["src","text"]),t("div",Er,[t("p",Ir,s(p.organizations?.name),1),t("p",Or,[g(s(c.$t("settings.organisation.role_label"))+": "+s(Me(p.role))+" ",1),p.expires_at?(o(),i(F,{key:0},[g("· "+s(c.$t("settings.organisation.expires",{date:ct(p.expires_at)})),1)],64)):h("",!0)])]),t("div",Lr,[e(jt)===p.id?(o(),i(F,{key:0},[t("span",Dr,s(c.$t("common.sure")),1),a(de,{size:"xs",color:"error",variant:"soft",icon:"i-lucide-check",loading:e(Ve),onClick:Be=>se(p.id)},null,8,["loading","onClick"]),a(de,{size:"xs",color:"neutral",variant:"subtle",icon:"i-lucide-x",onClick:_[0]||(_[0]=Be=>jt.value=null)})],64)):(o(),i("div",Nr,[a(pe,{text:c.$t("settings.organisation.decline_invite"),ui:{content:"py-1!"}},{default:n(()=>[a(de,{icon:"mosy:circle-xmark",size:"xs",color:"neutral",variant:"outline",onClick:Be=>jt.value=p.id},{default:n(()=>[t("span",Rr,s(c.$t("settings.organisation.decline_invite")),1)]),_:1},8,["onClick"])]),_:2},1032,["text"]),a(pe,{text:c.$t("settings.organisation.accept_invite"),ui:{content:"py-1!"}},{default:n(()=>[a(de,{icon:"mosy:circle-check",size:"xs",color:"secondary",loading:e(Ve),onClick:Be=>Gt(p)},{default:n(()=>[t("span",Fr,s(c.$t("settings.organisation.accept_invite")),1)]),_:1},8,["loading","onClick"])]),_:2},1032,["text"])]))])],4))),128))],64)):h("",!0),e(V)||e(fs).length>0?(o(),i(F,{key:1},[t("p",Br,s(c.$t("settings.organisation.active_memberships")),1),t("div",Kr,[e(V)?(o(),i("div",{key:0,class:"flex items-center gap-3 p-3 rounded-3xl border border-secondary-400 bg-secondary-200/40 max-[540px]:flex-col! max-[540px]:items-start",style:us(C(e(V)))},[a(y,{src:e(V).logo_url||void 0,text:e(V).logo_url?void 0:(e(V).name||"").slice(0,2).toUpperCase(),size:"sm",class:"avatar avatar-medium shrink-0"},null,8,["src","text"]),t("div",Hr,[t("p",qr,s(e(V).name),1),t("p",Wr,s(Me("owner")),1)]),t("div",Gr,[e(ne)?.id!==e(V).id?(o(),E(de,{key:0,size:"xs",icon:"mosy:arrow-right-to-bracket",class:"bg-white/70! border border-secondary-200 text-secondary-600! hover:bg-secondary-500! hover:text-white!",loading:e(Lt)===e(V).id,onClick:_[1]||(_[1]=p=>Us(e(V).id))},{default:n(()=>[g(s(c.$t("settings.organisation.switch_to_org")),1)]),_:1},8,["loading"])):(o(),E(_e,{key:1,color:"secondary",variant:"solid",size:"lg",class:"px-3! text-[13px]! mt-2 rounded-4xl!"},{default:n(()=>[g(s(c.$t("settings.organisation.active_org")),1)]),_:1}))])],4)):h("",!0),(o(!0),i(F,null,De(e(fs),p=>(o(),i("div",{key:p.id,class:"flex items-center gap-3 p-3 rounded-3xl border border-secondary-400 bg-secondary-200/40 max-[540px]:flex-col! max-[540px]:items-start",style:us(C(p))},[a(y,{src:p.logo_url||void 0,text:p.logo_url?void 0:(p.name||"").slice(0,2).toUpperCase(),size:"sm",class:"avatar avatar-medium shrink-0"},null,8,["src","text"]),t("div",Yr,[t("p",Xr,s(p.name),1),t("p",Jr,[g(s(Me(p.myRole))+" ",1),p.myWorkTimeModel?(o(),i(F,{key:0},[g(" · "+s(p.myWorkTimeModel.name)+" ("+s(p.myWorkTimeModel.weekly_hours)+"h) ",1)],64)):h("",!0),p.use_member_numbers&&p.myMemberNumber?(o(),i(F,{key:1},[_[38]||(_[38]=g(" · ",-1)),t("span",Zr,"#"+s(p.myMemberNumber),1)],64)):h("",!0)])]),t("div",Qr,[e(je)===p.id?(o(),i(F,{key:0},[t("span",ec,s(c.$t("common.sure")),1),a(de,{size:"xs",color:"error",variant:"soft",icon:"i-lucide-check",loading:e(Ve),onClick:Be=>Le(p.id)},null,8,["loading","onClick"]),a(de,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:_[2]||(_[2]=Be=>je.value=null)})],64)):(o(),i(F,{key:1},[e(ne)?.id!==p.id?(o(),E(de,{key:0,size:"xs",icon:"mosy:arrow-right-to-bracket",class:"bg-white/70! border border-secondary-200 text-secondary-600! hover:bg-secondary-500! hover:text-white!",loading:e(Lt)===p.id,onClick:Be=>Us(p.id)},{default:n(()=>[g(s(c.$t("settings.organisation.switch_to_org")),1)]),_:1},8,["loading","onClick"])):(o(),E(_e,{key:1,color:"secondary",variant:"solid",size:"lg",class:"px-3! text-[13px]! mt-2 rounded-4xl!"},{default:n(()=>[g(s(c.$t("settings.organisation.active_org")),1)]),_:1})),e(bt)?(o(),E(de,{key:2,size:"xs",color:"secondary",variant:"solid",onClick:Be=>je.value=p.id},{default:n(()=>[g(s(c.$t("settings.organisation.leave_org")),1)]),_:1},8,["onClick"])):h("",!0)],64))])],4))),128))])],64)):h("",!0),e(pt).length===0&&e(fs).length===0?(o(),i("div",tc,[a(l,{name:"mosy:building",class:"w-8 h-8 mx-auto mb-2"}),t("p",sc,s(c.$t("settings.organisation.no_other_memberships")),1)])):h("",!0)],64))])]),_:1}),e(ie)?(o(),E(xe,{key:0,class:"no-hover m-0"},{header:n(()=>[t("span",ac,s(c.$t("member_numbers.title")),1)]),default:n(()=>[t("div",oc,[t("div",nc,[t("p",lc,s(c.$t("member_numbers.use_label")),1),a(Dt,{"model-value":e(Ue),loading:e(st),color:"secondary","onUpdate:modelValue":_[3]||(_[3]=p=>{Ue.value=p,wt({use_member_numbers:p})})},null,8,["model-value","loading"])]),a(aa,{name:"fade"},{default:n(()=>[e(Ue)?(o(),i("div",ic,[t("button",{type:"button",class:ge(["w-full flex items-start gap-3 p-3 rounded-2xl border-1 transition-colors text-left",e(ve)?"bg-secondary-200/40 border-secondary-400":"border-secondary-300/80 hover:border-secondary-600/80 hover:bg-secondary-100/40"]),onClick:_[4]||(_[4]=p=>{ve.value=!0,wt({member_numbers_auto:!0})})}
1,[t("div",{class:ge(["w-4 h-4 rounded-full border-1 shrink-0 mt-0.5 flex items-center justify-center transition-colors",e(ve)?"border-secondary-500":"border-secondary-300"])},[e(ve)?(o(),i("div",rc)):h("",!0)],2),t("div",null,[t("p",cc,s(c.$t("member_numbers.mode_auto")),1),t("p",dc,s(c.$t("member_numbers.mode_auto_hint")),1)])],2),t("button",{type:"button",class:ge(["w-full flex items-start gap-3 p-3 rounded-2xl border-1 transition-colors text-left",e(ve)?"border-secondary-300/80 hover:border-secondary-600/80 hover:bg-secondary-100/40":"bg-secondary-200/40 border-secondary-400"]),onClick:_[5]||(_[5]=p=>{ve.value=!1,wt({member_numbers_auto:!1})})},[t("div",{class:ge(["w-4 h-4 rounded-full border-1 shrink-0 mt-0.5 flex items-center justify-center transition-colors",e(ve)?"border-secondary-300":"border-secondary-500"])},[e(ve)?h("",!0):(o(),i("div",uc))],2),t("div",null,[t("p",mc,s(c.$t("member_numbers.mode_manual")),1),t("p",pc,s(c.$t("member_numbers.mode_manual_hint")),1)])],2)])):h("",!0)]),_:1})])]),_:1})):h("",!0),e(ie)?(o(),i("div",_c,[a(xe,{class:"no-hover m-0 col-span-2 max-[1200px]:col-span-1"},{header:n(()=>[t("div",gc,[t("span",fc,[g(s(c.$t("settings.organisation.members_title"))+" ",1),e(ke)?h("",!0):(o(),i("span",{key:0,class:"font-medium inline-flex items-center text-sm px-2 py-1 rounded-md bg-primary/10 text-primary-700 mo-badge mo-badge-light ml-0.5",innerHTML:e(T).filter(p=>p.is_active).length},null,8,vc))]),e(O)&&e(w)?(o(),E(ds,{key:0},{default:n(()=>[g(s(c.$t("native.members_web_only")),1)]),_:1})):(o(),E(de,{key:1,size:"sm",icon:e(H)?"mosy:lock":"mosy:user-circle-plus",class:"mo-button mo-button-small",onClick:Kt},{default:n(()=>[g(s(c.$t("settings.organisation.invite_button")),1)]),_:1},8,["icon"]))])]),default:n(()=>[t("div",yc,[e(Y)?(o(),i("div",bc,[t("div",hc,[a(l,{name:"mosy:rocket-launch",class:"text-secondary-500 shrink-0 text-base"}),t("p",xc,s(c.$t("upsell.limit_members_nudge")),1)]),e(O)?(o(),E(ds,{key:0,class:"shrink-0"},{default:n(()=>[g(s(c.$t("native.free_limit_web")),1)]),_:1})):(o(),E(de,{key:1,size:"xs",icon:"mosy:rocket-launch",class:"mo-button mo-button-small shrink-0",onClick:_[6]||(_[6]=p=>q.value=!0)},{default:n(()=>[e(L)?(o(),i(F,{key:0},[g(s(c.$t("upsell.cta_label")),1)],64)):(o(),i(F,{key:1},[g(s(c.$t("upsell.cta_label_test")),1)],64))]),_:1}))])):h("",!0),e(ke)?(o(),i("div",kc,[a(l,{name:"i-lucide-loader-2",class:"animate-spin text-muted"})])):(o(),i("div",$c,[t("table",wc,[t("thead",null,[t("tr",Cc,[_[39]||(_[39]=t("th",{class:"w-10 pb-3"},null,-1)),t("th",Uc,s(c.$t("settings.organisation.col_name")),1),t("th",Sc,s(c.$t("settings.organisation.col_role")),1),t("th",Vc,s(c.$t("settings.organisation.col_status")),1),t("th",Mc,s(c.$t("settings.organisation.col_work_time_model")),1),_[40]||(_[40]=t("th",{class:"w-10 pb-3"},null,-1))])]),t("tbody",null,[(o(!0),i(F,null,De(e(T),p=>(o(),i("tr",{key:p.id,class:"border-b border-(--ui-border) last:border-0 group"},[t("td",jc,[a(y,{src:p.avatar_url||void 0,text:p.avatar_url?void 0:(p.full_name||p.email||"?").slice(0,2).toUpperCase(),size:"sm",ui:{fallback:p.color&&!p.avatar_url?"font-semibold":"text-secondary-600!"},class:"avatar avatar-small avatar-color-auto bg-secondary-100",style:us(p.color&&!p.avatar_url?{backgroundColor:p.color,color:`${e(ma)(p.color)} !important`}:void 0)},null,8,["src","text","ui","style"])]),t("td",Ac,[t("p",Tc,[g(s(p.full_name||p.email||"—")+" ",1),e(Ue)?(o(),i(F,{key:0},[p.member_number?(o(),i("span",Pc," (#"+s(p.member_number)+") ",1)):(o(),i("span",zc,"(—)"))],64)):h("",!0)]),t("div",Ec,[p.full_name&&p.email?(o(),i("span",Ic,s(p.email),1)):h("",!0),p.is_manual?(o(),i("span",Oc,[a(l,{name:"mosy:user",class:"text-[10px]"}),g(" "+s(c.$t("settings.organisation.manual_badge")),1)])):h("",!0),!p.is_manual&&!e(I)?(o(),E(pe,{key:2},{content:n(()=>[t("div",null,[t("p",Dc,s(p.role==="owner"||p.role==="admin"?c.$t("settings.organisation.project_access_badge_all",{projects:e(ee)}):c.$t("settings.organisation.project_access_badge_hint",{count:Wt(p).sichtbar,total:Wt(p).gesamt,projects:e(ee)})),1),ns(p).namen.length?(o(),i("ul",Nc,[(o(!0),i(F,null,De(ns(p).namen,Be=>(o(),i("li",{key:Be,class:"text-[11px] font-medium opacity-90 truncate"},s(Be),1))),128))])):(o(),i("p",Rc,s(c.$t("settings.organisation.project_access_tooltip_none",{projects:e(ee)})),1)),ns(p).weitere?(o(),i("p",Fc,s(c.$t("settings.organisation.project_access_tooltip_more",{count:ns(p).weitere})),1)):h("",!0)])]),default:n(()=>[t("span",Lc,[a(l,{name:"mosy:folder-open",class:"text-[10px]"}),g(" "+s(Wt(p).sichtbar)+"/"+s(Wt(p).gesamt),1)])]),_:2},1024)):h("",!0),p.expires_at?(o(),i("div",Bc,s(c.$t("settings.organisation.expires",{date:ct(p.expires_at)})),1)):h("",!0)])]),t("td",Kc,[a(_e,{color:p.role==="owner"?"secondary":"neutral",variant:"subtle",size:"md",class:"py-0.5! px-2! rounded-lg! bg-secondary-100/50! text-secondary-600! font-semibold"},{default:n(()=>[g(s(tt(p)),1)]),_:2},1032,["color"])]),t("td",Hc,[t("div",{class:ge(["flex items-center gap-1.5 inline-flex px-2 py-[1px] rounded-2xl ring",p.is_active?"bg-green-100/80 ring-green-400":"bg-gray-200/80 ring-gray-400"])},[t("div",{class:ge(["w-[7px] h-[7px] rounded-full flex-shrink-0",p.is_active?"bg-green-500":"bg-gray-500/80"])},null,2),t("span",{class:ge(["text-[13px] font-medium",p.is_active?"text-green-700":"text-slate-500"])},s(p.is_active?c.$t("settings.organisation.status_active"):c.$t("settings.organisation.status_inactive")),3)],2)]),t("td",qc,[t("span",Wc,s(e(Et).find(Be=>Be.id===p.work_time_model_id)?.name||"—"),1)]),t("td",Gc,[p.role!=="owner"?(o(),i(F,{key:0},[e(mt)===p.id?(o(),i("div",Yc,[t("span",Xc,s(c.$t("common.delete_confirm_title")),1),a(de,{size:"xs",color:"error",variant:"soft",icon:"i-lucide-check",onClick:Be=>u(p.id)},null,8,["onClick"]),a(de,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:_[7]||(_[7]=Be=>mt.value=null)})])):(o(),E(Nt,{key:1,items:[...e(H)?[]:[[{label:c.$t("common.edit"),icon:"mosy:pen",onSelect:()=>ss(p)}]],[{label:c.$t("common.delete"),icon:"mosy:trash",color:"error",onSelect:()=>lt(p)}]],content:{align:"end"}},{default:n(()=>[a(de,{size:"xs",color:"secondary",variant:"subtle",class:"px-3!",icon:"mosy:ellipsis-vertical"})]),_:1},8,["items"]))],64)):p.user_id===(e(es)?.id||e(es)?.sub)?(o(),E(de,{key:1,size:"xs",color:"secondary",variant:"subtle",class:"px-3!",icon:"mosy:ellipsis-vertical",onClick:Be=>ss(p)},null,8,["onClick"])):h("",!0)])]))),128)),(o(!0),i(F,null,De(e(z),p=>(o(),i("tr",{key:p.id,class:"border-b border-(--ui-border) last:border-0 group"},[t("td",Jc,[t("div",{class:"w-9 h-9 rounded-full bg-secondary-100 flex items-center justify-center shrink-0",style:us(p.color?{backgroundColor:p.color}:void 0)},[a(l,{name:"mosy:envelope",class:"text-secondary-500 w-3.5 h-3.5",style:us(p.color?{color:e(ma)(p.color)}:void 0)},null,8,["style"])],4)]),t("td",Zc,[t("p",Qc,[g(s(p.email)+" ",1),e(Ue)?(o(),i(F,{key:0},[p.member_number?(o(),i("span",ed," (#"+s(p.member_number)+") ",1)):(o(),i("span",td," ("+s(e(ve)?c.$t("member_numbers.pending_auto"):"—")+") ",1))],64)):h("",!0)]),t("div",sd,[g(s(c.$t("settings.organisation.invite_pending"))+" ",1),p.expires_at?(o(),i(F,{key:0},[g("· "+s(c.$t("settings.organisation.expires",{date:ct(p.expires_at)})),1)],64)):h("",!0)])]),t("td",ad,[a(_e,{color:"neutral",variant:"subtle",size:"md",class:"py-0.5! px-2! rounded-lg! bg-secondary-100/50! text-secondary-600! font-semibold"},{default:n(()=>[g(s(tt(p)),1)]),_:2},1024)]),t("td",od,[t("div",nd,[_[41]||(_[41]=t("div",{class:"w-[7px] h-[7px] rounded-full bg-warning-600 flex-shrink-0"},null,-1)),t("span",ld,s(c.$t("settings.organisation.status_pending")),1)])]),t("td",id,[t("span",rd,s(e(Et).find(Be=>Be.id===p.work_time_model_id)?.name||"—"),1)]),t("td",cd,[e(ce)===p.id?(o(),i("div",dd,[t("span",ud,s(c.$t("common.delete_confirm_title")),1),a(de,{size:"xs",color:"error",variant:"soft",icon:"i-lucide-check",onClick:Be=>yt(p.id)},null,8,["onClick"]),a(de,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:_[8]||(_[8]=Be=>ce.value=null)})])):(o(),E(Nt,{key:1,items:[...e(H)?[]:[[{label:c.$t("common.edit"),icon:"mosy:pen",onSelect:()=>qt(p)},{label:c.$t("settings.organisation.invite_resend"),icon:"i-lucide-refresh-cw",onSelect:()=>Mt(p)}]],[{label:c.$t("settings.organisation.invite_revoke"),icon:"mosy:trash",color:"error",onSelect:()=>{ce.value=p.id}}]],content:{align:"end"}},{default:n(()=>[a(de,{size:"xs",color:"secondary",variant:"subtle",class:"px-3!",icon:"mosy:ellipsis-vertical"})]),_:1},8,["items"]))])]))),128))])])]))])]),_:1}),a(Yt,{class:"col-span-1 max-[1200px]:col-span-1","org-id":e(f)},null,8,["org-id"])])):h("",!0)]),a(hs,{open:e(Oe),title:c.$t("settings.organisation.invite_modal_title"),ui:{width:"sm:max-w-md"},"onUpdate:open":_[22]||(_[22]=p=>Oe.value=!1)},{body:n(()=>[t("div",md,[t("div",pd,[(o(!0),i(F,null,De(e(W),p=>(o(),i("button",{key:p.value,type:"button",class:ge(["flex-1 rounded-lg py-1.5 text-sm font-semibold transition-all",e(ot)===p.value?"bg-secondary-600 text-white shadow-sm":"text-secondary-600 hover:text-secondary-700 hover:bg-secondary-200/80"]),onClick:Be=>{ot.value=p.value,Fe.value=""}},s(p.label),11,_d))),128))]),e(ot)==="invite"?(o(),i(F,{key:0},[a(Je,{label:c.$t("settings.organisation.invite_email_label")},{default:n(()=>[a(At,{modelValue:e(Q).email,"onUpdate:modelValue":_[9]||(_[9]=p=>e(Q).email=p),type:"email",placeholder:c.$t("settings.organisation.invite_email_placeholder"),autofocus:"",onKeydown:et(Ct,["enter"])},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),e(Ue)&&!e(ve)?(o(),E(Je,{key:0,label:c.$t("member_numbers.field_label"),required:""},{hint:n(()=>[t("span",gd,s(c.$t("member_numbers.mode_manual_hint")),1)]),default:n(()=>[a(At,{modelValue:e(Q).member_number,"onUpdate:modelValue":_[10]||(_[10]=p=>e(Q).member_number=p),placeholder:c.$t("member_numbers.field_placeholder"),maxlength:"5",inputmode:"numeric",onKeydown:et(Ct,["enter"])},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):h("",!0)],64)):(o(),i(F,{key:1},[t("div",fd,[t("label",vd,[t("div",yd,[e(Ce).avatarPreview?(o(),i("img",{key:0,src:e(Ce).avatarPreview,class:"w-full h-full object-cover"},null,8,bd)):(o(),E(l,{key:1,name:"mosy:camera",class:"text-secondary-500 text-xl group-hover:text-secondary-500 transition-colors"}))]),t("input",{type:"file",accept:"image/*",class:"absolute inset-0 opacity-0 cursor-pointer",onChange:gs},null,32)]),t("div",hd,[t("p",xd,s(c.$t("settings.organisation.manual_avatar_label")),1),t("p",kd,s(c.$t("settings.organisation.manual_avatar_hint")),1)])]),a(Je,{label:c.$t("settings.organisation.manual_name_label"),required:""},{default:n(()=>[a(At,{modelValue:e(Ce).name,"onUpdate:modelValue":_[11]||(_[11]=p=>e(Ce).name=p),placeholder:c.$t("settings.organisation.manual_name_placeholder"),autofocus:"",onKeydown:et(Zt,["enter"])},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),e(Ue)&&!e(ve)?(o(),E(Je,{key:0,label:c.$t("member_numbers.field_label"),required:""},{hint:n(()=>[t("span",$d,s(c.$t("member_numbers.mode_manual_hint")),1)]),default:n(()=>[a(At,{modelValue:e(Ce).member_number,"onUpdate:modelValue":_[12]||(_[12]=p=>e(Ce).member_number=p),placeholder:c.$t("member_numbers.field_placeholder"),maxlength:"5",inputmode:"numeric",onKeydown:et(Zt,["enter"])},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):h("",!0)],64)),a(Je,{label:c.$t("settings.organisation.invite_role_label")},{default:n(()=>[a(vs,{modelValue:e(Q).role,"onUpdate:modelValue":_[13]||(_[13]=p=>e(Q).role=p),items:e(We),"value-key":"value",class:"w-full"},{empty:n(()=>[t("span",wd,s(c.$t("common.no_results")),1)]),_:1},8,["modelValue","items"]),e(Q).role==="admin"?(o(),i("p",Cd,s(c.$t("settings.organisation.admin_role_description",{projects:e(ee),clients:e(be)})),1)):h("",!0)]),_:1},8,["label"]),a(Je,null,{default:n(()=>[t("label",Ud,s(c.$t("settings.organisation.member_color_label")),1),a(ys,{modelValue:e(Q).color,"onUpdate:modelValue":_[14]||(_[14]=p=>e(Q).color=p),"show-presets":""},null,8,["modelValue"])]),_:1}),a(as,{modelValue:e(Q).work_time_model_id,"onUpdate:modelValue":_[15]||(_[15]=p=>
1e(Q).work_time_model_id=p),items:e(Ut),"has-models":!!e(Et).length,onNavigate:_[16]||(_[16]=p=>Oe.value=!1)},null,8,["modelValue","items","has-models"]),t("div",Sd,[t("div",null,[t("label",Vd,s(c.$t("settings.organisation.invite_set_vacation_days")),1),t("p",Md,s(c.$t("settings.organisation.invite_set_vacation_days_hint")),1)]),a(Dt,{modelValue:e(Q).set_vacation_days,"onUpdate:modelValue":_[17]||(_[17]=p=>e(Q).set_vacation_days=p),color:"secondary"},null,8,["modelValue"])]),e(Q).set_vacation_days?(o(),E(Je,{key:2,label:c.$t("settings.organisation.member_vacation_days_label_plain")},{default:n(()=>[a(At,{modelValue:e(Q).annual_vacation_days,"onUpdate:modelValue":_[18]||(_[18]=p=>e(Q).annual_vacation_days=p),type:"number",min:"0",step:"0.5",placeholder:e(Ye)||c.$t("settings.organisation.default_vacation_days_placeholder"),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):h("",!0),t("div",jd,[t("div",Ad,[t("label",Td,s(c.$t("settings.organisation.status_active")),1),a(Dt,{modelValue:e(Q).is_active,"onUpdate:modelValue":_[19]||(_[19]=p=>e(Q).is_active=p),color:"secondary"},null,8,["modelValue"])])]),e(ot)==="invite"&&!e(I)&&e(Q).role!=="admin"?(o(),E(bs,{key:3,modelValue:e(Se),"onUpdate:modelValue":_[20]||(_[20]=p=>ye(Se)?Se.value=p:null),"org-id":e(f)},null,8,["modelValue","org-id"])):h("",!0),e(Fe)?(o(),i("p",Pd,s(e(Fe)),1)):h("",!0),e(ut)?(o(),i("p",zd,s(e(ut)),1)):h("",!0)])]),footer:n(()=>[t("div",Ed,[a(de,{color:"neutral",variant:"outline",onClick:_[21]||(_[21]=p=>Oe.value=!1)},{default:n(()=>[g(s(c.$t("common.cancel")),1)]),_:1}),e(ot)==="invite"?(o(),E(de,{key:0,icon:"mosy:paper-plane",class:"mo-button mo-button-medium",loading:e(Te),disabled:!e(Q).email.trim(),onClick:Ct},{default:n(()=>[g(s(c.$t("settings.organisation.invite_send_button")),1)]),_:1},8,["loading","disabled"])):(o(),E(de,{key:1,icon:"mosy:user-circle-plus",class:"mo-button mo-button-medium",loading:e(Te),disabled:!e(Ce).name.trim(),onClick:Zt},{default:n(()=>[g(s(c.$t("settings.organisation.manual_create_button")),1)]),_:1},8,["loading","disabled"]))])]),_:1},8,["open","title"]),a(hs,{open:!!e(nt),title:c.$t("settings.organisation.edit_invite_title"),ui:{width:"sm:max-w-md"},"onUpdate:open":_[35]||(_[35]=p=>nt.value=null)},{body:n(()=>[t("div",{class:"space-y-4 mo-modal mo-no-max",onKeydown:et(Tt(St,["prevent"]),["enter"])},[a(Je,{label:c.$t("settings.organisation.invite_email_label")},{default:n(()=>[a(At,{"model-value":e(nt)?.email,disabled:""},null,8,["model-value"])]),_:1},8,["label"]),a(Je,{label:c.$t("settings.organisation.col_role")},{default:n(()=>[a(vs,{modelValue:e(fe).role,"onUpdate:modelValue":_[23]||(_[23]=p=>e(fe).role=p),items:e(We),"value-key":"value",class:"w-full"},{empty:n(()=>[t("span",Od,s(c.$t("common.no_results")),1)]),_:1},8,["modelValue","items"]),e(fe).role==="admin"?(o(),i("p",Ld,s(c.$t("settings.organisation.admin_role_description",{projects:e(ee),clients:e(be)})),1)):h("",!0)]),_:1},8,["label"]),a(Je,{label:c.$t("settings.organisation.member_color_label")},{default:n(()=>[a(ys,{modelValue:e(fe).color,"onUpdate:modelValue":_[24]||(_[24]=p=>e(fe).color=p),"show-presets":""},null,8,["modelValue"])]),_:1},8,["label"]),a(as,{modelValue:e(fe).work_time_model_id,"onUpdate:modelValue":_[25]||(_[25]=p=>e(fe).work_time_model_id=p),items:e(Ut),"has-models":!!e(Et).length,onNavigate:_[26]||(_[26]=p=>nt.value=null)},null,8,["modelValue","items","has-models"]),a(Je,{label:c.$t("settings.organisation.member_vacation_days_label_plain")},{default:n(()=>[a(At,{modelValue:e(fe).annual_vacation_days,"onUpdate:modelValue":_[27]||(_[27]=p=>e(fe).annual_vacation_days=p),type:"number",min:"0",step:"0.5",placeholder:e(Ye)||c.$t("settings.organisation.member_vacation_days_placeholder"),class:"w-full"},null,8,["modelValue","placeholder"]),t("p",Dd,s(e(Ye)?c.$t("settings.organisation.member_vacation_days_hint",{days:e(Ye)}):c.$t("settings.organisation.member_vacation_days_placeholder")),1)]),_:1},8,["label"]),e(Ue)&&!e(ve)?(o(),E(Je,{key:0,label:c.$t("member_numbers.field_label"),required:""},{hint:n(()=>[t("span",Nd,s(c.$t("member_numbers.mode_manual_hint")),1)]),default:n(()=>[a(At,{modelValue:e(fe).member_number,"onUpdate:modelValue":_[28]||(_[28]=p=>e(fe).member_number=p),placeholder:c.$t("member_numbers.field_placeholder"),maxlength:"5",inputmode:"numeric"},null,8,["modelValue","placeholder"])]),_:1},8,["label"])):h("",!0),e(ze)?(o(),i("p",Rd,s(e(ze)),1)):h("",!0),a(Je,{label:c.$t("settings.organisation.expires_label")},{default:n(()=>[t("div",Fd,[a(Vs,{modelValue:e(fe).expires_at,"onUpdate:modelValue":_[29]||(_[29]=p=>e(fe).expires_at=p),"date-only":!0,placeholder:c.$t("settings.organisation.expires_placeholder"),class:"flex-1"},null,8,["modelValue","placeholder"]),e(fe).expires_at?(o(),E(de,{key:0,size:"xs",color:"neutral",variant:"ghost",icon:"i-lucide-x",onClick:_[30]||(_[30]=p=>e(fe).expires_at="")}
1)):h("",!0)])]),_:1},8,["label"]),t("div",Bd,[t("div",Kd,[t("label",Hd,s(c.$t("settings.organisation.status_active")),1),a(Dt,{modelValue:e(fe).is_active,"onUpdate:modelValue":_[31]||(_[31]=p=>e(fe).is_active=p),color:"secondary"},null,8,["modelValue"])])]),!e(I)&&e(fe).role!=="admin"?(o(),E(bs,{key:2,modelValue:e(Xe),"onUpdate:modelValue":_[32]||(_[32]=p=>ye(Xe)?Xe.value=p:null),"org-id":e(f),onScope:_[33]||(_[33]=p=>Ht.value=p)},null,8,["modelValue","org-id"])):h("",!0)],40,Id)]),footer:n(()=>[t("div",qd,[a(de,{color:"neutral",variant:"outline",onClick:_[34]||(_[34]=p=>nt.value=null)},{default:n(()=>[g(s(c.$t("common.cancel")),1)]),_:1}),a(de,{class:"mo-button mo-button-medium",loading:e(Ot),onClick:St},{default:n(()=>[g(s(c.$t("common.save")),1)]),_:1},8,["loading"])])]),_:1},8,["open","title"]),a(Ms,{member:e(Vt),"org-id":e(f),"work-time-model-items":e(Ut),"has-work-time-models":!!e(Et).length,"use-member-numbers":e(Ue),"member-numbers-auto":e(ve),"org-default-vacation-days":e(Ye),"role-options":e(We),"is-own-org-pro-paid":e(w),onClose:_[36]||(_[36]=p=>{Vt.value=null,Ae()}),onRequestSeatConfirm:Qt},null,8,["member","org-id","work-time-model-items","has-work-time-models","use-member-numbers","member-numbers-auto","org-default-vacation-days","role-options","is-own-org-pro-paid"]),a(js,{open:e(q),title:c.$t("upsell.limit_members_title"),description:c.$t("upsell.limit_members_desc"),onClose:_[37]||(_[37]=p=>q.value=!1)},null,8,["open","title","description"]),a(ls,{open:e(Ge),mode:e(at),deferred:e(ft),onConfirm:$,onClose:he},null,8,["open","mode","deferred"])],64)}}},Gd={class:"space-y-5"},Yd={class:"space-y-1.5"},Xd={class:"text-sm font-semibold text-secondary-600 block mb-0.5! pl-0!"},Jd={class:"space-y-1.5"},Zd={class:"block text-sm font-semibold text-secondary-600 mb-0.5! pl-0!"},Qd={class:"flex gap-2"},eu={class:"space-y-1.5"},tu={class:"text-sm font-semibold text-secondary-600 block mb-0.5! pl-0!"},su={class:"space-y-1.5"},au={class:"text-sm font-semibold text-secondary-600 block mb-0.5! pl-0!"},ou={class:"flex flex-wrap gap-1.5"},nu=["onClick"],lu={key:1,class:"space-y-1.5"},iu={class:"text-sm font-semibold text-secondary-600 block mb-1! pl-0!"},ru={class:"grid grid-cols-2 sm:grid-cols-4 gap-2"},cu={class:"w-6 text-sm font-semibold text-secondary-600 shrink-0"},du={class:"text-xs text-secondary-500 font-medium pt-1 mo-custom-badge mt-2 inline-block"},uu={class:"space-y-2 border-t border-(--ui-border) pt-4"},mu={class:"flex items-start gap-1.5"},pu={class:"text-sm font-semibold text-secondary-600 block mb-0.5! pl-0!"},_u={class:"grid grid-cols-2 max-sm:grid-cols-1 gap-3"},gu={class:"space-y-1"},fu={class:"text-xs font-medium text-secondary-500 block mb-0.5! pl-0!"},vu={class:"space-y-1"},yu={class:"text-xs font-medium text-secondary-500 block mb-0.5! pl-0!"},bu={key:0,class:"text-xs text-secondary-500 font-medium pt-1"},hu={class:"flex justify-end gap-2 w-full"},xu={__name:"SettingsWorkTimeModelModal",props:{open:{type:Boolean,default:!1},model:{type:Object,default:null},saving:{type:Boolean,default:!1}},emits:["update:open","save"],setup(G,{emit:r}){const v=G,C=r,{locale:P}=Rt(),I=["mon","tue","wed","thu","fri","sat","sun"],X=x(()=>{const b={de:"de-DE",en:"en-US",es:"es-ES"}[P.value]??"de-DE",A=new Intl.DateTimeFormat(b,{weekday:"short"});return I.map((Z,ne)=>({key:Z,label:A.format(new Date(2024,0,1+ne))}))}),oe=x(()=>!!v.model),J=m(""),L=m("weekly"),H=m(""),w=os({mon:!0,tue:!0,wed:!0,thu:!0,fri:!0,sat:!1,sun:!1}),O=os({mon:"",tue:"",wed:"",thu:"",fri:"",sat:"",sun:""}),Y=m(""),q=m("");function V(b){J.value=b?.name??"",L.value=b?.model_type??"weekly",H.value=b?.weekly_hours!=null?String(b.weekly_hours):"";for(const A of I)w[A]=b?!!b[`workday_${A}`]:A!=="sat"&&A!=="sun",O[A]=b&&b[`hours_${A}`]!=null?String(b[`hours_${A}`]):"";Y.value=b?.compensated_minutes_per_day?String(b.compensated_minutes_per_day):"",q.value=b?.compensated_hours_per_month?String(b.compensated_hours_per_month):""}ue(()=>v.open,b=>{b&&V(v.model)},{immediate:!0});const D=x(()=>I.reduce((b,A)=>b+(Number(O[A])||0),0)),j=x(()=>J.value.trim()?L.value==="weekly"?Number(H.value)>0:D.value>0:!1);function f(){C("update:open",!1)}function S(){if(!j.value||v.saving)return;const b={},A={};for(const Z of I)if(L.value==="daily"){const ne=Number(O[Z])||0;A[`hours_${Z}`]=ne>0?ne:null,b[`workday_${Z}`]=ne>0}else b[`workday_${Z}`]=!!w[Z],A[`hours_${Z}`]=null;
1C("save",{id:v.model?.id??null,name:J.value.trim(),modelType:L.value,weeklyHours:L.value==="daily"?D.value:Number(H.value),workdays:b,dailyHours:A,compensatedMinutesPerDay:Number(Y.value)||0,compensatedHoursPerMonth:Number(q.value)||0})}return Ps({escape:{usingInput:!0,handler:()=>{v.open&&f()}}}),(b,A)=>{const Z=ps,ne=ts,le=na,me=Xt,R=ms;return o(),E(R,{open:G.open,close:!1,"onUpdate:open":f},{title:n(()=>[g(s(e(oe)?b.$t("settings.organisation.work_time_model_edit_title"):b.$t("settings.organisation.work_time_model_create_title")),1)]),body:n(()=>[t("div",Gd,[t("div",Yd,[t("label",Xd,s(b.$t("settings.organisation.work_time_model_name_label")),1),a(Z,{modelValue:e(J),"onUpdate:modelValue":A[0]||(A[0]=U=>ye(J)?J.value=U:null),placeholder:b.$t("settings.organisation.work_time_model_placeholder"),size:"md",class:"w-full",autofocus:""},null,8,["modelValue","placeholder"])]),t("div",Jd,[t("label",Zd,s(b.$t("settings.organisation.work_time_model_type_label")),1),t("div",Qd,[t("button",{type:"button",class:ge(["flex-1 px-3 py-2 rounded-xl border-1 text-sm font-semibold transition-all",e(L)==="weekly"?"border-secondary-500 bg-secondary-100/60 text-secondary-700":"border-(--ui-border) text-secondary-500 hover:border-secondary-200"]),onClick:A[1]||(A[1]=U=>L.value="weekly")},s(b.$t("settings.organisation.work_time_model_type_weekly")),3),t("button",{type:"button",class:ge(["flex-1 px-3 py-2 rounded-xl border-1 text-sm font-semibold transition-all",e(L)==="daily"?"border-secondary-500 bg-secondary-100/60 text-secondary-700":"border-(--ui-border) text-secondary-500 hover:border-secondary-200"]),onClick:A[2]||(A[2]=U=>L.value="daily")},s(b.$t("settings.organisation.work_time_model_type_daily")),3)])]),e(L)==="weekly"?(o(),i(F,{key:0},[t("div",eu,[t("label",tu,s(b.$t("settings.organisation.work_time_model_hours_label")),1),a(Z,{modelValue:e(H),"onUpdate:modelValue":A[3]||(A[3]=U=>ye(H)?H.value=U:null),type:"number",min:"0",step:"0.5",placeholder:b.$t("settings.organisation.work_time_model_hours_placeholder"),size:"md",class:"w-32"},null,8,["modelValue","placeholder"])]),t("div",su,[t("label",au,s(b.$t("settings.organisation.work_time_model_workdays_label")),1),t("div",ou,[(o(!0),i(F,null,De(e(X),U=>(o(),i("button",{key:U.key,type:"button",class:ge(["w-10 h-10 rounded-xl border-1 text-sm font-semibold transition-all",e(w)[U.key]?"border-secondary-500 bg-secondary-100/60 text-secondary-700":"border-(--ui-border) text-secondary-400 hover:border-secondary-200"]),onClick:ee=>e(w)[U.key]=!e(w)[U.key]},s(U.label),11,nu))),128))])])],64)):(o(),i("div",lu,[t("label",iu,s(b.$t("settings.organisation.work_time_model_daily_hours_label")),1),t("div",ru,[(o(!0),i(F,null,De(e(X),U=>(o(),i("div",{key:U.key,class:"flex items-center gap-1.5"},[t("span",cu,s(U.label),1),a(Z,{modelValue:e(O)[U.key],"onUpdate:modelValue":ee=>e(O)[U.key]=ee,type:"number",min:"0",step:"0.5",placeholder:"0",size:"sm",class:"w-full"},null,8,["modelValue","onUpdate:modelValue"])]))),128))]),t("p",du,s(b.$t("settings.organisation.work_time_model_daily_sum",{hours:e(D)})),1)])),t("div",uu,[t("div",mu,[t("label",pu,s(b.$t("settings.organisation.work_time_model_compensated_label")),1),a(le,{class:"mt-1",text:b.$t("settings.organisation.work_time_model_compensated_hint")},{default:n(()=>[a(ne,{name:"mosy:circle-info",class:"w-3.5 h-3.5 text-secondary-400"})]),_:1},8,["text"])]),t("div",_u,[t("div",gu,[t("label",fu,s(b.$t("settings.organisation.work_time_model_compensated_per_day")),1),a(Z,{modelValue:e(Y),"onUpdate:modelValue":A[4]||(A[4]=U=>ye(Y)?Y.value=U:null),type:"number",min:"0",step:"1",placeholder:"0",size:"md",class:"w-full"},null,8,["modelValue"])]),t("div",vu,[t("label",yu,s(b.$t("settings.organisation.work_time_model_compensated_per_month")),1),a(Z,{modelValue:e(q),"onUpdate:modelValue":A[5]||(A[5]=U=>ye(q)?q.value=U:null),type:"number",min:"0",step:"0.5",placeholder:"0",size:"md",class:"w-full"},null,8,["modelValue"])])]),e(Y)&&e(q)?(o(),i("p",bu,s(b.$t("settings.organisation.work_time_model_compensated_stack_hint")),1)):h("",!0)])])]),footer:n(()=>[t("div",hu,[a(me,{color:"secondary",variant:"ghost",onClick:f},{default:n(()=>[g(s(b.$t("common.cancel")),1)]),_:1}),a(me,{class:"mo-button mo-button-small",loading:G.saving,disabled:!e(j)||G.saving,onClick:S},{default:n(()=>[g(s(e(oe)?b.$t("common.save"):b.$t("common.create")),1)]),_:1},8,["loading","disabled"])])]),_:1},8,["open"])}}},ku={class:"pt-6 grid gap-6 grid-cols-2 max-xl:grid-cols-1 pb-6"},$u={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},wu={class:"space-y-3 px-1 py-2"},Cu={class:"space-y-4 w-full"},Uu={class:"flex items-center justify-between gap-4"},Su={class:"text-sm font-medium text-secondary-700"},Vu={class:"flex items-center justify-between gap-4"},Mu={class:"text-sm font-medium text-secondary-700"},ju={class:"flex items-center justify-between gap-4"},Au={class:"text-sm font-medium text-secondary-700"},Tu={class:"border-t border-(--ui-border) pt-4 space-y-4"},Pu={class:"space-y-1.5"},zu={class:"text-sm font-medium text-secondary-700"},Eu={class:"text-sm italic text-secondary-100"},Iu={class:"flex items-center justify-between gap-4"},Ou={class:"text-sm font-medium text-secondary-700"},Lu={class:"text-xs text-secondary-500 font-medium mt-0.5"},Du={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-custom-theme-heading"},Nu={class:"space-y-3 px-1 py-2"},Ru={key:0,class:"flex justify-center py-4"},Fu={key:0,class:"flex items-center gap-2 py-2 px-3 rounded-lg bg-secondary-100/60 border border-(--ui-border) text-sm"},Bu={class:"text-secondary-600 font-semibold flex-1"},Ku={class:"text-xs text-error font-semibold"},Hu={class:"w-full overflow-x-auto overflow-y-hidden"},qu={key:0,class:"w-full text-sm mo-no-max mb-0!"},Wu={class:"border-b border-(--ui-border)"},Gu={class:"w-8 pb-3 pr-2.5"},Yu={class:"text-left pb-3 font-semibold text-secondary-500"},Xu={class:"text-left pb-3 font-semibold text-secondary-500 pl-4"},Ju={class:"inline-flex items-center gap-1.5"},Zu=["onClick"],Qu={class:"py-2.5 pr-3 align-middle min-w-32"},em=["onDblclick"],tm={key:0,class:"flex items-center gap-1 justify-end"},sm={class:"text-xs text-error mr-1"},am={key:2,class:"flex items-center gap-1 justify-end transition-opacity"},om={key:1,class:"text-sm text-muted italic py-2"},nm={class:"flex flex-wrap items-center gap-2"},lm={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},im={class:"space-y-3 px-1 py-2"},rm={key:0,class:"flex justify-center py-4"},cm={key:1,class:"w-full overflow-x-auto overflow-y-hidden"},dm={key:0,class:"w-full text-sm mo-no-max mb-0!"},um={class:"border-b border-(--ui-border)"},mm={class:"text-left pb-3 font-semibold text-secondary-500"},pm={class:"text-left pb-3 font-semibold text-secondary-500 w-36"},_m={class:"py-2.5 pr-3 align-middle min-w-40"},gm=["onDblclick"],fm={class:"py-2.5 pr-3 align-middle w-36"},vm={class:"text-secondary-600 text-sm font-medium"},ym={class:"py-2 align-middle text-right"},bm={key:0,class:"flex items-center gap-1 justify-end"},hm={class:"text-xs text-error mr-1"},xm={key:1,class:"flex items-center gap-1 justify-end"},km=["innerHTML"],$m={class:"pt-4 pb-1 border-t border-(--ui-border)"},wm={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-custom-theme-heading"},Cm={class:"grid grid-cols-2 max-sm:grid-cols-1 gap-6 px-1 py-2"},Um={class:"space-y-2"},Sm={class:"text-sm font-medium text-secondary-600 pl-[2px]"},Vm={class:"flex gap-2 items-center"},Mm={class:"space-y-2"},jm={class:"text-sm font-medium text-secondary-600"},Am={class:"text-xs text-secondary-500 font-medium leading-snug -mt-1 max-w-[52ch]"},Tm={class:"flex flex-wrap gap-4 items-start pt-1 flex-col"},Pm={class:"flex flex-col gap-1 w-full max-w-[320px]!"},zm={class:"text-[11px] text-secondary-500 font-medium pl-1"},Em={class:"flex flex-col gap-1 w-full max-w-[320px]!"},Im={class:"text-[11px] text-secondary-500 font-medium pl-1"},Om={key:0,class:"text-xs text-rose-400 font-medium"},Lm={class:"space-y-2"},Dm={class:"text-sm font-medium text-secondary-600 pl-[2px]"},Nm={class:"flex flex-wrap gap-2 items-start"},Rm={class:"text-sm italic text-secondary-100"},Fm={class:"text-sm italic text-secondary-100"},Bm={__name:"SettingsWorkTimeSettings",setup(G){const{t:r}=Rt(),v=cs(),{currentOrg:C,ownOrg:P,ownOrgId:I,orgId:X,isOwner:oe,isAdmin:J,updateOrganization:L}
1=Ft(),{isFree:H,FREE_LIMITS:w}=Gs(),O=m(!1),Y=m(!1),q=x(()=>P.value??C.value),V=x(()=>I.value??X.value),D=x(()=>!!P.value||oe.value||J.value),{types:j,loading:f,fetchTypes:S,createType:b,updateType:A,deleteType:Z,bulkDeleteTypes:ne}=bo(V),le=m(""),me=m("work"),R=m(null),U=m(""),ee=m(null),be=m([]),ie=m(!1),T=m(!1),z=x(()=>be.value.length>0),ke=x(()=>j.value.length>0&&be.value.length===j.value.length);function we(u){return be.value.includes(u)}function M(u){be.value=we(u)?be.value.filter(k=>k!==u):[...be.value,u],be.value.length||(ie.value=!1)}function re(){be.value=ke.value?[]:j.value.map(u=>u.id),ie.value=!1}function $e(){be.value=[],ie.value=!1}async function it(){const u=le.value.trim();if(!(!u||T.value)){if(H.value&&j.value.length>=w.attendance_types){O.value=!0;return}if(j.value.some(k=>k.name.toLowerCase()===u.toLowerCase())){v.add({class:"mo-toast",title:r("common.name_duplicate"),color:"warning"});return}T.value=!0;try{await b(u,{category:me.value}),le.value="",me.value="work"}catch(k){k?.code==="23505"?(await S(),le.value="",v.add({class:"mo-toast",title:r("common.name_duplicate"),color:"warning"})):v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"})}finally{T.value=!1}}}function Ne(u){ee.value=null,R.value=u.id,U.value=u.name,ya(()=>document.getElementById(`wt-type-edit-${u.id}`)?.focus())}async function qe(u){const k=U.value.trim();if(!k){R.value=null;return}if(j.value.some(ce=>ce.id!==u&&ce.name.toLowerCase()===k.toLowerCase())){v.add({class:"mo-toast",title:r("common.name_duplicate"),color:"warning"});return}try{await A(u,{name:k})}catch(ce){ce?.code==="23505"?v.add({class:"mo-toast",title:r("common.name_duplicate"),color:"warning"}):v.add({class:"mo-toast",title:r("common.error"),description:ce.message,color:"error"});return}R.value=null}async function B(u){try{await Z(u)}catch(k){k.message==="minimum_one_work_type"?v.add({class:"mo-toast",title:r("settings.organisation.attendance_types_min_work"),color:"warning"}):v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"})}ee.value=null,be.value=be.value.filter(k=>k!==u)}async function Ie(){const u=be.value.length;try{await ne(be.value)}catch(k){k.message==="minimum_one_work_type"?v.add({class:"mo-toast",title:r("settings.organisation.attendance_types_min_work"),color:"warning"}):v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"}),$e();return}$e(),v.add({class:"mo-toast",title:r("settings.organisation.attendance_types_bulk_deleted",{count:u}),color:"neutral"})}function pt(u){if(ee.value){u.key==="Enter"?(u.preventDefault(),B(ee.value)):u.key==="Escape"&&(u.preventDefault(),ee.value=null);return}if(ie.value){u.key==="Enter"?(u.preventDefault(),Ie()):u.key==="Escape"&&(u.preventDefault(),$e());return}z.value&&u.key==="Escape"&&(u.preventDefault(),$e())}ue([ee,ie,z],([u,k,ce])=>{u||k||ce?document.addEventListener("keydown",pt):document.removeEventListener("keydown",pt)}),Os(()=>document.removeEventListener("keydown",pt));const ht=m(!0),te=m(!1);ue(()=>q.value?.members_can_create_work_times,u=>{u!==void 0&&(ht.value=!!u)},{immediate:!0});async function Pt(u){te.value=!0;try{await L(V.value,{members_can_create_work_times:u}),ht.value=u}catch(k){v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"}),ht.value=!u}finally{te.value=!1}}const zt=m(!1),Jt=m(!1);ue(()=>q.value?.members_can_edit_past,u=>{u!==void 0&&(zt.value=!!u)},{immediate:!0});async function Et(u){Jt.value=!0;try{await L(V.value,{members_can_edit_past:u}),zt.value=u}catch(k){v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"}),zt.value=!u}finally{Jt.value=!1}}const Bt=m(!1),Ut=m(!1);ue(()=>q.value?.members_can_set_start_time,u=>{u!==void 0&&(Bt.value=!!u)},{immediate:!0});async function Ue(u){Ut.value=!0;try{await L(V.value,{members_can_set_start_time:u}),Bt.value=u}catch(k){v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"}),Bt.value=!u}finally{Ut.value=!1}}const ve=m("Europe/Berlin"),st=x(()=>go(ve.value)),wt=m(!1);ue(()=>q.value?.timezone,u=>{u!==void 0&&(ve.value=u??"Europe/Berlin")},{immediate:!0});async function xt(u){wt.value=!0;try{await L(V.value,{timezone:u}),ve.value=u}catch(k){v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"})}finally{wt.value=!1}}const _t=m(!1),gt=m(!1);ue(()=>q.value?.auto_stop_work_timer,u=>{u!==void 0&&(_t.value=!!u)},{immediate:!0});async function We(u){gt.value=!0;
1try{await L(V.value,{auto_stop_work_timer:u}),_t.value=u}catch(k){v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"}),_t.value=!u}finally{gt.value=!1}}const{models:Ke,loading:rt,fetchModels:Me,createModel:tt,updateModel:ct,deleteModel:Ge}=Ma(V),at=m(!1),ft=m(null),dt=m(null),Re=m(!1);function $(){if(H.value&&Ke.value.length>=w.work_time_models){Y.value=!0;return}ft.value=null,at.value=!0}function he(u){dt.value=null,ft.value=u,at.value=!0}async function Oe(u){const k=u.name;if(Ke.value.some(ce=>ce.id!==u.id&&ce.name.toLowerCase()===k.toLowerCase())){v.add({class:"mo-toast",title:r("common.name_duplicate"),color:"warning"});return}Re.value=!0;try{const ce={modelType:u.modelType,workdays:u.workdays,dailyHours:u.dailyHours,compensatedMinutesPerDay:u.compensatedMinutesPerDay,compensatedHoursPerMonth:u.compensatedHoursPerMonth};u.id?await ct(u.id,{name:k,weeklyHours:u.weeklyHours,...ce}):await tt(k,u.weeklyHours,ce),at.value=!1,ft.value=null}catch(ce){ce?.code==="23505"?(await Me(),v.add({class:"mo-toast",title:r("common.name_duplicate"),color:"warning"})):v.add({class:"mo-toast",title:r("common.error"),description:ce.message,color:"error"})}finally{Re.value=!1}}async function ot(u){try{await Ge(u)}catch(k){k.message==="minimum_one_model"?v.add({class:"mo-toast",title:r("settings.organisation.work_time_models_min"),color:"warning"}):v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"})}dt.value=null}function Q(u){dt.value&&(u.key==="Enter"?(u.preventDefault(),ot(dt.value)):u.key==="Escape"&&(u.preventDefault(),dt.value=null))}ue(dt,u=>{u?document.addEventListener("keydown",Q):document.removeEventListener("keydown",Q)}),Os(()=>document.removeEventListener("keydown",Q));const{fetchMembers:Ye}=Ds(V),{getCountries:Ce,getRegions:Se}=yo(),{locale:Te}=Rt(),Fe=m(""),ut=m(!1),W=m("auto"),Pe=m(""),Kt=m(""),It=m(!1),gs=x(()=>[{value:"auto",label:r("settings.organisation.vacation_carryover_mode_auto")},{value:"none",label:r("settings.organisation.vacation_carryover_mode_none")}]),Zt=[31,29,31,30,31,30,31,31,30,31,30,31];function Ct(u){const k=String(u??"").trim();if(!k)return null;const ce=k.match(/^(\d{1,2})\s*[.\-/]\s*(\d{1,2})\.?$/);if(!ce)return!1;const Ee=Number(ce[1]),yt=Number(ce[2]);return yt<1||yt>12||Ee<1||Ee>Zt[yt-1]?!1:`${String(yt).padStart(2,"0")}-${String(Ee).padStart(2,"0")}`}const nt=x(()=>Ct(Kt.value)===!1);function fe(u){if(!u)return"";const[k,ce]=u.split("-");return`${ce}.${k}.`}async function Ot(){if(!nt.value){It.value=!0;try{const u=Pe.value===""?null:Number(Pe.value);await L(V.value,{vacation_carryover_mode:W.value,vacation_carryover_cap_days:Number.isFinite(u)?u:null,vacation_carryover_expiry:Ct(Kt.value)||null})}catch(u){v.add({class:"mo-toast",title:r("common.error"),description:u.message,color:"error"})}finally{It.value=!1}}}const ze=m("DE"),Xe=m(null),Ht=m(!1),qt=m([]),St=m([]);ue(()=>q.value,async u=>{u&&(Fe.value=u.default_vacation_days??"",W.value=u.vacation_carryover_mode||"auto",Pe.value=u.vacation_carryover_cap_days??"",Kt.value=fe(u.vacation_carryover_expiry),ze.value=u.holiday_country||"DE",Xe.value=u.holiday_region||null,qt.value=await Ce(Te.value),St.value=await Se(ze.value,Te.value),Xe.value&&!St.value.some(k=>k.value===Xe.value)&&(Xe.value=null,await Vt()))},{immediate:!0});async function Vt(){Ht.value=!0;try{await L(V.value,{holiday_country:ze.value,holiday_region:Xe.value||null})}catch(u){v.add({class:"mo-toast",title:r("common.error"),description:u.message,color:"error"})}finally{Ht.value=!1}}async function ss(u){St.value=await Se(u,Te.value),Xe.value=null,await Vt()}async function Qt(u){ut.value=!0;try{const k=u===""?null:Number(u);await L(V.value,{default_vacation_days:isNaN(k)?null:k}),Fe.value=u}catch(k){v.add({class:"mo-toast",title:r("common.error"),description:k.message,color:"error"})}finally{ut.value=!1}}const mt=x(()=>[{value:"work",label:r("settings.organisation.attendance_type_category_work")},{value:"vacation",label:r("settings.organisation.attendance_type_category_vacation")},{value:"sick",label:r("settings.organisation.attendance_type_category_sick")},{value:"paid_absence",label:r("settings.organisation.attendance_type_category_paid_absence")},{value:"unpaid_absence",label:r("settings.organisation.attendance_type_category_unpaid_absence")}]);async function lt(u,k){try{await A(u.id,{category:k})}catch(ce){v.add({class:"mo-toast",title:r("common.error"),description:ce.message,color:"error"})}}return is(()=>{S(),Me(),Ye()}),ue(V,()=>{S(),Me(),Ye()}),(u,k)=>{const ce=_s,Ee=Ts,yt=ws,Mt=ts,je=Xt,jt=oa,Ve=na,bt=ps,kt=ks,$t=la,Gt=xu;return o(),i(F,null,[t("div",ku,[e(D)?(o(),E(yt,{key:0,class:"no-hover m-0 xl:col-span-2"},{header:n(()=>[t("span",$u,s(u.$t("nav.settings")),1)]),default:n(()=>[t("div",wu,[t("div",Cu,[t("div",Uu,[t("p",Su,s(u.$t("settings.organisation.members_can_create_work_times")),1),a(ce,{"model-value":e(ht),loading:e(te),color:"secondary","onUpdate:modelValue":Pt},null,8,["model-value","loading"])]),t("div",Vu,[t("p",Mu,s(u.$t("settings.organisation.members_can_edit_past")),1),a(ce,{"model-value":e(zt),loading:e(Jt),color:"secondary","onUpdate:modelValue":Et},null,8,["model-value","loading"])]),t("div",ju,[t("p",Au,s(u.$t("settings.organisation.members_can_set_start_time")),1),a(ce,{"model-value":e(Bt),loading:e(Ut),color:"secondary","onUpdate:modelValue":Ue},null,8,["model-value","loading"])]),t("div",Tu,[t("div",Pu,[t("p",zu,s(u.$t("settings.organisation.timezone_label")),1),a(Ee,{"model-value":e(ve),items:e(st),"value-key":"value","label-key":"label",loading:e(wt),"search-input":{placeholder:e(r)("common.search"),leadingIcon:"i-lucide-search"},class:ge(["w-full mo-select-button-padding",{"pl-9!":e(wt)}]),"onUpdate:modelValue":xt},{empty:n(()=>[t("span",Eu,s(u.$t("common.no_results")),1)]),_:1},8,["model-value","items","loading","search-input","class"])]),t("div",Iu,[t("div",null,[t("p",Ou,s(u.$t("settings.organisation.auto_stop_work_timer")),1),t("p",Lu,s(u.$t("settings.organisation.auto_stop_work_timer_hint")),1)]),a(ce,{"model-value":e(_t),loading:e(gt),color:"secondary","onUpdate:modelValue":We},null,8,["model-value","loading"])])])])])]),_:1})):h("",!0),e(D)?(o(),E(yt,{key:1,class:"no-hover m-0"},{header:n(()=>[t("span",Du,s(u.$t("settings.organisation.attendance_types_title")),1)]),default:n(()=>[t("div",Nu,[e(f)?(o(),i("div",Ru,[a(Mt,{name:"i-lucide-loader-2",class:"animate-spin text-muted"})])):(o(),i(F,{key:1},[a(aa,{name:"bulk-bar"},{default:n(()=>[e(z)?(o(),i("div",Fu,[t("span",Bu,s(u.$t("settings.tags.selected",{count:e(be).length})),1),e(ie)?(o(),i(F,{key:1},[t("span",Ku,s(u.$t("settings.tags.delete_confirm")),1),a(je,{size:"xs",color:"error",variant:"soft",icon:"i-lucide-check",onClick:Ie}),a(je,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:$e})],64)):(o(),i(F,{key:0},[a(je,{size:"xs",color:"error",variant:"soft",icon:"mosy:trash",onClick:k[0]||(k[0]=se=>ie.value=!0)},{default:n(()=>[g(s(u.$t("common.delete")),1)]),_:1}),a(je,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:$e})],64))])):h("",!0)]),_:1}),t("div",Hu,[e(j).length?(o(),i("table",qu,[t("thead",null,[t("tr",Wu,[t("th",Gu,[a(jt,{"model-value":e(ke),indeterminate:e(z)&&!e(ke),size:"md",color:"secondary",class:"mo-checkbox","onUpdate:modelValue":re},null,8,["model-value","indeterminate"])]),t("th",Yu,s(u.$t("settings.organisation.attendance_type_new_label")),1),t("th",Xu,[t("span",Ju,[g(s(u.$t("settings.organisation.attendance_type_category_label"))+" ",1),a(Ve,{text:u.$t("settings.organisation.attendance_type_is_day_type_hint")},{default:n(()=>[a(Mt,{name:"mosy:circle-info",class:"w-3.5 h-3.5 text-secondary-400"})]),_:1},8,["text"])])]),k[19]||(k[19]=t("th",{class:"w-24 pb-3"},null,-1))])]),t("tbody",null,[(o(!0),i(F,null,De(e(j),se=>(o(),i("tr",{key:se.id,class:ge(["group border-b border-(--ui-border) last:border-0",[{"bg-(--ui-bg-elevated)/40":we(se.id)},e(z)?"cursor-pointer":""]]),onClick:Le=>e(z)&&M(se.id)},[t("td",{class:"py-2.5 w-8 align-middle pr-2.5",onClick:k[1]||(k[1]=Tt(()=>{},["stop"]))},[a(jt,{"model-value":we(se.id),size:"md",color:"secondary",class:"mo-checkbox","onUpdate:modelValue":Le=>M(se.id)},null,8,["model-value","onUpdate:modelValue"])]),t("td",Qu,[e(R)===se.id?(o(),E(bt,{key:0,id:`wt-type-edit-${se.id}`,modelValue:e(U),"onUpdate:modelValue":k[2]||(k[2]=Le=>ye(U)?U.value=Le:null),size:"sm",class:"mo-input-small",onKeyup:[et(Le=>qe(se.id),["enter"]),k[3]||(k[3]=et(Le=>R.value=null,["escape"]))]},null,8,["id","modelValue","onKeyup"])):(o(),i("span",{key:1,class:"font-semibold text-secondary-700 text-[15px] cursor-pointer",onDblclick:Le=>Ne(se)},s(se.name),41,em))]),t("td",{class:"py-2 pl-4 pr-2 align-middle w-44",onClick:k[4]||(k[4]=Tt(()=>{},["stop"]))},[a(Ee,{"model-value":se.category||"work",items:e(mt),"value-key":"value","label-key":"label",size:"xs",class:"min-w-40 mo-select-button-padding mo-select-small pr-6.5!","onUpdate:modelValue":Le=>lt(se,Le)},null,8,["model-value","items","onUpdate:modelValue"])]),t("td",{class:ge(["py-2 align-middle text-right",{"pointer-events-none opacity-0":e(z)}])},[e(ee)===se.id?(o(),i("div",tm,[t("span",sm,s(u.$t("settings.tags.delete_confirm")),1),a(je,{size:"xs",color:"error",variant:"soft",icon:"i-lucide-check",onClick:Le=>B(se.id)},null,8,["onClick"]),a(je,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:k[5]||(k[5]=Le=>ee.value=null)})])):e(R)===se.id?(o(),E(je,{key:1,size:"xs",color:"success",variant:"subtle",icon:"i-lucide-check",onClick:Le=>qe(se.id)},null,8,["onClick"])):(o(),i("div",am,[a(je,{size:"xs",color:"secondary",variant:"subtle",icon:"mosy:pen",onClick:Le=>Ne(se)},null,8,["onClick"]),a(je,{size:"xs",color:"error",variant:"subtle",icon:"mosy:trash",onClick:Le=>ee.value=se.id},null,8,["onClick"])]))],2)],10,Zu))),128))])])):(o(),i("p",om,"—"))])],64)),t("form",{class:"pt-4 pb-1 border-t border-(--ui-border)",onSubmit:Tt(it,["prevent"])},[t("div",nm,[a(bt,{modelValue:e(le),"onUpdate:modelValue":k[6]||(k[6]=se=>ye(le)?le.value=se:null),placeholder:u.$t("settings.organisation.attendance_type_placeholder"),size:"sm",class:"flex-1 min-w-40 max-w-full! mo-input-small",onKeydown:et(Tt(it,["prevent"]),["enter"])},null,8,["modelValue","placeholder","onKeydown"]),a(Ee,{modelValue:e(me),"onUpdate:modelValue":k[7]||(k[7]=se=>ye(me)?me.value=se:null),items:e(mt),"value-key":"value","label-key":"label",size:"sm",class:"w-40! shrink-0 mo-select-button-padding mo-select-small pr-6!","search-input":!1,ui:{content:"min-w-[200px] mo-select-menu-hover-items"}},null,8,["modelValue","items"]),a(je,{type:"submit",size:"sm",icon:e(H)&&e(j).length>=e(w).attendance_types?"mosy:lock":"mosy:circle-plus",class:"mo-button mo-button-small shrink-0 ml-auto",loading:e(T),disabled:e(T)||!e(le).trim()},{default:n(()=>[g(s(u.$t("common.create")),1)]),_:1},8,["icon","loading","disabled"])])],32)])]),_:1})):h("",!0),e(D)?(o(),E(yt,{key:2,class:"no-hover m-0"},{header:n(()=>[t("span",lm,s(u.$t("settings.organisation.work_time_models_title")),1)]),default:n(()=>[t("div",im,[e(rt)?(o(),i("div",rm,[a(Mt,{name:"i-lucide-loader-2",class:"animate-spin text-muted"})])):(o(),i("div",cm,[e(Ke).length?(o(),i("table",dm,[t("thead",null,[t("tr",um,[t("th",mm,s(u.$t("settings.organisation.work_time_model_name_label")),1),t("th",pm,s(u.$t("settings.organisation.work_time_model_hours_label")),1),k[20]||(k[20]=t("th",{class:"w-24 pb-3"},null,-1))])]),t("tbody",null,[(o(!0),i(F,null,De(e(Ke),se=>(o(),i("tr",{key:se.id,class:"group border-b border-(--ui-border) last:border-0"},[t("td",_m,[t("span",{class:"font-semibold text-secondary-700 text-[15px] cursor-pointer pl-1 inline-flex flex-col items-start gap-1",onDblclick:Le=>he(se)},[g(s(se.name)+" ",1),a(kt,{color:"neutral",variant:"subtle",size:"xs",class:"text-[11px] font-semibold text-secondary-700 bg-secondary-100 rounded-full px-2 py-0.5 mt-1 ring ring-inset ring-secondary-200"},{default:n(()=>[g(s(se.model_type==="daily"?u.$t("settings.organisation.work_time_model_type_daily"):u.$t("settings.organisation.work_time_model_type_weekly")),1)]),_:2},1024)],40,gm)]),t("td",fm,[t("span",vm,s(se.weekly_hours)+" "+s(u.$t("settings.organisation.work_time_model_hours_label")),1)]),t("td",ym,[e(dt)===se.id?(o(),i("div",bm,[t("span",hm,s(u.$t("settings.tags.delete_confirm")),1),a(je,{size:"xs",color:"error",variant:"soft",icon:"i-lucide-check",onClick:Le=>ot(se.id)},null,8,["onClick"]),a(je,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:k[8]||(k[8]=Le
1=>dt.value=null)})])):(o(),i("div",xm,[a(je,{size:"xs",color:"secondary",variant:"subtle",icon:"mosy:pen",onClick:Le=>he(se)},null,8,["onClick"]),a(je,{size:"xs",color:"error",variant:"subtle",icon:"mosy:trash",onClick:Le=>dt.value=se.id},null,8,["onClick"])]))])]))),128))])])):(o(),i("p",{key:1,class:"text-sm text-secondary-500 font-medium py-2",innerHTML:u.$t("settings.organisation.work_time_model_empty")},null,8,km))])),t("div",$m,[a(je,{size:"sm",icon:e(H)&&e(Ke).length>=e(w).work_time_models?"mosy:lock":"mosy:circle-plus",class:"mo-button mo-button-small",onClick:$},{default:n(()=>[g(s(u.$t("settings.organisation.work_time_model_create_title")),1)]),_:1},8,["icon"])])])]),_:1})):h("",!0),e(D)?(o(),E(yt,{key:3,class:"no-hover m-0 xl:col-span-2"},{header:n(()=>[t("span",wm,s(u.$t("settings.organisation.vacation_settings_title")),1)]),default:n(()=>[t("div",Cm,[t("div",Um,[t("p",Sm,s(u.$t("settings.organisation.default_vacation_days_label")),1),t("div",Vm,[a(bt,{modelValue:e(Fe),"onUpdate:modelValue":k[9]||(k[9]=se=>ye(Fe)?Fe.value=se:null),type:"number",min:"0",step:"0.5",placeholder:u.$t("settings.organisation.default_vacation_days_placeholder"),size:"sm",class:"w-32",onChange:k[10]||(k[10]=se=>Qt(e(Fe)))},null,8,["modelValue","placeholder"]),e(ut)?(o(),E(Mt,{key:0,name:"i-lucide-loader-2",class:"animate-spin text-muted w-4 h-4"})):h("",!0)])]),t("div",Mm,[t("p",jm,s(u.$t("settings.organisation.vacation_carryover_title")),1),t("p",Am,s(u.$t("settings.organisation.vacation_carryover_hint")),1),t("div",Tm,[a(Ee,{modelValue:e(W),"onUpdate:modelValue":[k[11]||(k[11]=se=>ye(W)?W.value=se:null),Ot],items:e(gs),"value-key":"value","label-key":"label",size:"sm",class:"w-52 mo-select-button-padding mo-select-small max-w-[320px]!"},null,8,["modelValue","items"]),e(W)==="auto"?(o(),i(F,{key:0},[t("div",Pm,[a(bt,{modelValue:e(Pe),"onUpdate:modelValue":k[12]||(k[12]=se=>ye(Pe)?Pe.value=se:null),type:"number",min:"0",step:"0.5",placeholder:u.$t("settings.organisation.vacation_carryover_cap_placeholder"),size:"sm",class:"w-full",onChange:Ot},null,8,["modelValue","placeholder"]),t("span",zm,s(u.$t("settings.organisation.vacation_carryover_cap_hint")),1)]),t("div",Em,[a(bt,{modelValue:e(Kt),"onUpdate:modelValue":k[13]||(k[13]=se=>ye(Kt)?Kt.value=se:null),placeholder:u.$t("settings.organisation.vacation_carryover_expiry_placeholder"),size:"sm",class:"w-full",onChange:Ot},null,8,["modelValue","placeholder"]),t("span",Im,s(u.$t("settings.organisation.vacation_carryover_expiry_hint")),1)])],64)):h("",!0),e(It)?(o(),E(Mt,{key:1,name:"i-lucide-loader-2",class:"animate-spin text-muted w-4 h-4 self-center"})):h("",!0)]),e(nt)?(o(),i("p",Om,s(u.$t("settings.organisation.vacation_carryover_expiry_invalid")),1)):h("",!0)]),t("div",Lm,[t("p",Dm,s(u.$t("settings.organisation.holiday_region_title")),1),t("div",Nm,[a(Ee,{modelValue:e(ze),"onUpdate:modelValue":[k[14]||(k[14]=se=>ye(ze)?ze.value=se:null),ss],items:e(qt),"value-key":"value","label-key":"label","search-input":{placeholder:u.$t("common.search"),leadingIcon:"i-lucide-search"},size:"sm",class:"w-32 mo-select-button-padding mo-select-small max-w-[320px]!"},{empty:n(()=>[t("span",Rm,s(u.$t("common.no_results")),1)]),_:1},8,["modelValue","items","search-input"]),a(Ee,{modelValue:e(Xe),"onUpdate:modelValue":[k[15]||(k[15]=se=>ye(Xe)?Xe.value=se:null),Vt],items:[{value:null,label:u.$t("settings.organisation.holiday_region_none")},...e(St)],"value-key":"value","label-key":"label","search-input":{placeholder:u.$t("common.search"),leadingIcon:"i-lucide-search"},size:"sm",class:"min-w-40 mo-select-button-padding mo-select-small max-w-[320px]!"},{empty:n(()=>[t("span",Fm,s(u.$t("common.no_results")),1)]),_:1},8,["modelValue","items","search-input"]),e(Ht)?(o(),E(Mt,{key:0,name:"i-lucide-loader-2",class:"animate-spin text-muted w-4 h-4 self-center"})):h("",!0)])])])]),_:1})):h("",!0)]),a($t,{open:e(O),title:u.$t("upsell.limit_attendance_types_title"),description:u.$t("upsell.limit_attendance_types_desc"),onClose:k[16]||(k[16]=se=>O.value=!1)},null,8,["open","title","description"]),a($t,{open:e(Y),title:u.$t("upsell.limit_work_time_models_title"),description:u.$t("upsell.limit_work_time_models_desc"),onClose:k[17]||(k[17]=se=>Y.value=!1)},null,8,["open","title","description"]),a(Gt,{open:e(at),"onUpdate:open":k[18]||(k[18]=se=>ye(at)?at.value=se:null),model:e(ft),saving:e(Re),onSave:Oe},null,8,["open","model","saving"])],64)}}},Km=qs(Bm,[["__scopeId","data-v-3052fd30"]]),Hm={class:"pt-6 max-w-[840px] space-y-4 pb-6"},qm={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},Wm={class:"flex items-center justify-between gap-4"},Gm={class:"text-sm font-medium text-secondary-700"},Ym={class:"text-xs text-secondary-500 font-medium mt-0.5"},Xm={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-custom-theme-heading"},Jm={class:"flex items-start justify-between gap-4 flex-col"},Zm={class:"text-sm font-medium text-secondary-700"},Qm={class:"text-xs text-secondary-500 font-medium mt-0.5"},ep={__name:"SettingsProjectTimeSettings",setup(G){const{t:r}=Rt(),v=cs(),{ownOrg:C,settingsOrg:P,settingsOrgId:I,updateOrganization:X}=Ft(),{labelProject:oe,labelTask:J,labelTasks:L}=Cs(P),{isAdmin:H,isOwner:w}=Ft(),O=x(()=>!!C.value||H.value||w.value),Y=m(!1),q=m(!1);ue(()=>P.value?.auto_stop_project_timer,b=>{b!==void 0&&(Y.value=!!b)},{immediate:!0});async function V(b){q.value=!0;try{await X(I.value,{auto_stop_project_timer:b}),Y.value=b}catch(A){v.add({class:"mo-toast",title:r("common.error"),description:A.message,color:"error"}),Y.value=!b}finally{q.value=!1}}const D=x(()=>[{value:"steps",label:r("agency.tasks.layout.steps"),icon:"mosy:sparkles"},{value:"pm",label:r("agency.tasks.layout.pm"),icon:"mosy:list-check"}]),j=m("steps"),f=m(!1);ue(()=>P.value?.default_task_layout,b=>{b&&(j.value=b)},{immediate:!0});async function S(b){if(!b||b===j.value)return;const A=j.value;j.value=b,f.value=!0;try{await X(I.value,{default_task_layout:b})}catch(Z){v.add({class:"mo-toast",title:r("common.error"),description:Z.message,color:"error"}),j.value=A}finally{f.value=!1}}return(b,A)=>{const Z=_s,ne=ws,le=Ts;return o(),i("div",Hm,[e(O)?(o(),E(ne,{key:0,class:"no-hover"},{header:n(()=>[t("p",qm,s(b.$t("settings.project_times.title",{project:e(oe)})),1)]),default:n(()=>[t("div",Wm,[t("div",null,[t("p",Gm,s(b.$t("settings.organisation.auto_stop_project_timer",{project:e(oe)})),1),t("p",Ym,s(b.$t("settings.organisation.auto_stop_project_timer_hint")),1)]),a(Z,{"model-value":e(Y),loading:e(q),color:"secondary","onUpdate:modelValue":V},null,8,["model-value","loading"])])]),_:1})):h("",!0),e(O)?(o(),E(ne,{key:1,class:"no-hover"},{header:n(()=>[t("p",Xm,s(b.$t("settings.project_settings.title",{project:e(oe)})),1)]),default:n(()=>[t("div",Jm,[t("div",null,[t("p",Zm,s(b.$t("settings.project_settings.default_task_layout",{tasks:e(L)})),1),t("p",Qm,s(b.$t("settings.project_settings.default_task_layout_hint",{task:e(J),tasks:e(L)})),1)]),a(le,{"model-value":e(j),items:e(D),"value-key":"value","search-input":!1,loading:e(f),color:"secondary",class:ge(["w-60 shrink-0 max-[560px]:w-full",{"pl-9!":e(f)}]),ui:{content:"mo-select-menu mo-select-menu-icons mo-select-menu-hover-items"},"onUpdate:modelValue":S},null,8,["model-value","items","loading","class"])])]),_:1})):h("",!0)])}}};function tp(G=null){const r=rs(),{orgId:v}=Ft(),C=x(()=>e(G)??v.value),P=m([]),I=m(!1),X=x(()=>{const H=new Date;return new Date(H.getFullYear(),H.getMonth(),1)});async function oe(){if(C.value){I.value=!0;try{const{data:H,error:w}=await r.from("llm_usage").select("provider, model, calls, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens").eq("organization_id",C.value).gte("created_at",X.value.toISOString());if(w)throw w;P.value=H||[]}catch{P.value=[]}finally{I.value=!1}}}const J=x(()=>{const H={};for(const w of P.value){const O=H[w.provider]||(H[w.provider]={calls:0,inputTokens:0,outputTokens:0,totalTokens:0,_models:{}}),Y=Number(w.input_tokens)||0,q=Number(w.output_tokens)||0;O.calls+=Number(w.calls)||0,O.inputTokens+=Y,O.outputTokens+=q,O.totalTokens+=Y+q;const V=O._models[w.model]||(O._models[w.model]={model:w.model,calls:0,tokens:0});V.calls+=Number(w.calls)||0,V.tokens+=Y+q}for(const w of Object.values(H))w.models=Object.values(w._models).sort((O,Y)=>Y.tokens-O.tokens),delete w._models;return H});function L(H){return J.value[H]||null}return{fetchUsage:oe,loading:I,monthStart:X,byProvider:J,usageFor:L}}const sp={class:"flex flex-col gap-5"},ap={class:"text-lg font-waden font-bold text-secondary-600 mo-cu
1stom-theme-heading"},op={class:"text-sm text-secondary-500 mt-1"},np={key:0,class:"flex justify-center py-8"},lp={key:1,class:"flex flex-col gap-4"},ip={class:"flex items-start justify-between gap-3 flex-wrap"},rp={class:"font-semibold text-secondary-700 mo-custom-theme-heading"},cp=["href"],dp={key:0,class:"text-[12px] text-error-600 leading-snug mt-2 max-w-[540px]"},up={class:"flex items-end gap-2 mt-4 flex-wrap max-[479px]:flex-col max-[479px]:w-full"},mp={key:1,class:"mt-2.5 flex justify-start max-[479px]:justify-end"},pp={key:2,class:"mt-4 pt-4 border-t border-secondary-200"},_p={class:"flex items-center justify-between mb-2"},gp={class:"text-[15px] font-waden text-secondary-600"},fp={class:"text-xs text-secondary-500"},vp={key:0,class:"flex flex-col gap-3"},yp={class:"grid grid-cols-3 gap-2 max-[479px]:grid-cols-2"},bp={class:"rounded-xl bg-secondary-100/70 px-3 py-2"},hp={class:"text-[11px] text-secondary-500"},xp={class:"text-lg font-bold text-secondary-800"},kp={class:"rounded-xl bg-secondary-100/70 px-3 py-2"},$p={class:"text-[11px] text-secondary-500"},wp={class:"text-lg font-bold text-secondary-800"},Cp={class:"rounded-xl bg-secondary-100/70 px-3 py-2"},Up={class:"text-[11px] text-secondary-500"},Sp={class:"text-lg font-bold text-secondary-800"},Vp={key:0,class:"flex flex-col gap-2"},Mp={class:"text-[13px] font-waden text-secondary-500"},jp={class:"text-secondary-600 font-medium truncate"},Ap={class:"text-secondary-500 shrink-0"},Tp={key:1,class:"text-xs text-secondary-500 italic"},Pp={class:"mt-3"},zp={class:"mt-2"},Ep={class:"text-lg font-waden font-bold text-secondary-600 mo-cu
1stom-theme-heading"},Ip={class:"text-sm text-secondary-500 mt-1"},Op={class:"mo-card mo-card-radius no-hover p-5 flex items-center justify-between gap-4"},Lp={class:"font-semibold text-secondary-600"},Dp={class:"mt-2"},Np={class:"text-lg font-waden font-bold text-secondary-600 mo-custom-theme-heading"},Rp={class:"text-sm text-secondary-500 mt-1"},Fp={class:"mo-card mo-card-radius no-hover p-5 flex flex-col gap-4"},Bp={class:"flex items-center justify-between gap-3 flex-wrap"},Kp={class:"font-semibold text-secondary-700 mo-custom-theme-heading"},Hp={key:0,class:"flex items-center gap-3 flex-wrap"},qp={class:"flex items-center gap-2 flex-wrap"},Wp=["onClick"],Gp={class:"text-sm font-semibold text-secondary-700 mo-custom-theme-heading"},Yp={class:"text-xs text-secondary-500 mt-0.5"},Xp={class:"flex items-center gap-x-3.5 gap-y-1.5 flex-wrap -mt-1 pl-1"},Jp=["href"],Zp=["href"],Qp={class:"flex gap-x-4 gap-y-1 flex-wrap justify-between pb-2 pl-[5px]!"},e_={class:"pb-0! pl-0!"},t_={class:"text-secondary-500 text-sm"},s_={class:"flex gap-x-4 gap-y-1 flex-wrap justify-between pb-2 pl-[5px]!"},a_={class:"pb-0! pl-0!"},o_={class:"text-secondary-500 text-sm"},n_={class:"flex items-center gap-2 flex-wrap"},l_={class:"flex items-center gap-2"},i_={class:"flex justify-end gap-2 w-full"},r_={__name:"SettingsAiSettings",setup(G){const{t:r,locale:v}=Rt(),C=cs(),{currentOrg:P,orgId:I,ownOrg:X,ownOrgId:oe,isAdmin:J,updateOrganization:L}=Ft(),H=x(()=>X.value??P.value),w=x(()=>oe.value??I.value),O=x(()=>!!X.value||J.value),{can:Y,ready:q}=Ua(),{loading:V,saving:D,fetch:j,isConfigured:f,get:S,setKey:b,removeProvider:A}=xo(w),{fetchUsage:Z,usageFor:ne,monthStart:le}=tp(w),{agent:me,saving:R,fetchAgent:U,saveAgent:ee,removeAgent:be,uploadAvatar:ie,removeAvatar:T}=ko(w),z=x(()=>ho(le.value)),ke=m(!1),we=m(!1);ue(()=>H.value?.agent_learning,$=>{$!==void 0&&(ke.value=$===!0)},{immediate:!0});async function M($){if(O.value){we.value=!0;try{await L(w.value,{agent_learning:$}),ke.value=$}catch(he){C.add({class:"mo-toast",title:r("common.error"),description:he.message,color:"error"}),ke.value=!$}finally{we.value=!1}}}const re=x(()=>[{value:"hermes",name:"Hermes",hint:"nousresearch.com"},...me.value?.kind==="openclaw"?[{value:"openclaw",name:"OpenClaw",hint:"openclaw.ai"}]:[]]),$e={de:"https://marblework.notion.site/marble-work-Hermes-Agent-API-3c94c49019fe81baa3fddf9dde31c500",en:"https://marblework.notion.site/marble-work-Hermes-Agent-API-3ca4c49019fe810daa1cf6fabedd2a53"},it=x(()=>$e[v.value]??$e.en),Ne={de:"https://marblework.notion.site/marble-work-Agenten-Skill-3cc4c49019fe81108c66c79be4c6577f",en:"https://marblework.notion.site/marble-work-Agent-Skill-3cc4c49019fe81d091ddc819bb1cbed8"},qe=x(()=>Ne[v.value]??Ne.en),B=os({kind:"hermes",name:"",url:"",token:"",model:""}),Ie=m(!1),pt=x(()=>B.kind==="hermes"?"hermes-agent":"default");ue(me,$=>{$&&(B.kind=$.kind,B.name=$.name||"",B.url=$.url,B.model=$.model||"",B.token="")},{immediate:!0});async function ht(){if(B.url.trim()){if(!me.value&&!B.token.trim()){C.add({class:"mo-toast",title:r("agency.external_agent.token_required"),color:"error"});return}Ie.value=!0;try{await ee({kind:B.kind,name:B.name.trim(),url:B.url.trim(),token:B.token.trim(),model:B.model.trim()}),B.token="",C.add({class:"mo-toast",title:r("agency.external_agent.saved"),color:"success"})}catch($){C.add({class:"mo-toast",title:r("agency.external_agent.save_error"),description:$?.message,color:"error"})}finally{Ie.value=!1}}}const te=m(null),Pt=m(!1),zt=x(()=>(me.value?.name||(B.kind==="hermes"?"Hermes":"OpenClaw")).slice(0,2).toUpperCase());async function Jt($){const he=$.target.files?.[0];if(he){if(he.size>sa){C.add({class:"mo-toast",title:r("agency.agents.avatar_too_large"),color:"error"}),te.value&&(te.value.value="");return}Pt.value=!0;try{await ie(he)}catch(Oe){C.add({class:"mo-toast",title:r("agency.agents.avatar_error"),description:Oe?.message,color:"error"})}finally{Pt.value=!1,te.value&&(te.value.value="")}}}async function Et(){Pt.value=!0;try{await T()}catch($){C.add({class:"mo-toast",title:r("agency.agents.avatar_error"),description:$?.message,color:"error"})}finally{Pt.value=!1}}async function Bt(){Ie.value=!0;try{await be(),Object.assign(B,{kind:"hermes",name:"",url:"",token:"",model:""}),C.add({class:"mo-toast",title:r("agency.external_agent.removed"),color:"success"})}catch($){C.add({class:"mo-toast",title:r("agency.external_agent.save_error"),description:$?.message,color:"error"})}finally{Ie.value=!1}}const Ut=[{slug:"anthropic",name:"Anthropic (Claude)",keyPh:"sk-ant-…",hint:"console.anthropic.com",url:"https://console.anthropic.com"},{slug:"openai",name:"OpenAI (GPT)",keyPh:"sk-…",hint:"platform.openai.com",url:"https://platform.openai.com"}],Ue=os({anthropic:"",openai:""}),ve=m(null),{errors:st,providersKnown:wt,pending:xt,probing:_t,fetchModels:gt}=$o();function We($){return f($)?_t.value?_t.value===$?"checking":st.value?.[$]?"invali
1d":"connected":xt.value||!wt.value?"checking":st.value?.[$]?"invalid":"connected":"none"}const Ke={none:"neutral",checking:"neutral",invalid:"error",connected:"success"},rt={none:"settings.ai.status_none",checking:"settings.ai.status_checking",invalid:"settings.ai.status_invalid",connected:"settings.ai.status_connected"};is(()=>{j(),Z(),U(),gt()});async function Me($){const he=Ue[$]?.trim();if(he){ve.value=$;try{await b($,he),Ue[$]="";const Oe=st.value?.[$];Oe?C.add({class:"mo-toast",title:r("settings.ai.key_rejected"),description:String(Oe).slice(0,200),color:"error",icon:"mosy:triangle-exclamation"}):C.add({class:"mo-toast",title:r("settings.ai.key_verified"),color:"success"})}catch(Oe){C.add({class:"mo-toast",title:r("settings.ai.save_error"),description:Oe?.message,color:"error"})}finally{ve.value=null}}}const tt=m(null);async function ct($){tt.value=$;try{await gt(!0,$)?st.value?.[$]?C.add({class:"mo-toast",title:r("settings.ai.key_rejected"),description:String(st.value[$]).slice(0,200),color:"error",icon:"mosy:triangle-exclamation"}):C.add({class:"mo-toast",title:r("settings.ai.key_verified"),color:"success"}):C.add({class:"mo-toast",title:r("settings.ai.recheck_failed"),color:"warning"})}finally{tt.value=null}}const Ge=m(!1),at=m(null),ft=m(!1);function dt($){at.value=Ut.find(he=>he.slug===$)??null,at.value&&(Ge.value=!0)}async function Re(){if(ft.value)return;const $=at.value?.slug,he=$?S($):null;if(!he){Ge.value=!1;return}ft.value=!0,ve.value=$;try{await A(he.id),Ge.value=!1,C.add({class:"mo-toast",title:r("settings.ai.removed"),color:"success"})}catch(Oe){C.add({class:"mo-toast",title:r("settings.ai.save_error"),description:Oe?.message,color:"error"})}finally{ve.value=null,ft.value=!1}}return Ps({escape:{usingInput:!0,handler:()=>{Ge.value&&(Ge.value=!1)}},enter:{handler:()=>{Ge.value&&Re()}}}),($,he)=>{const Oe=wa,ot=ts,Q=ks,Ye=ps,Ce=$s,Se=Xt,Te=_s,Fe=Hs,ut=ms;return o(),i("div",sp,[t("div",null,[t("h3",ap,s($.$t("settings.ai.title")),1),t("p",op,s($.$t("settings.ai.desc")),1)]),e(q)&&!e(Y)("intelligence",!0)?(o(),E(Oe,{key:0,title:$.$t("upsell.ai_settings_title")},null,8,["title"])):(o(),i(F,{key:1},[e(V)?(o(),i("div",np,[a(ot,{name:"i-lucide-loader-circle",class:"w-6 h-6 animate-spin text-secondary-300"})])):(o(),i("div",lp,[(o(),i(F,null,De(Ut,W=>t("div",{key:W.slug,class:"mo-card mo-card-radius no-hover p-5"},[t("div",ip,[t("div",null,[t("p",rp,s(W.name),1),t("a",{href:W.url,target:"_blank",rel:"noopener noreferrer",class:"text-[13px] text-secondary-500 mt-[3px] inline-flex items-center gap-1 hover:text-secondary-700 hover:underline underline-offset-2"},[a(ot,{name:"mosy:globe-pointer",class:"w-3 h-3 shrink-0"}),g(" "+s(W.hint),1)],8,cp)]),a(Q,{size:"sm",color:Ke[We(W.slug)],variant:"subtle",class:"mo-custom-badge mo-custom-badge-no-colors shrink-0"},{default:n(()=>[g(s($.$t(rt[We(W.slug)])),1)]),_:2},1032,["color"])]),We(W.slug)==="invalid"?(o(),i("p",dp,s($.$t("settings.ai.key_rejected"))+" "+s(e(st)[W.slug]),1)):h("",!0),t("div",up,[a(Ce,{label:e(f)(W.slug)?$.$t("settings.ai.field_key_replace"):$.$t("settings.ai.field_key"),class:"flex-1 w-full"},{default:n(()=>[a(Ye,{modelValue:e(Ue)[W.slug],"onUpdate:modelValue":Pe=>e(Ue)[W.slug]=Pe,type:"password",placeholder:e(f)(W.slug)?"••••••••••••":W.keyPh,class:"w-full",autocomplete:"new-password","data-1p-ignore":"true","data-lpignore":"true"},null,8,["modelValue","onUpdate:modelValue","placeholder"])]),_:2},1032,["label"]),a(Se,{color:"secondary",icon:"mosy:floppy-disk",loading:e(ve)===W.slug&&e(D),disabled:!e(Ue)[W.slug]?.trim(),onClick:Pe=>Me(W.slug)},{default:n(()=>[g(s($.$t("common.save")),1)]),_:1},8,["loading","disabled","onClick"])]),e(f)(W.slug)?(o(),i("div",mp,[a(Se,{size:"xs",color:"secondary",variant:"ghost",class:"px-3.5! py-2! text-[14px]! gap-2!",ui:{leadingIcon:"size-3.5!"},icon:"mosy:arrows-rotate",loading:e(tt)===W.slug,disabled:!!e(tt),onClick:Pe=>ct(W.slug)},{default:n(()=>[g(s($.$t("settings.ai.recheck")),1)]),_:1},8,["loading","disabled","onClick"])])):h("",!0),e(f)(W.slug)?(o(),i("div",pp,[t("div",_p,[t("p",gp,s($.$t("settings.ai.usage_title")),1),t("span",fp,s($.$t("settings.ai.usage_since",{date:e(z)})),1)]),e(ne)(W.slug)?(o(),i("div",vp,[t("div",yp,[t("div",bp,[t("p",hp,s($.$t("settings.ai.usage_requests")),1),t("p",xp,s(("formatCompactNumber"in $?$.formatCompactNumber:e(Es))(e(ne)(W.slug).calls)),1)]),t("div",kp,[t("p",$p,s($.$t("settings.ai.usage_input")),1),t("p",wp,s(("formatCompactNumber"in $?$.formatCompactNumber:e(Es))(e(ne)(W.slug).inputTokens)),1)]),t("div",Cp,[t("p",Up,s($.$t("settings.ai.usage_output")),1),t("p",Sp,s(("formatCompactNumber"in $?$.formatCompactNumber:e(Es))(e(ne)(W.slug).outputTokens)),1)])]),e(ne)(W.slug).models.length?(o(),i("div",Vp,[t("p",Mp,s($.$t("settings.ai.usage_by_model")),1),(o(!0),i(F,null,De(e(ne)(W.slug).models,Pe=>(o(),i("div",{key:Pe.model,class:"flex items-center justify-between text-xs max-[479px]:flex-col max-[479px]:items-start gap-x-2"},[t("span",jp,s(Pe.model),1),t("span",Ap,s(("formatCompactNumber"in $?$.formatCompactNumber:e(Es))(Pe.tokens))+" · "+s($.$t("settings.ai.usage_requests_short",{n:("formatCompactNumber"in $?$.formatCompactNumber:e(Es))(Pe.calls)})),1)]))),128))])):h("",!0)])):(o(),i("p",Tp,s($.$t("settings.ai.usage_empty")),1)),t("div",Pp,[a(Se,{size:"xs",color:"error",variant:"subtle",icon:"mosy:trash",loading:e(ve)===W.slug&&!e(D),onClick:Pe=>dt(W.slug)},{default:n(()=>[g(s($.$t("settings.ai.remove")),1)]),_:1},8,["loading","onClick"])])])):h("",!0)])),64))])),t("div",zp,[t("h3",Ep,s($.$t("settings.ai.agent_learning_title")),1),t("p",Ip,s($.$t("settings.organisation.agent_learning_hint")),1)]),t("div",Op,[t("p",Lp,s($.$t("settings.organisation.agent_learning_label")),1),a(Te,{"model-value":e(ke),loading:e(we),disabled:!e(O),color:"secondary",class:"shrink-0","onUpdate:modelValue":M},null,8,["model-value","loading","disabled"])]),e(Y)("external_agent",!0)?(o(),i(F,{key:2},[t("div",Dp,[t("h3",Np,s($.$t("agency.external_agent.title")),1),t("p",Rp,s($.$t("agency.external_agent.desc")),1
1)]),t("div",Fp,[t("div",Bp,[t("p",Kp,s($.$t("agency.external_agent.card_title")),1),a(Q,{size:"sm",color:e(me)?"success":"neutral",variant:"subtle",class:"mo-custom-badge mo-custom-badge-no-colors shrink-0"},{default:n(()=>[g(s(e(me)?$.$t("settings.ai.status_connected"):$.$t("settings.ai.status_none")),1)]),_:1},8,["color"])]),e(me)?(o(),i("div",Hp,[a(Fe,{src:e(me).avatar_url||void 0,text:e(zt),class:"avatar avatar-large shrink-0"},null,8,["src","text"]),t("div",qp,[t("input",{ref_key:"extAvatarInput",ref:te,type:"file",accept:"image/png,image/jpeg,image/webp",class:"hidden",onChange:Jt},null,544),a(Se,{size:"xs",color:"secondary",variant:"subtle",icon:"mosy:arrow-up-from-bracket",loading:e(Pt),onClick:he[0]||(he[0]=W=>e(te)?.click())},{default:n(()=>[g(s($.$t("agency.agents.avatar_upload")),1)]),_:1},8,["loading"]),e(me).avatar_url?(o(),E(Se,{key:0,size:"xs",color:"error",variant:"subtle",icon:"mosy:trash",loading:e(Pt),onClick:Et},null,8,["loading"])):h("",!0)])])):h("",!0),t("div",{class:ge(["grid gap-2.5 max-[479px]:grid-cols-1",e(re).length>1?"grid-cols-2":"grid-cols-1"])},[(o(!0),i(F,null,De(e(re),W=>(o(),i("button",{key:W.value,type:"button",class:ge(["flex flex-col items-start p-3 rounded-2xl border-1 transition-colors text-left",e(B).kind===W.value?"border-secondary-400 bg-secondary-100/50":"border-secondary-200 hover:border-secondary-400 hover:bg-secondary-100/30"]),onClick:Pe=>e(B).kind=W.value},[t("span",Gp,s(W.name),1),t("span",Yp,s(W.hint),1)],10,Wp))),128))],2),t("div",Xp,[e(B).kind==="hermes"?(o(),i("a",{key:0,href:e(it),target:"_blank",rel:"noopener noreferrer",class:"text-xs font-medium text-secondary-500 hover:text-secondary-700 inline-flex items-center gap-1"},[a(ot,{name:"mosy:books",class:"w-3 h-3 shrink-0"}),g(" "+s($.$t("agency.external_agent.docs_link")),1)],8,Jp)):h("",!0),t("a",{href:e(qe),target:"_blank",rel:"noopener noreferrer",class:"text-xs font-medium text-secondary-500 hover:text-secondary-700 inline-flex items-center gap-1"},[a(ot,{name:"mosy:sparkles",class:"w-3 h-3 shrink-0"}),g(" "+s($.$t("agency.external_agent.skill_link")),1)],8,Zp)]),a(Ce,{label:$.$t("agency.external_agent.field_name")},{default:n(()=>[a(Ye,{modelValue:e(B).name,"onUpdate:modelValue":he[1]||(he[1]=W=>e(B).name=W),placeholder:$.$t("agency.external_agent.field_name_ph"),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),a(Ce,null,{default:n(()=>[t("div",Qp,[t("label",e_,s($.$t("agency.external_agent.field_url")),1),t("p",t_,s($.$t("agency.external_agent.field_url_hint")),1)]),a(Ye,{modelValue:e(B).url,"onUpdate:modelValue":he[2]||(he[2]=W=>e(B).url=W),type:"url",placeholder:"https://agent.example.com",class:"w-full"},null,8,["modelValue"])]),_:1}),a(Ce,null,{default:n(()=>[t("div",s_,[t("label",a_,s($.$t("agency.external_agent.field_model")),1),t("p",o_,s($.$t("agency.external_agent.field_model_hint")),1)]),a(Ye,{modelValue:e(B).model,"onUpdate:modelValue":he[3]||(he[3]=W=>e(B).model=W),placeholder:e(pt),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),a(Ce,{label:e(me)?$.$t("agency.external_agent.field_token_replace"):$.$t("agency.external_agent.field_token")},{default:n(()=>[a(Ye,{modelValue:e(B).token,"onUpdate:modelValue":he[4]||(he[4]=W=>e(B).token=W),type:"password",placeholder:e(me)?"••••••••••••":$.$t("agency.external_agent.field_token_ph"),class:"w-full",autocomplete:"new-password","data-1p-ignore":"true","data-lpignore":"true"},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),t("div",n_,[a(Se,{color:"secondary",icon:"mosy:floppy-disk",loading:e(Ie)&&e(R),disabled:!e(B).url.trim(),onClick:ht},{default:n(()=>[g(s($.$t("common.save")),1)]),_:1},8,["loading","disabled"]),e(me)?(o(),E(Se,{key:0,size:"sm",color:"error",variant:"subtle",icon:"mosy:trash",loading:e(Ie)&&!e(R),onClick:Bt},{default:n(()=>[g(s($.$t("agency.external_agent.remove")),1)]),_:1},8,["loading"])):h("",!0)])])],64)):(o(),E(Oe,{key:3,plan:"rocket",title:$.$t("upsell.external_agent_title")},null,8,["title"]))],64)),a(ut,{open:e(Ge),close:!1,"onUpdate:open":he[6]||(he[6]=W=>Ge.value=W)},{title:n(()=>[t("div",l_,[a(ot,{name:"mosy:triangle-exclamation",class:"text-rose-400 shrink-0"}),g(" "+s($.$t("settings.ai.remove_confirm_title")),1)])]),description:n(()=>[g(s($.$t("settings.ai.remove_confirm_text",{provider:e(at)?.name})),1)]),footer:n(()=>[t("div",i_,[a(Se,{variant:"subtle",color:"secondary",onClick:he[5]||(he[5]=W=>Ge.value=!1)},{default:n(()=>[g(s($.$t("common.cancel")),1)]),_:1}),a(Se,{color:"error",icon:"mosy:trash",loading:e(ft),onClick:Re},{default:n(()=>[g(s($.$t("settings.ai.remove")),1)]),_:1},8,["loading"])])]),_:1},8,["open"])])}}},c_=qs(r_,[["__scopeId","data-v-e7c64701"]]),d_={class:"pt-6 max-w-[840px] pb-6 flex flex-col gap-6"},u_={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},m_={class:"text-sm text-secondary-500 mt-0.5"},p_={class:"flex items-center justify-between gap-4 py-3 px-4 rounded-2xl bg-secondary-100/70 ring ring-secondary-300 max-[640px]:px-3"},__={class:"min-w-0"},g_={class:"text-sm font-semibold text-secondary-800"},f_={class:"text-xs text-secondary-600 mt-0.5"},v_={class:"px-4 max-[640px]:px-3 mt-4"},y_={class:"text-xs font-semibold uppercase tracking-wide text-secondary-700 mb-2"},b_={key:0,class:"text-sm text-secondary-500"},h_={key:1,class:"divide-y divide-secondary-200"},x_={class:"flex items-center gap-3 min-w-0"},k_={class:"min-w-0"},$_={class:"text-sm text-secondary-800 truncate"},w_={class:"text-xs text-secondary-500"},C_={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-custom-theme-heading"},U_={class:"text-sm text-secondary-500 mt-0.5"},S_={class:"flex items-center justify-between gap-4 py-3 px-4 rounded-2xl bg-secondary-100/70 ring ring-secondary-300 max-[640px]:px-3"},V_={class:"min-w-0"},M_={class:"text-sm font-semibold text-secondary-800"},j_={class:"text-xs text-secondary-600 mt-0.5"},A_={key:0,class:"flex items-center justify-between gap-4 py-3 px-4 rounded-2xl bg-secondary-100/70 ring ring-secondary-300 max-[640px]:px-3"},T_={class:"min-w-0"},P_={class:"text-sm font-semibold text-secondary-800"},z_={class:"text-xs text-secondary-600 mt-0.5"},E_={class:"flex items-center justify-end gap-2.5 px-4 max-[640px]:px-3 pb-1 pt-1"},I_={class:"w-10 text-center text-[11px] font-semibold uppercase tracking-wide text-secondary-500"},O_={key:0,class:"w-10 text-center text-[11px] font-semibold uppercase tracking-wide text-secondary-500"},L_={class:"divide-y divide-secondary-200 px-4 max-[640px]:px-3"},D_={class:"min-w-0"},N_={class:"text-sm text-secondary-800"},R_={class:"text-xs text-secondary-500 mt-0.5"},F_={class:"flex items-center gap-2.5 shrink-0"},B_={class:"w-10 flex justify-center"},K_={key:1,class:"text-secondary-300"},H_={key:0,class:"w-10 flex justify-center"},q_={__name:"SettingsNotificationSettings",setup(G){const{t:r,locale:v}=Rt(),{settingsOrg:C}=Ft(),{labelParams:P}=Cs(C),I=cs(),X=rs(),{orgId:oe,ownOrg:J,isAdmin:L}=Ft(),H=Ga(),w=Ya(),O=w.pushFreigeschaltet,Y=x(()=>H.value?.id||H.value?.sub||null),q=x(()=>!!J.value||L.value),V=x(()=>[{key:"task_done",email:!0},{key:"task_failed",email:!0},{key:"waiting_human",email:!0},{key:"task_status_changed",email:!0},{key:"task_assigned",email:!0},{key:"task_due_changed",email:!0},{key:"task_file_added",email:!0},{key:"comment",email:!0},{key:"mention",email:!0},...q.value?[{key:"invite_accepted",email:!0}]:[],...q.value?[{key:"auto_start_budget",email:!0}]:[]]),D=["email_task_done","email_task_failed","email_waiting_human","email_task_status_changed","email_task_assigned","email_task_due_changed","email_task_file_added","email_comment","email_mention","email_invite_accepted","email_auto_start_budget"],j=["push_task_done","push_task_failed","push_waiting_human","push_task_status_changed","push_task_assigned","push_task_due_changed","push_task_file_added","push_comment","push_mention","push_invite_accepted","push_auto_start_budget"],f=new Set(["push_task_file_added","push_invite_accepted","push_comment","push_task_done","push_task_failed"]),S=os(Object.fromEntries([...D,...j].map(M=>[M,!f.has(M)]))),b=m(!0);async function A(){if(b.value=!0,!Y.value){b.value=!1;return}const{data:M}=await X.from("notification_preferences").select([...D,...j].join(", ")).eq("user_id",Y.value).maybeSingle();M&&Object.assign(S,M),b.value=!1}async function Z(M,re){const $e=`${M}_${re}`,{error:it}=await X.from("notification_preferences").upsert({user_id:Y.value,[$e]:S[$e],updated_at:new Date().toISOString()},{onConflict:"user_id"});it?(S[$e]=!S[$e],I.add({class:"mo-toast",title:r("common.error"),description:it.message,color:"error"})):I.add({class:"mo-toast",title:r("agency.notifications.settings.saved"),color:"success"})}function ne(M){return V.value.filter(re=>M==="push"||re.email).map(re=>`${M}_${re.key}`)}async function le(M,re){const $e=ne(M),it=Object.fromEntries($e.map(B=>[B,S[B]])),Ne=Object.fromEntries($e.map(B=>[B,re]));Object.assign(S,Ne);const{error:qe}=await X.from("notification_preferences").upsert({user_id:Y.value,...Ne,updated_at:new Date().toISOString()},{onConflict:"user_id"});qe?(Object.assign(S,it),I.add({class:"mo-toast",title:r("common.error"),description:qe.message,color:"error"})):I.add({class:"mo-toast",title:r("agency.notifications.settings.saved"),color:"success"})}const me=x({get:()=>ne("email").every(M=>S[M]!==!1),set:M=>le("email",M)}),R=x({get:()=>ne("push").every(M=>S[M]!==!1),set:M=>le("push",M)}),U=m(!1),ee=x({get:()=>w.state.value==="on"||w.state.value==="registering",set:M=>ie(M)}),be=x(()=>!U.value&&!["unsupported","denied","unknown"].includes(w.state.value));async function ie(M){U.value=!0;try{M?await w.enable()?I.add({class:"mo-toast",title:r("agency.notifications.push.enabled_toast"),color:"success"}):w.state.value==="denied"&&I.add({class:"mo-toast",title:r("agency.notifications.push.denied_hint"),color:"warning"}):await w.disable(),await w.loadDevices()}catch(re){I.add({class:"mo-toast",title:r("common.error"),description:re?.message,color:"error"})}finally{U.value=!1}}async function T(M){try{await w.removeDevice(M.id),I.add({class:"mo-toast",title:r("agency.notifications.push.removed"),description:r("agency.notifications.push.removed_desc"),color:"success"})}catch(re){I.add({class:"mo-toast",title:r("common.error"),description:re?.message,color:"error"})}}const z={ios:"mosy:mobile-button",macos:"mosy:globe-pointer",android:"mosy:mobile-button",web:"mosy:globe-pointer"};function ke(M){return M.device_name||r(`agency.notifications.push.platform_${M.platform}`)}function we(M){const re=M.last_seen_at||M.created_at;return re?new Intl.DateTimeFormat(v.value,{day:"2-digit",month:"2-digit",year:"numeric"}).format(new Date(re)):""}return is(async()=>{await A(),await w.detect().catch(()=>{}),await w.loadDevices().catch(()=>{})}),ue(oe,A),(M,re)=>{const $e=_s,it=ts,Ne=Xt,qe=ws;return o(),i("div",d_,[e(O)?(o(),E(qe,{key:0,class:"no-hover",ui:{body:"pt-4!"}},{header:n(()=>[t("div",null,[t("p",u_,s(M.$t("agency.notifications.push.title")),1),t("p",m_,s(M.$t("agency.notifications.push.desc")),1
1)])]),default:n(()=>[t("div",p_,[t("div",__,[t("p",g_,s(M.$t("agency.notifications.push.this_device")),1),t("p",f_,[e(w).state.value==="unsupported"?(o(),i(F,{key:0},[g(s(M.$t("agency.notifications.push.unsupported")),1)],64)):e(w).state.value==="denied"?(o(),i(F,{key:1},[g(s(M.$t("agency.notifications.push.denied_hint")),1)],64)):e(w).state.value==="error"?(o(),i(F,{key:2},[g(s(M.$t("agency.notifications.push.error_hint")),1)],64)):(o(),i(F,{key:3},[g(s(M.$t("agency.notifications.push.this_device_hint")),1)],64))])]),a($e,{modelValue:e(ee),"onUpdate:modelValue":re[0]||(re[0]=B=>ye(ee)?ee.value=B:null),color:"secondary",class:"mo-switch-on-light-secondary",disabled:!e(be),loading:e(U)||e(w).state.value==="registering"},null,8,["modelValue","disabled","loading"])]),t("div",v_,[t("p",y_,s(M.$t("agency.notifications.push.other_devices")),1),e(w).otherDevices.value.length?(o(),i("div",h_,[(o(!0),i(F,null,De(e(w).otherDevices.value,B=>(o(),i("div",{key:B.id,class:"flex items-center justify-between gap-3 py-2.5 max-[479px]:flex-col max-[479px]:items-start"},[t("div",x_,[a(it,{name:z[B.platform]||"mosy:mobile",class:"w-4.5 h-4.5 text-secondary-500 shrink-0"},null,8,["name"]),t("div",k_,[t("p",$_,s(ke(B)),1),t("p",w_,s(M.$t("agency.notifications.push.last_seen",{date:we(B)})),1)])]),a(Ne,{variant:"subtle",class:"text-[14px]! px-3! py-1.5!",color:"secondary",size:"sm",icon:"mosy:trash",onClick:Ie=>T(B)},{default:n(()=>[g(s(M.$t("agency.notifications.push.remove")),1)]),_:1},8,["onClick"])]))),128))])):(o(),i("p",b_,s(M.$t("agency.notifications.push.none")),1))])]),_:1})):h("",!0),a(qe,{class:"no-hover",ui:{body:"pt-4!"}},{header:n(()=>[t("div",null,[t("p",C_,s(M.$t("agency.notifications.settings.title")),1),t("p",U_,s(M.$t("agency.notifications.settings.desc")),1)])]),default:n(()=>[t("div",{class:ge(["grid grid-cols-1 gap-3 mb-3",e(O)?"sm:grid-cols-2":""])},[t("div",S_,[t("div",V_,[t("p",M_,s(M.$t("agency.notifications.settings.all_label")),1),t("p",j_,s(M.$t("agency.notifications.settings.all_hint")),1)]),a($e,{modelValue:e(me),"onUpdate:modelValue":re[1]||(re[1]=B=>ye(me)?me.value=B:null),color:"secondary",class:"mo-switch-on-light-secondary",disabled:e(b)},null,8,["modelValue","disabled"])]),e(O)?(o(),i("div",A_,[t("div",T_,[t("p",P_,s(M.$t("agency.notifications.settings.all_push_label")),1),t("p",z_,s(M.$t("agency.notifications.settings.all_push_hint")),1)]),a($e,{modelValue:e(R),"onUpdate:modelValue":re[2]||(re[2]=B=>ye(R)?R.value=B:null),color:"secondary",class:"mo-switch-on-light-secondary",disabled:e(b)},null,8,["modelValue","disabled"])])):h("",!0)],2),t("div",E_,[t("span",I_,s(M.$t("agency.notifications.settings.col_email")),1),e(O)?(o(),i("span",O_,s(M.$t("agency.notifications.settings.col_push")),1)):h("",!0)]),t("div",L_,[(o(!0),i(F,null,De(e(V),B=>(o(),i("div",{key:B.key,class:"flex items-center justify-between gap-3 py-3.5 first:pt-1 last:pb-1"},[t("div",D_,[t("p",N_,s(M.$t(`agency.notifications.type.${B.key}.title`,e(P))),1),t("p",R_,s(M.$t(`agency.notifications.settings.${B.key}_hint`,e(P))),1)]),t("div",F_,[t("div",B_,[B.email?(o(),E($e,{key:0,modelValue:e(S)[`email_${B.key}`],"onUpdate:modelValue":[Ie=>e(S)[`email_${B.key}`]=Ie,Ie=>Z("email",B.key)],color:"secondary",disabled:e(b)},null,8,["modelValue","onUpdate:modelValue","disabled"])):(o(),i("span",K_,"–"))]),e(O)?(o(),i("div",H_,[a($e,{modelValue:e(S)[`push_${B.key}`],"onUpdate:modelValue":[Ie=>e(S)[`push_${B.key}`]=Ie,Ie=>Z("push",B.key)],color:"secondary",disabled:e(b)},null,8,["modelValue","onUpdate:modelValue","disabled"])])):h("",!0)])]))),128))])]),_:1})])}}},W_={class:"p-6 space-y-5 pb-[var(--dashboard-padding-y)] mo-dashboard-panel-inner"},G_={class:"mb-2 mo-dashboard-title-section mo-set-custom-mb"},Y_={class:"text-[40px] max-md:text-[36px] mo-title-section-heading text-secondary-700 font-bold"},X_={class:"text-base mt-1.5 text-secondary-500 font-medium"},J_={class:"flex items-center gap-3 mt-2"},Z_={class:"mo-form-items mb-0! mo-dashboard-panel-content mo-settings-tabs-mobile"},Q_={class:"truncate max-w-44 font-semibold text-secondary-600"},eg={class:"flex items-center gap-2"},tg={class:"grid space-y-6 gap-6 grid-cols-2 pt-6 pb-6 max-[1200px]:flex max-[1200px]:flex-col max-lg:grid max-[840px]:flex!"},sg={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},ag={class:"space-y-6 px-1 py-2"},og={class:"flex items-center gap-3 py-1.5 rounded-md"},ng={class:"relative shrink-0"},lg={key:0,class:"absolute inset-0 flex items-center justify-center rounded-full bg-secondary-600/40"},ig={class:"flex flex-col gap-2"},rg={class:"mo-label"},cg={class:"flex gap-2 flex-wrap"},dg={class:"text-xs text-secondary-500"},ug={class:"flex gap-3 items-end mo-inner-card-max"},mg={class:"w-full"},pg={class:"text-sm italic text-secondary-100"},_g={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-custom-theme-heading"},gg={class:"space-y-6 px-1 py-2"},fg={class:"space-y-2"},vg={class:"flex gap-3 items-end mo-inner-card-max"},yg={key:0,class:"text-xs text-rose-500 flex items-center gap-1 pl-[5px]"},bg={class:"text-xs text-slate-500/70 font-medium pl-[5px] max-w-[460px]"},hg={class:"space-y-3"},xg={class:"text-sm font-semibold text-secondary-700"},kg={class:"flex items-center gap-1.5 justify-between w-full"},$g={class:"shrink-0"},wg={key:0,class:"text-xs text-rose-500 flex items-center gap-1"},Cg={class:"font-waden translate-y-0.5 text-[17px] text-rose-500 text-base flex items-center gap-2"},Ug={class:"px-1 py-2 space-y-5"},Sg=["innerHTML"],Vg={class:"pt-6 pb-6 max-w-[840px]"},Mg={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},jg={class:"space-y-3"},Ag={key:0,class:"flex justify-center py-4"},Tg={key:0,class:"flex items-center gap-2 py-2 px-3 rounded-lg bg-secondary-100/60 border border-(--ui-border) text-sm"},Pg={class:"text-secondary-600 font-semibold flex-1"},zg={class:"text-xs text-error font-semibold"},Eg={key:0,class:"w-full text-sm mo-no-max"},Ig={class:"border-b border-(--ui-border)"},Og={class:"w-8 pb-3"},Lg={class:"text-left pb-3 font-semibold text-secondary-500"},Dg=["onClick"],Ng={class:"py-2.5 pr-3 align-middle"},Rg=["aria-label","title"],Fg={class:"p-3 w-72"},Bg=["onDblclick"],Kg={key:0,class:"flex items-center gap-1 justify-end"},Hg={class:"text-xs text-error mr-1"},qg={key:2,class:"flex items-center gap-1.5 justify-end transition-opacity max-[479px]:flex-col max-[479px]:items-end"},Wg={key:1,class:"text-sm text-muted italic py-2"},Gg=["aria-label","title"],Yg={class:"p-3 w-72"},Xg={class:"pt-6 pb-6 max-w-[840px]"},Jg={class:"pt-6 pb-6 max-w-[840px] space-y-4"},Zg={class:"flex items-start justify-between gap-4 max-sm:flex-wrap"},Qg={class:"font-waden translate-y-0.5 text-[17px] text-secondary-600 mo-cu
1stom-theme-heading"},ef={class:"text-sm text-secondary-500 mt-0.5"},tf={class:"divide-y divide-secondary-100"},sf={class:"flex flex-col gap-1"},af={class:"shrink-0 font-medium text-secondary-600 text-[16px]"},of={class:"flex-1 flex gap-x-4 gap-y-0.5 text-sm text-secondary-500 max-[540px]:flex-col"},nf={class:"text-secondary-500 text-xs mr-1"},lf={class:"text-secondary-500 text-xs mr-1"},rf={class:"space-y-5"},cf={class:"text-xs text-secondary-500 flex items-start gap-1.5 pl-1"},df={class:"flex gap-2 justify-end w-full"},uf={class:"flex items-center gap-3"},mf={class:"text-sm text-secondary-600 font-semibold!"},pf={class:"text-sm text-secondary-600 space-y-1.5 mt-3"},_f={class:"flex items-center gap-2 font-semibold!"},gf={class:"flex items-center gap-2 font-semibold!"},ff={class:"flex items-center gap-2 font-semibold!"},vf={class:"flex items-start gap-2 font-semibold!"},yf={class:"flex items-center gap-2 font-semibold!"},bf={key:0,class:"mt-4 flex items-start gap-2.5 rounded-xl bg-rose-500 border border-rose-300 px-3 py-2.5"},hf={class:"text-[13px] text-rose-50 font-medium leading-snug"},xf={class:"text-sm text-secondary-700 font-bold mb-3"},kf={class:"text-sm text-secondary-700 space-y-2.5"},$f={class:"flex items-start gap-2.5 font-semibold"},wf={class:"flex items-start gap-2.5 font-semibold"},Cf={class:"flex items-start gap-2.5 font-semibold"},Uf={class:"flex items-start gap-2.5 font-semibold"},Sf={class:"flex items-start gap-2.5 font-semibold"},Vf={key:0,class:"flex items-start gap-2.5 font-semibold"},Mf={class:"flex items-start gap-2.5 font-bold text-rose-600"},jf={key:2,class:"space-y-4"},Af={class:"text-sm text-secondary-600 font-semibold!"},Tf={class:"text-sm font-semibold bg-secondary-100 rounded-xl px-3 py-2 text-secondary-700 select-all"},Pf={key:0,class:"text-xs text-rose-500 flex items-center gap-1"},zf={class:"flex gap-2 justify-end w-full"},Fs=24,Ef={__name:"index",setup(G){const{t:r,locale:v,locales:C,setLocale:P}=Rt(),I=rs(),{user:X,profile:oe,initials:J,avatarUrl:L,fetchProfile:H,updateProfile:w}=va(),{prepare:O}=so(),{purgeOrgStorage:Y}=wo(),q=Ca,{currentOrg:V,ownOrgId:D,settingsOrg:j,updateOrganization:f}=Ft(),{cancelSubscription:S}=$a(),{isSelfPro:b,isSelfTester:A,selfCurrentPeriodEnd:Z,fetchSubscription:ne}=Ls(),{activeEntry:le}=fa(),{resetClientState:me}=po(),R=x(()=>b.value&&!A.value),U=x(()=>{const l=Z.value;return l?new Intl.DateTimeFormat(v.value,{day:"2-digit",month:"2-digit",year:"numeric"}).format(l):null}),{myInvites:ee}=Ds(D),be=x(()=>ee.value?.length||0),ie=cs(),T=_a(),z=ta(),ke=Xa(),we=Ks(),M=m(we.public.appVersion),{backendFetch:re}=Co();Ja();const{isFree:$e,FREE_LIMITS:it}=Gs(),{labelProjects:Ne,labelClients:qe,labelTasks:B}=Cs(j),Ie=x(()=>r("settings.danger.description",{projects:Ne.value,clients:qe.value,tasks:B.value}).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>")),pt=m(!1),ht=m(!1),{tags:te,loading:Pt,fetchTags:zt,createTag:Jt,updateTag:Et,deleteTag:Bt,bulkDeleteTags:Ut}=no(D);ue(D,(l,y)=>{l&&!y&&zt()});function Ue(){return Is[Math.floor(Math.random()*Is.length)]}const ve=m(""),st=m(Ue()),wt=m(!1),xt=m(!1),_t=m(null),gt=m(""),We=m(null),Ke=m(!1),rt=m(null),Me=m([]),tt=m(!1),ct=x(()=>Me.value.length>0),Ge=x(()=>te.value.length>0&&Me.value.length===te.value.length);function at(l){return Me.value.includes(l)}function ft(l){Me.value=at(l)?Me.value.filter(y=>y!==l):[...Me.value,l],Me.value.length||(tt.value=!1)}function dt(){Me.value=Ge.value?[]:te.value.map(l=>l.id),tt.value=!1}function Re(){Me.value=[],tt.value=!1}async function $(){const l=ve.value.trim();if(!(!l||xt.value)){if($e.value&&te.value.length>=it.tags){pt.value=!0;return}if(te.value.some(y=>y.name.toLowerCase()===l.toLowerCase())){ie.add({class:"mo-toast",title:r("settings.tags.already_exists"),color:"warning"});return}xt.value=!0;try{await Jt(l,st.value),ve.value="",st.value=Ue()}catch(y){y?.code==="23505"?(await zt(),ve.value="",ie.add({class:"mo-toast",title:r("settings.tags.already_exists"),color:"warning"})):ie.add({class:"mo-toast",title:r("common.error"),description:y.message,color:"error"})}finally{xt.value=!1}}}function he(l){rt.value=null,_t.value=l.id,gt.value=l.name,We.value=l.color??null,Ke.value=!1,ya(()=>document.getElementById(`tag-edit-${l.id}`)?.focus())}function Oe(){We.value||(We.value=Ue()),Ke.value=!0}async function ot(l){if(!gt.value.trim()){_t.value=null;return}try{await Et(l,{name:gt.value.trim(),color:We.value})}catch(y){ie.add({class:"mo-toast",title:r("common.error"),description:y.message,color:"error"})}_t.value=null}async function Q(l){try{await Bt(l)}catch(y){ie.add({class:"mo-toast",title:r("common.error"),description:y.message,color:"error"})}rt.value=null,Me.value=Me.value.filter(y=>y!==l)}async function Ye(){const l=Me.value.length;try{await Ut(Me.value)}catch(y){ie.add({class:"mo-toast",title:r("common.error"),description:y.message,color:"error"})}Re(),ie.add({class:"mo-toast",title:r("settings.tags.bulk_deleted",{count:l}),color:"neutral"})}function Ce(l){if(rt.value){l.key==="Enter"?(l.preventDefault(),Q(rt.value)):l.key==="Escape"&&(l.preventDefault(),rt.value=null);return}if(tt.value){l.key==="Enter"?(l.preventDefault(),Ye()):l.key==="Escape"&&(l.preventDefault(),Re());return}ct.value&&l.key==="Escape"&&(l.preventDefault(),Re())}ue([rt,tt,ct],([l,y,de])=>{l||y||de?document.addEventListener("keydown",Ce):document.removeEventListener("keydown",Ce)}),Os(()=>document.removeEventListener("keydown",Ce));const Se=m(null),Te=m(!1);async function Fe(l){const y=l.target.files?.[0];if(!y)return;if(y.size>sa){ie.add({class:"mo-toast",title:r("settings.profile.file_too_large"),description:r("settings.profile.file_too_large_detail"),color:"error"});return}const de=await O(l.target.files?.[0]);Te.value=!0;try{const pe=de.name.split(".").pop().toLowerCase(),xe=`${X.value.sub}/account/avatar.${pe}`,{error:Dt}=await I.storage.from("avatars").upload(xe,de,{upsert:!0,cacheControl:"86400"});if(Dt)throw Dt;const{data:{publicUrl:ds}}=I.storage.from("avatars").getPublicUrl(xe);await w({avatar_url:`${ds}?t=${Date.now()}`}),ie.add({class:"mo-toast",title:r("settings.profile.avatar_updated"),color:"success"})}catch(pe){ie.add({class:"mo-toast",title:r("settings.profile.upload_error"),description:pe.message,color:"error"})}finally{Te.value=!1,Se.value&&(Se.value.value="")}}async function ut(){Te.value=!0;try{const l=L.value;
1if(l){const y=l.match(/\/avatars\/([^?]+)/);y?.[1]&&await I.storage.from("avatars").remove([y[1]])}await w({avatar_url:null}),ie.add({class:"mo-toast",title:r("settings.profile.avatar_removed"),color:"success"})}catch(l){ie.add({class:"mo-toast",title:r("common.error"),description:l.message,color:"error"})}finally{Te.value=!1}}const W=m(""),Pe=m(!1);ue(()=>oe.value?.full_name,l=>{l!==void 0&&(W.value=l??"")},{immediate:!0});async function Kt(){if(W.value.trim()){Pe.value=!0;try{await w({full_name:W.value.trim()}),ie.add({class:"mo-toast",title:r("settings.profile.name_saved"),color:"success"})}catch(l){ie.add({class:"mo-toast",title:r("common.error"),description:l.message,color:"error"})}finally{Pe.value=!1}}}const It=m(!1),gs=x(()=>C.value.map(l=>({label:l.name,value:l.code})));async function Zt(l){if(l!==v.value){It.value=!0;try{await P(l),await w({locale:l}),ie.add({class:"mo-toast",title:r("settings.language.saved"),color:"success"})}catch(y){ie.add({class:"mo-toast",title:r("common.error"),description:y.message,color:"error"})}finally{It.value=!1}}}const Ct=m(""),nt=m(!1),fe=m("");ue(()=>X.value?.email,l=>{l&&(Ct.value=l)},{immediate:!0}),ue(Ct,()=>{fe.value=""});async function Ot(){if(Ct.value.trim()){fe.value="",nt.value=!0;try{await re("/update-user-metadata-by-email",{method:"POST",body:{email:X.value?.email,metadata:{changeEmail:Uo("changeEmail",v.value)}}});const{error:l}=await I.auth.updateUser({email:Ct.value.trim()});if(l)throw l;ie.add({class:"mo-toast",title:r("settings.account.email_sent"),description:r("settings.account.email_confirm_help"),color:"success"})}catch(l){fe.value=l.code==="email_exists"?r("settings.account.email_exists"):l.message}finally{nt.value=!1}}}const ze=m(""),Xe=m(""),Ht=m(!1),qt=m(""),St=m(!1),Vt=m(!1),ss=m(!1);async function Qt(){if(qt.value="",!ss.value){qt.value=r("auth.password_strength.title");return}if(ze.value!==Xe.value){qt.value=r("settings.account.passwords_mismatch");return}Ht.value=!0;try{const{error:l}=await I.auth.updateUser({password:ze.value});if(l)throw l;ze.value="",Xe.value="",ie.add({class:"mo-toast",title:r("settings.account.password_changed"),color:"success"})}catch(l){const y=l.code==="same_password"?r("auth.reset_password.same_password"):l.message;ie.add({class:"mo-toast",title:r("common.error"),description:y,color:"error"})}finally{Ht.value=!1}}const mt=m("");ue(()=>V.value?.name,l=>{l&&(mt.value=l)},{immediate:!0});const lt=m(!1),u=m(1),k=m(""),ce=m(!1),Ee=m("");function yt(){u.value=1,k.value="",Ee.value="",lt.value=!0}function Mt(){lt.value=!1,u.value=1,k.value="",Ee.value=""}Za("keydown",l=>{l.key==="Escape"&&lt.value&&Mt()});async function je(){if(!(X.value?.id||X.value?.sub))return;const{data:y}=await I.rpc("get_user_avatar_paths");if(y?.length&&await I.storage.from("avatars").remove(y.map(de=>de.name)),D.value){const{data:de}=await I.storage.from("orglogos").list(D.value);de?.length&&await I.storage.from("orglogos").remove(de.map(pe=>`${D.value}/${pe.name}`)),await Y(D.value)}}async function jt(){if(Ee.value="",k.value.trim().toLowerCase()!==X.value?.email?.toLowerCase()){Ee.value=r("settings.delete_modal.email_mismatch");return}ce.value=!0;try{if(le.value&&le.value.organization_id!==D.value&&await I.from("time_entries").delete().eq("id",le.value.id),D.value&&(await S(D.value))?.unreachable)try{const{data:y}=await I.from("subscriptions").select("stripe_sub_id, stripe_cus_id").eq("organization_id",D.value).maybeSingle();y?.stripe_sub_id&&await I.from("failed_cancellations").insert({organization_id:D.value,stripe_sub_id:y.stripe_sub_id,stripe_cus_id:y.stripe_cus_id,user_email:X.value?.email??null,reason:"stripe backend unreachable during account deletion"})}catch(y){console.warn("[delete-account] could not record failed cancellation:",y?.message)}await je(),await eo(),await I.rpc("delete_user_account"),await I.auth.signOut({scope:"local"}),me(),to(ke("auth-login"))}catch(l){ie.add({class:"mo-toast",title:r("settings.danger.delete_error"),description:l.message,color:"error"}),ce.value=!1}}const Ve=m(!1),bt=m(null),kt=m(""),$t=m(""),Gt=m(!1),se=m(!1),Le=x(()=>Lt.value.some(l=>l.singular||l.plural)),Lt=x(()=>{const l=j.value?.custom_labels??{};return[{key:"client",name:r("settings.texts.label_client"),singular:l.client?.singular||"",plural:l.client?.plural||""},{key:"project",name:r("settings.texts.label_project"),singular:l.project?.singular||"",plural:l.project?.plural||""},{key:"task",name:r("settings.texts.label_task"),singular:l.task?.singular||"",plural:l.task?.plural||""},{key:"subtask",name:r("settings.texts.label_subtask"),singular:l.subtask?.singular||"",plural:l.subtask?.plural||""}]});function Us(l){if($e.value){ht.value=!0;return}const y=Lt.value.find(de=>de.key===l);y&&(bt.value=l,kt.value=y.singular,$t.value=y.plural,Ve.value=!0)}async function es(){if(!bt.value)return;Gt.value=!0;const l={...j.value?.custom_labels??{}},y=kt.value.trim()||$t.value.trim()?{singular:kt.value.trim()||null,plural:$t.value.trim()||null}:null;y?l[bt.value]=y:delete l[bt.value];try{await f(j.value.id,{custom_labels:l}),Ve.value=!1,ie.add({class:"mo-toast",title:r("settings.texts.saved"),color:"success"})}finally{Gt.value=!1}}async function fs(){if(!(!Le.value||se.value)){se.value=!0;try{await f(j.value.id,{custom_labels:{}}),ie.add({class:"mo-toast",title:r("settings.texts.reset_all_done"),color:"success"})}catch(l){ie.add({class:"mo-toast",title:r("common.error"),description:l.message,color:"error"})}finally{se.value=!1}}}Ps({escape:{usingInput:!0,handler:()=>{Ve.value&&(Ve.value=!1)}},meta_s:{usingInput:!0,handler:()=>{Ve.value&&es()}}});const Ss=["account","organisation","member","worktimes","projektzeiten","tags","ai","notifications","texte"],vt=m(!1),Ae=m(Ss.includes(T.hash.slice(1))?T.hash.slice(1):"account"),{markViewed:Wt}=So(),ns={worktimes:"worktimes",tags:"tags",texte:"labels",member:"users"};ue(Ae,l=>{z.replace({hash:`#${l}`});const y=ns[l];y&&Wt(y)}),ue(()=>T.hash,l=>{const y=l.slice(1);Ss.includes(y)&&y!==Ae.value&&(Ae.value=y)}),is(()=>{const l=ns[Ae.value];l&&Wt(l)});const c=x(()=>[{value:"account",label:r("settings.tabs.account"),icon:"mosy:user",slot:"account"},{value:"organisation",label:r("settings.tabs.organisation"),icon:"mosy:building",slot:"organisation"},{value:"member",label:r("settings.tabs.users"),icon:"mosy:users",slot:"member",badge:be.value>0?be.value:void 0},{value:"worktimes",label:r("settings.tabs.worktimes"),icon:"mosy:user-clock",slot:"worktimes"},{value:"projektzeiten",label:r("settings.tabs.projektzeiten",{projects:Ne.value}),icon:"mosy:folder-open",slot:"projektzeiten"},{value:"tags",label:r("settings.tabs.tags"),icon:"mosy:tags",slot:"tags"},{value:"ai",label:r("settings.tabs.ai"),icon:"mosy:rocket-launch",slot:"ai"},{value:"notifications",label:r("settings.tabs.notifications"),icon:"mosy:bell",slot:"notifications"},{value:"texte",label:r("settings.tabs.texts"),icon:"mosy:pen",slot:"texte"}]),_=x(()=>c.value.find(l=>l.value===Ae.value)),_e=x(()=>{const l=Ae.value;return[[{label:r("settings.tabs.account"),icon:"mosy:user",isActive:l==="account",class:l==="account"?"font-semibold!":"",onSelect(){Ae.value="account"}},{label:r("settings.tabs.organisation"),icon:"mosy:building",isActive:l==="organisation",class:l==="organisation"?"font-semibold!":"",onSelect(){Ae.value="organisation"}},{label:r("settings.tabs.users"),icon:"mosy:users",isActive:l==="member",class:l==="member"?"font-semibold!":"",badge:be.value>0?be.value:void 0,onSelect(){Ae.value="member"}},{label:r("settings.tabs.worktimes"),icon:"mosy:user-clock",isActive:l==="worktimes",class:l==="worktimes"?"font-semibold!":"",onSelect(){Ae.value="worktimes"}},{label:r("settings.tabs.projektzeiten",{projects:Ne.value}),icon:"mosy:folder-open",isActive:l==="projektzeiten",class:l==="projektzeiten"?"font-semibold!":"",onSelect(){Ae.value="projektzeiten"}},{label:r("settings.tabs.tags"),icon:"mosy:tags",isActive:l==="tags",class:l==="tags"?"font-semibold!":"",onSelect(){Ae.value="tags"}},{label:r("settings.tabs.ai"),icon:"mosy:rocket-launch",isActive:l==="ai",class:l==="ai"?"font-semibold!":"",onSelect(){Ae.value="ai"}},{label:r("settings.tabs.notifications"),icon:"mosy:bell",isActive:l==="notifications",class:l==="notifications"?"font-semibold!":"",onSelect(){Ae.value="notifications"}},{label:r("settings.tabs.texts"),icon:"mosy:pen",isActive:l==="texte",class:l==="texte"?"font-semibold!":"",onSelect(){Ae.value="texte"}}]]});return is(()=>{H(),zt(),ne()}),Qa(Vo(T.name,!1)),(l,y)=>{const de=ks,pe=Xt,xe=ts,Dt=ba,ds=Hs,Nt=ps,Yt=$s,At=Ts,Je=ws,vs=ao,ys=oa,as=Ws,bs=oo,hs=lo,Vs=Ql,Ms=Wd,js=Km,ls=ep,p=c_,Be=q_,Ys=Va,zs=ms,Ns=la;return o(),i("div",W_,[t("div",G_,[t("h1",Y_,s(l.$t("settings.title")),1),t("p",X_,s(l.$t("settings.subtitle")),1),t("div",J_,[a(de,{color:"secondary",variant:"subtle",size:"lg",class:"px-3! text-[13px]! rounded-4xl!"},{default:n(()=>
1[g("v"+s(e(M)),1)]),_:1})])]),t("div",Z_,[a(Dt,{open:e(vt),"onUpdate:open":y[0]||(y[0]=N=>ye(vt)?vt.value=N:null),items:e(_e),size:"lg",class:"w-full"},{"item-trailing":n(({item:N})=>[t("div",eg,[N.badge?(o(),E(de,{key:0,class:"mo-tab-invite-badge"},{default:n(()=>[g(s(N.badge),1)]),_:2},1024)):h("",!0),N.isActive?(o(),E(xe,{key:1,name:"mosy:circle-check",class:"w-4 h-4 text-secondary-500 shrink-0"})):h("",!0)])]),default:n(()=>[a(pe,{color:"secondary",variant:"subtle",size:"sm","leading-icon":e(_)?.icon,"trailing-icon":"i-lucide-chevron-down",class:"px-4! py-2! gap-1.5! w-auto! rounded-[30px]! mb-0!"},{default:n(()=>[t("span",Q_,s(e(_)?.label),1),e(be)>0?(o(),E(de,{key:0,class:"mo-tab-invite-badge"},{default:n(()=>[g(s(e(be)),1)]),_:1})):h("",!0)]),_:1},8,["leading-icon"])]),_:1},8,["open","items"])]),a(Ys,{modelValue:e(Ae),"onUpdate:modelValue":y[20]||(y[20]=N=>ye(Ae)?Ae.value=N:null),items:e(c),color:"secondary",class:"w-full mo-tabs mo-settings-tabs mo-dashboard-panel-content mo-settings-tabs-in-settings"},{account:n(()=>[t("div",tg,[a(Je,{class:"no-hover m-0"},{header:n(()=>[t("span",sg,s(l.$t("settings.profile.title")),1)]),default:n(()=>[t("div",ag,[t("div",og,[t("div",ng,[a(ds,{src:e(L)||void 0,text:e(L)?void 0:e(J),class:"avatar avatar-large z-0"},null,8,["src","text"]),e(Te)?(o(),i("div",lg,[a(xe,{name:"i-lucide-loader-circle",class:"animate-spin text-white w-5 h-5"})])):h("",!0)]),t("div",ig,[t("p",rg,s(l.$t("settings.profile.avatar_label")),1),t("div",cg,[t("input",{ref_key:"fileInput",ref:Se,type:"file",accept:"image/jpeg,image/png,image/webp",class:"hidden",onChange:Fe},null,544),a(pe,{size:"sm",variant:"subtle",loading:e(Te),icon:"mosy:arrow-up-from-bracket",onClick:y[1]||(y[1]=N=>e(Se).click())},{default:n(()=>[g(s(e(L)?l.$t("settings.profile.avatar_change"):l.$t("settings.profile.avatar_upload")),1)]),_:1},8,["loading"]),e(L)?(o(),E(pe,{key:0,size:"sm",color:"error",variant:"subtle",loading:e(Te),icon:"mosy:trash",onClick:ut},{default:n(()=>[g(s(l.$t("settings.profile.avatar_remove")),1)]),_:1},8,["loading"])):h("",!0)]),t("p",dg,s(l.$t("settings.profile.avatar_hint")),1)])]),y[33]||(y[33]=t("hr",null,null,-1)),t("div",ug,[a(Yt,{label:l.$t("settings.profile.name_label"),class:"flex-1"},{default:n(()=>[a(Nt,{modelValue:e(W),"onUpdate:modelValue":y[2]||(y[2]=N=>ye(W)?W.value=N:null),maxlength:e(q),placeholder:l.$t("settings.profile.name_placeholder"),onKeydown:et(Kt,["enter"])},null,8,["modelValue","maxlength","placeholder"])]),_:1},8,["label"]),a(pe,{loading:e(Pe),onClick:Kt},{default:n(()=>[g(s(l.$t("common.save")),1)]),_:1},8,["loading"])]),t("div",mg,[a(Yt,{label:l.$t("settings.language.label")},{default:n(()=>[a(At,{"model-value":e(v),items:e(gs),"value-key":"value",class:ge(["w-full",{"pl-9!":e(It)}]),loading:e(It),"onUpdate:modelValue":Zt},{empty:n(()=>[t("span",pg,s(l.$t("common.no_results")),1)]),_:1},8,["model-value","items","class","loading"])]),_:1},8,["label"])])])]),_:1}),a(Je,{class:"no-hover m-0"},{header:n(()=>[t("span",_g,s(l.$t("settings.account.title")),1)]),default:n(()=>[t("div",gg,[t("div",fg,[t("div",vg,[a(Yt,{label:l.$t("settings.account.email_label"),class:"flex-1"},{default:n(()=>[a(Nt,{modelValue:e(Ct),"onUpdate:modelValue":y[3]||(y[3]=N=>ye(Ct)?Ct.value=N:null),type:"email",placeholder:l.$t("settings.account.email_placeholder"),onKeydown:et(Ot,["enter"])},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),a(pe,{loading:e(nt),onClick:Ot},{default:n(()=>[g(s(l.$t("common.save")),1)]),_:1},8,["loading"])]),e(fe)?(o(),i("p",yg,[a(xe,{name:"mosy:circle-exclamation",class:"w-3.5 h-3.5 shrink-0"}),g(" "+s(e(fe)),1)])):h("",!0),t("p",bg,s(l.$t("settings.account.email_help")),1)]),y[34]||(y[34]=t("hr",null,null,-1)),t("div",hg,[t("p",xg,s(l.$t("settings.account.password_title")),1),a(Yt,{class:"mo-label-full"},{label:n(()=>[t("p",kg,[t("span",$g,s(l.$t("settings.account.new_password_label")),1),a(vs,{password:e(ze),onValid:y[4]||(y[4]=N=>ss.value=N)},null,8,["password"])])]),default:n(()=>[a(Nt,{modelValue:e(ze),"onUpdate:modelValue":y[6]||(y[6]=N=>ye(ze)?ze.value=N:null),type:e(St)?"text":"password",placeholder:l.$t("settings.account.password_hint"),class:"mo-pw-input"},{trailing:n(()=>[t("button",{type:"button",tabindex:"-1",class:"flex items-center px-1 text-secondary-500 hover:text-secondary-600",onClick:y[5]||(y[5]=N=>St.value=!e(St))},[a(xe,{name:e(St)?"mosy:eye-closed":"mosy:eye",class:"w-5 h-5"},null,8,["name"])])]),_:1},8,["modelValue","type","placeholder"])]),_:1}),a(Yt,{label:l.$t("settings.account.confirm_password_label")},{default:n(()=>[a(Nt,{modelValue:e(Xe),"onUpdate:modelValue":y[8]||(y[8]=N=>ye(Xe)?Xe.value=N:null),type:e(Vt)?"text":"password",placeholder:l.$t("settings.account.confirm_password_placeholder"),onKeydown:et(Qt,["enter"]),class:"mo-pw-input"},{trailing:n(()=>[t("button",{type:"button",tabindex:"-1",class:"flex items-center px-1 text-secondary-500 hover:text-secondary-600",onClick:y[7]||(y[7]=N=>Vt.value=!e(Vt))},[a(xe,{name:e(Vt)?"mosy:eye-closed":"mosy:eye",class:"w-5 h-5"},null,8,["name"])])]),_:1},8,["modelValue","type","placeholder"])]),_:1},8,["label"]),e(qt)?(o(),i("p",wg,[a(xe,{name:"mosy:circle-exclamation",class:"w-3.5 h-3.5"}),g(" "+s(e(qt)),1)])):h("",!0),a(pe,{loading:e(Ht),onClick:Qt},{default:n(()=>[g(s(l.$t("settings.account.change_password")),1)]),_:1},8,["loading"])])])]),_:1}),a(Je,{class:"ring-1 ring-red-200 no-hover m-0 col-span-2"},{header:n(()=>[t("span",Cg,[a(xe,{name:"mosy:triangle-exclamation",class:"w-4 h-4 -translate-y-0.5"}),g(" "+s(l.$t("settings.danger.title")),1)])]),default:n(()=>[t("div",Ug,[t("p",{class:"text-sm text-secondary-600 max-w-[540px]",innerHTML:e(Ie)},null,8,Sg),a(pe,{color:"error",variant:"subtle",icon:"mosy:trash",onClick:yt},{default:n(()=>
1[g(s(l.$t("settings.danger.delete_button")),1)]),_:1})])]),_:1})])]),tags:n(()=>[t("div",Vg,[a(Je,{class:"no-hover m-0"},{header:n(()=>[t("span",Mg,s(l.$t("settings.tags.title")),1)]),default:n(()=>[t("div",jg,[e(Pt)?(o(),i("div",Ag,[a(xe,{name:"i-lucide-loader-2",class:"animate-spin text-muted"})])):(o(),i(F,{key:1},[a(aa,{name:"fade"},{default:n(()=>[e(ct)?(o(),i("div",Tg,[t("span",Pg,s(l.$t("settings.tags.selected",{count:e(Me).length})),1),e(tt)?(o(),i(F,{key:1},[t("span",zg,s(l.$t("settings.tags.delete_confirm")),1),a(pe,{size:"xs",color:"error",variant:"soft",icon:"i-lucide-check",onClick:Ye}),a(pe,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:Re})],64)):(o(),i(F,{key:0},[a(pe,{size:"xs",color:"error",variant:"soft",icon:"mosy:trash",onClick:y[9]||(y[9]=N=>tt.value=!0)},{default:n(()=>[g(s(l.$t("common.delete")),1)]),_:1}),a(pe,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:Re})],64))])):h("",!0)]),_:1}),e(te).length?(o(),i("table",Eg,[t("thead",null,[t("tr",Ig,[t("th",Og,[a(ys,{"model-value":e(Ge),indeterminate:e(ct)&&!e(Ge),size:"md",color:"secondary",class:"mo-checkbox","onUpdate:modelValue":dt},null,8,["model-value","indeterminate"])]),t("th",Lg,s(l.$t("settings.tags.name_column")),1),y[35]||(y[35]=t("th",{class:"w-24 pb-3 max-[479px]:w-14"},null,-1))])]),t("tbody",null,[(o(!0),i(F,null,De(e(te),N=>(o(),i("tr",{key:N.id,class:ge(["group border-b border-(--ui-border) last:border-0",[{"bg-(--ui-bg-elevated)/40":at(N.id)},e(ct)?"cursor-pointer":""]]),onClick:He=>e(ct)&&ft(N.id)},[t("td",{class:"py-2.5 w-8 align-middle",onClick:y[10]||(y[10]=Tt(()=>{},["stop"]))},[a(ys,{"model-value":at(N.id),size:"md",color:"secondary",class:"mo-checkbox","onUpdate:modelValue":He=>ft(N.id)},null,8,["model-value","onUpdate:modelValue"])]),t("td",Ng,[e(_t)===N.id?(o(),i("div",{key:0,class:"flex items-center gap-2",onClick:y[15]||(y[15]=Tt(()=>{},["stop"]))},[a(bs,{open:e(Ke),"onUpdate:open":y[12]||(y[12]=He=>ye(Ke)?Ke.value=He:null),content:{side:"bottom",align:"start"}},{content:n(()=>[t("div",Fg,[a(as,{modelValue:e(We),"onUpdate:modelValue":y[11]||(y[11]=He=>ye(We)?We.value=He:null)},null,8,["modelValue"])])]),default:n(()=>[t("button",{type:"button",class:"mo-no-custom-btn w-7 h-7 rounded-full shrink-0 border border-(--ui-border) cursor-pointer",style:us({backgroundColor:e(We)||"var(--color-marble-secondary-100)"}),"aria-label":l.$t("settings.tags.color_label"),title:l.$t("settings.tags.color_label"),onClick:Oe},null,12,Rg)]),_:1},8,["open"]),a(Nt,{id:`tag-edit-${N.id}`,modelValue:e(gt),"onUpdate:modelValue":y[13]||(y[13]=He=>ye(gt)?gt.value=He:null),size:"sm",class:"flex-1 min-w-0",onKeyup:[et(He=>ot(N.id),["enter"]),y[14]||(y[14]=et(He=>_t.value=null,["escape"]))]},null,8,["id","modelValue","onKeyup"])])):(o(),i("span",{key:1,class:"font-semibold text-secondary-600 text-[15px] cursor-pointer break-all-custom",onDblclick:He=>he(N)},[a(hs,{tag:N},null,8,["tag"])],40,Bg))]),t("td",{class:ge(["py-2 align-middle text-right",{"pointer-events-none opacity-0":e(ct)}])},[e(rt)===N.id?(o(),i("div",Kg,[t("span",Hg,s(l.$t("settings.tags.delete_confirm")),1),a(pe,{size:"xs",color:"error",variant:"soft",icon:"i-lucide-check",onClick:He=>Q(N.id)},null,8,["onClick"]),a(pe,{size:"xs",color:"secondary",variant:"subtle",icon:"i-lucide-x",onClick:y[16]||(y[16]=He=>rt.value=null)})])):e(_t)===N.id?(o(),E(pe,{key:1,size:"xs",color:"success",variant:"subtle",icon:"i-lucide-check",onClick:He=>ot(N.id)},null,8,["onClick"])):(o(),i("div",qg,[a(pe,{size:"xs",color:"secondary",variant:"subtle",icon:"mosy:pen",onClick:He=>he(N)},null,8,["onClick"]),a(pe,{size:"xs",color:"error",variant:"subtle",icon:"mosy:trash",onClick:He=>rt.value=N.id},null,8,["onClick"])]))],2)],10,Dg))),128))])])):(o(),i("p",Wg,s(l.$t("settings.tags.empty")),1))],64)),t("form",{class:"flex gap-2 pt-1 items-center",onSubmit:Tt($,["prevent"])},[a(bs,{open:e(wt),"onUpdate:open":y[18]||(y[18]=N=>ye(wt)?wt.value=N:null),content:{side:"top",align:"start"}},{content:n(()=>[t("div",Yg,[a(as,{modelValue:e(st),"onUpdate:modelValue":y[17]||(y[17]=N=>ye(st)?st.value=N:null)},null,8,["modelValue"])])]),default:n(()=>[t("button",{type:"button",class:"mo-no-custom-btn w-8 h-8 rounded-full shrink-0 border border-(--ui-border) cursor-pointer",style:us({backgroundColor:e(st)}),"aria-label":l.$t("settings.tags.color_label"),title:l.$t("settings.tags.color_label")},null,12,Gg)]),_:1},8,["open"]),a(Nt,{modelValue:e(ve),"onUpdate:modelValue":y[19]||(y[19]=N=>ye(ve)?ve.value=N:null),placeholder:l.$t("settings.tags.placeholder"),size:"sm",class:"flex-1 w-full max-w-full!",onKeydown:et(Tt($,["prevent"]),["enter"])},null,8,["modelValue","placeholder","onKeydown"]),a(pe,{type:"submit",size:"sm",icon:e($e)&&e(te).length>=e(it).tags?"mosy:lock":"mosy:circle-plus",class:"mo-button mo-button-small",loading:e(xt),disabled:e(xt)||!e(ve).trim()},{default:n(()=>[g(s(l.$t("settings.tags.add")),1)]),_:1},8,["icon","loading","disabled"])],32)])]),_:1})])]),organisation:n(()=>[a(Vs)]),member:n(()=>[a(Ms)]),worktimes:n(()=>[a(js)]),projektzeiten:n(()=>[a(ls)]),ai:n(()=>[t("div",Xg,[a(p)])]),notifications:n(()=>[a(Be)]),texte:n(()=>[t("div",Jg,[a(Je,{class:"no-hover"},{header:n(()=>[t("div",Zg,[t("div",null,[t("p",Qg,s(l.$t("settings.texts.title")),1),t("p",ef,s(l.$t("settings.texts.subtitle")),1)]),e(Le)?(o(),E(pe,{key:0,size:"xs",color:"secondary",variant:"subtle",class:"shrink-0",icon:"i-lucide-rotate-ccw",loading:e(se),onClick:fs},{default:n(()=>[g(s(l.$t("settings.texts.reset_all")),1)]),_:1},8,["loading"])):h("",!0)])]),default:n(()=>[t("ul",tf,[(o(!0),i(F,null,De(e(Lt),N=>(o(),i("li",{key:N.key,class:"flex items-center gap-4 py-3 first:pt-0 last:pb-0 justify-between"},[t("div",sf,[t("span",af,s(N.name),1),t("div",of,[t("span",null,[t("span",nf,s(l.$t("settings.texts.current_singular")),1),t("span",{class:ge(N.singular?"text-secondary-700 font-medium":"italic text-[12px] text-slate-400")},s(N.singular||l.$t("settings.texts.default_value")),3)]),t("span",null,[t("span",lf,s(l.$t("settings.texts.current_plural")),1),t("span",{class:ge(N.plural?"text-secondary-700 font-medium":"italic text-[12px] text-slate-400")},s(N.plural||l.$t("settings.texts.default_value")),3)])])]),a(pe,{size:"xs",color:"secondary",variant:"subtle",icon:e($e)?"mosy:lock":"mosy:pen",onClick:He=>Us(N.key)},null,8,["icon","onClick"])]))),128))])]),_:1})])]),_:1},8,["modelValue","items"]),a(zs,{open:e(Ve),"onUpdate:open":y[24]||(y[24]=N=>ye(Ve)?Ve.value=N:null),title:l.$t("settings.texts.edit_title",{label:e(Lt).find(N=>N.key===e(bt))?.name??""})},{body:n(()=>[t("div",rf,[a(Yt,{label:l.$t("settings.texts.singular")},{hint:n(()=>[t("span",{class:ge(e(kt).length>=Fs?"text-rose-500":"text-secondary-500")},s(l.$t("settings.texts.char_limit")),3)]),default:n(()=>[a(Nt,{modelValue:e(kt),"onUpdate:modelValue":y[21]||(y[21]=N=>ye(kt)?kt.value=N:null),maxlength:Fs,placeholder:l.$t("settings.texts.singular_placeholder"),class:"w-full",onKeydown:et(es,["enter"])},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),a(Yt,{label:l.$t("settings.texts.plural")},{hint:n(()=>[t("span",{class:ge(e($t).length>=Fs?"text-rose-500":"text-secondary-500")},s(l.$t("settings.texts.char_limit")),3)]),default:n(()=>[a(Nt,{modelValue:e($t),"onUpdate:modelValue":y[22]||(y[22]=N=>ye($t)?$t.value=N:null),maxlength:Fs,placeholder:l.$t("settings.texts.plural_placeholder"),class:"w-full",onKeydown:et(es,["enter"])},null,8,["modelValue","placeholder"])]),_:1},8,["label"]),t("p",cf,[a(xe,{name:"mosy:circle-info",class:"w-3.5 h-3.5 mt-px shrink-0"}),g(" "+s(l.$t("settings.texts.default_hint")),1)])])]),footer:n(()=>[t("div",df,[a(pe,{variant:"subtle",onClick:y[23]||(y[23]=N=>Ve.value=!1)},{default:n(()=>[g(s(l.$t("common.cancel")),1)]),_:1}),a(pe,{color:"secondary",loading:e(Gt),onClick:es},{default:n(()=>[g(s(l.$t("common.save")),1)]),_:1},8,["loading"])])]),_:1},8,["open","title"]),a(zs,{open:e(lt),"onUpdate:open":y[30]||(y[30]=N=>ye(lt)?lt.value=N:null),close:!1,class:ge(e(u)===2?"mo-modal-final-danger":"")},{title:n(()=>[t("div",uf,[t("div",{class:ge(["flex shrink-0 items-center justify-center w-10 h-10 rounded-full",e(u)===2?"bg-red-700":"bg-red-100"])},[a(xe,{name:e(u)===1?"mosy:triangle-exclamation":(e(u)===2,"mosy:shield-exclamation"),class:ge(e(u)===2?"text-white w-5 h-5":"text-red-600 w-5 h-5")},null,8,["name","class"])],2),g(" "+s(e(u)===1?l.$t("settings.delete_modal.title"):e(u)===2?l.$t("settings.delete_modal.final_warning_title"):l.$t("settings.delete_modal.final_title")),1)])]),body:n(()=>[e(u)===1?(o(),i(F,{key:0},[t("p",mf,s(l.$t("settings.delete_modal.warning")),1),t("ul",pf,[t("li",_f,[a(xe,{name:"i-lucide-x",class:"text-rose-500 w-3.5 h-3.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.item_1")),1)]),t("li",gf,[a(xe,{name:"i-lucide-x",class:"text-rose-500 w-3.5 h-3.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.item_2",{projects:e(Ne),clients:e(qe)})),1)]),t("li",ff,[a(xe,{name:"i-lucide-x",class:"text-rose-500 w-3.5 h-3.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.item_tasks",{tasks:e(B)})),1)]),t("li",vf,[a(xe,{name:"i-lucide-x",class:"text-rose-500 w-3.5 h-3.5 shrink-0 mt-1"}),g(" "+s(l.$t("settings.delete_modal.item_intelligence")),1)]),t("li",yf,[a(xe,{name:"i-lucide-x",class:"text-rose-500 w-3.5 h-3.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.item_3")),1)])]),e(R)?(o(),i("div",bf,[a(xe,{name:"mosy:circle-info",class:"text-rose-100 w-4 h-4 mt-0.5 shrink-0"}),t("p",hf,s(e(U)?l.$t("settings.delete_modal.subscription_notice",{date:e(U)}):l.$t("settings.delete_modal.subscription_notice_nodate")),1)])):h("",!0)],64)):e(u)===2?(o(),i(F,{key:1},[t("p",xf,s(l.$t("settings.delete_modal.final_warning_intro")),1
1),t("ul",kf,[t("li",$f,[a(xe,{name:"mosy:circle-exclamation",class:"text-rose-500 w-4 h-4 mt-0.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.final_warning_item_1")),1)]),t("li",wf,[a(xe,{name:"mosy:circle-exclamation",class:"text-rose-500 w-4 h-4 mt-0.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.final_warning_item_2",{projects:e(Ne),clients:e(qe)})),1)]),t("li",Cf,[a(xe,{name:"mosy:circle-exclamation",class:"text-rose-500 w-4 h-4 mt-0.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.final_warning_item_tasks",{tasks:e(B)})),1)]),t("li",Uf,[a(xe,{name:"mosy:circle-exclamation",class:"text-rose-500 w-4 h-4 mt-0.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.final_warning_item_intelligence")),1)]),t("li",Sf,[a(xe,{name:"mosy:circle-exclamation",class:"text-rose-500 w-4 h-4 mt-0.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.final_warning_item_3")),1)]),e(R)?(o(),i("li",Vf,[a(xe,{name:"mosy:circle-exclamation",class:"text-rose-500 w-4 h-4 mt-0.5 shrink-0"}),g(" "+s(e(U)?l.$t("settings.delete_modal.final_warning_item_sub",{date:e(U)}):l.$t("settings.delete_modal.final_warning_item_sub_nodate")),1)])):h("",!0),t("li",Mf,[a(xe,{name:"mosy:triangle-exclamation",class:"text-rose-600 w-4 h-4 mt-0.5 shrink-0"}),g(" "+s(l.$t("settings.delete_modal.final_warning_irreversible")),1)])])],64)):(o(),i("div",jf,[t("p",Af,s(l.$t("settings.delete_modal.confirm_text")),1),t("div",Tf,s(e(X)?.email),1),a(Yt,null,{default:n(()=>[a(Nt,{modelValue:e(k),"onUpdate:modelValue":y[25]||(y[25]=N=>ye(k)?k.value=N:null),type:"email",placeholder:l.$t("settings.delete_modal.email_placeholder"),onKeydown:et(jt,["enter"])},null,8,["modelValue","placeholder"])]),_:1}),e(Ee)?(o(),i("p",Pf,[a(xe,{name:"mosy:circle-exclamation",class:"w-3.5 h-3.5"}),g(" "+s(e(Ee)),1)])):h("",!0)]))]),footer:n(()=>[t("div",zf,[e(u)===1?(o(),i(F,{key:0},[a(pe,{variant:"subtle",onClick:Mt},{default:n(()=>[g(s(l.$t("common.cancel")),1)]),_:1}),a(pe,{color:"error",icon:"mosy:circle-arrow-right",trailing:"",onClick:y[26]||(y[26]=N=>u.value=2)},{default:n(()=>[g(s(l.$t("common.next")),1)]),_:1})],64)):e(u)===2?(o(),i(F,{key:1},[a(pe,{variant:"subtle",icon:"i-lucide-arrow-left",onClick:y[27]||(y[27]=N=>u.value=1)},{default:n(()=>[g(s(l.$t("common.back")),1)]),_:1}),a(pe,{color:"error",icon:"mosy:circle-arrow-right",trailing:"",onClick:y[28]||(y[28]=N=>u.value=3)},{default:n(()=>[g(s(l.$t("common.next")),1)]),_:1})],64)):(o(),i(F,{key:2},[a(pe,{variant:"subtle",icon:"i-lucide-arrow-left",onClick:y[29]||(y[29]=N=>u.value=2)},{default:n(()=>[g(s(l.$t("common.back")),1)]),_:1}),a(pe,{color:"error",icon:"mosy:trash",loading:e(ce),onClick:jt},{default:n(()=>[g(s(l.$t("settings.delete_modal.confirm_button")),1)]),_:1},8,["loading"])],64))])]),_:1},8,["open","class"]),a(Ns,{open:e(pt),title:l.$t("upsell.limit_tags_title"),description:l.$t("upsell.limit_tags_desc"),onClose:y[31]||(y[31]=N=>pt.value=!1)},null,8,["open","title","description"]),a(Ns,{open:e(ht),title:l.$t("upsell.limit_labels_title"),description:l.$t("upsell.limit_labels_desc"),onClose:y[32]||(y[32]=N=>ht.value=!1)},null,8,["open","title","description"])])}}},Fv=qs(Ef,[["__scopeId","data-v-42de5a63"]]);export{Fv as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.