1import{c as ee,d as te,u as ae,A as se,s as c,e as d,g as o,i as a,t as r,j as e,F as D,r as F,w as n,B as re,o as l,l as f,h as p,m as oe,k as ne,_ as le,p as h}from"./PTvuXXwo.js";import{_ as T}from"./D6RUmLtS.js";import{_ as L}from"./6Gxm5Iug.js";import{_ as S}from"./CL_vgHDg.js";import{_ as g}from"./BBHkeEXL.js";import{_ as E}from"./CrEpan8o.js";import{a as ie,b as ce,c as de,d as pe,_ as ue}from"./CR2Noq7H.js";import{_ as me}from"./EBD6yS4S.js";import{u as _e,F as z}from"./CyDtaxXZ.js";import{S as fe}from"./CdHBshtZ.js";import{W as he}from"./B2WrIV7H.js";import{T as U}from"./C2h5PQgm.js";import{L as A}from"./Bkw8lbdZ.js";import{S as ve}from"./DiD90oo3.js";import{C as ge}from"./wZc5tCE8.js";import{T as xe}from"./DU5Alwct.js";import"./CauSU4Pt.js";import"./BlQIiajP.js";import"./DWxhdg_Q.js";import"./CviO_o_j.js";import"./BzBs1rMr.js";import"./CFJF9q0A.js";import"./Cm05zhqB.js";import"./Cw_3CJwU.js";const ke=ee("PencilIcon",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),Pe={class:"p-6 space-y-6"},ye={class:"text-2xl font-semibold text-neutral-900 dark:text-white"},je={class:"text-neutral-500 dark:text-neutral-400"},we={class:"border-b border-neutral-200 dark:border-white/10"},be=["aria-label"],Ce={class:"max-w-2xl space-y-6"},Ve={class:"section-header"},Ne={class:"flex items-center justify-between w-full"},$e={class:"flex items-center gap-2.5"},Be={class:"icon-box"},De={class:"text-base font-medium"},Fe={key:0,class:"flex items-start justify-between gap-4"},Te={class:"flex-1 min-w-0"},Le={class:"flex items-center gap-2"},Se={class:"font-medium text-neutral-900 dark:text-white truncate"},Ee={key:0,class:"text-sm text-neutral-500 dark:text-neutral-400 mt-0.5 line-clamp-2"},ze={class:"text-xs text-neutral-400 dark:text-neutral-500 mt-1"},Ue={class:"flex items-center gap-1 shrink-0"},Ae={key:1,class:"space-y-4"},Re={class:"space-y-3"},Ie={class:"space-y-1.5"},Ke={class:"space-y-1.5"},Me={key:0,class:"text-sm text-red-600 dark:text-red-400"},qe={class:"flex items-center gap-2"},We={key:0,class:"flex items-center gap-1 text-xs text-green-600 dark:text-green-400"},Ye={key:0,class:"p-4 flex items-center gap-2 text-sm text-neutral-500 dark:text-neutral-400"};const Ge={key:2,class:"p-4 text-sm text-neutral-500 dark:text-neutral-400"},He={key:0,class:"text-sm text-red-600 dark:text-red-400"},wt=te({__name:"projects",setup(Je){const{t}=ae(),{currentProject:N,projectsData:b,hasMultipleProjects:R,canCreateProject:Oe,switchProject:I,createProject:K,updateProject:M,deleteProject:q}=_e(),W=se(),Y=[{name:t("app.projectsPage.tabs.general"),href:"/app/settings",icon:fe},{name:t("app.projectsPage.tabs.projects"),href:"/app/settings/projects",icon:z},{name:t("app.projectsPage.tabs.webhooks"),href:"/app/settings/webhooks",icon:he}],G=c(!1),C=c({name:"",description:""}),$=c(!1),V=c(""),y=c(null),u=c({name:"",description:""}),x=c(!1),v=c(""),j=c(!1),m=c(null),k=c(!1),w=c("");async function Qe(){if(!C.value.name.trim()){V.value=t("app.projectsPage.errors.nameRequired");return}$.value=!0,V.value="";try{await K(C.value.name.trim(),C.value.description.trim()||void 0),C.value={name:"",description:""},G.value=!1}catch(i){V.value=i.data?.message||t("app.projectsPage.errors.createFailed")}finally{$.value=!1}}function H(i){y.value={id:i.id,name:i.name,description:i.description||""},u.value={name:i.name,description:i.description||""},v.value="",j.value=!1}function B(){y.value=null,u.value={name:"",description:""},v.value=""}async function J(){if(y.value){if(!u.value.name.trim()){v.value=t("app.projectsPage.errors.nameRequired");return}x.value=!0,v.value="",j.value=!1;try{await M(y.value.id,{name:u.value.name.trim(),description:u.value.description.trim()||void 0}),j.value=!0,setTimeout(()=>{j.value=!1,B()},1500)}catch(i){v.value=i.data?.message||t("app.projectsPage.errors.updateFailed")}finally{x.value=!1}}}function O(i){m.value=i,w.value=""}async function Q(){if(m.value){k.value=!0,w.value="";try{await q(m.value.id),m.value=null}catch(i){w.value=i.data?.message||t("app.projectsPage.errors.deleteFailed")}finally{k.value=!1}}}return(i,_)=>{const X=le,Z=re("i18n-t");return l(),d("div",Pe,[o("div",null,[o("h1",ye,r(e(t)("app.projectsPage.heading")),1),o("p",je,r(e(t)("app.projectsPage.subheading")),1)]),o("div",we,[o("nav",{class:"flex gap-6","aria-label":e(t)("app.projectsPage.tabsAriaLabel")},[(l(),d(D,null,F(Y,s=>a(X,{key:s.name,to:s.href,class:ne(["flex items-center gap-2 py-2 text-sm font-medium border-b-2 -mb-px transition-colors",e(W).path===s.href?"border-primary text-primary":"border-transparent text-neutral-500 dark:text-neutral-400 hover:text-neutral-700 dark:hover:text-neutral-300 hover:border-neutral-300 dark:hover:border-neutral-600"])},{default:n(()=>[(l(),f(oe(s.icon),{class:"h-4 w-4"})),p(" "+r(s.name),1)]),_:2},1032,["to","class"])),64))],8,be)]),o("div",Ce,[a(e(T),{variant:"container",class:"grid gap-2"},{default:n(()=>[o("div",Ve,[o("div",Ne,[o("div",$e,[o("span",Be,[a(e(z),{class:"h-3 w-3 text-neutral-400"})]),o("h3",De,r(e(t)("app.projectsPage.listTitle")),1)]),a(e(E),{variant:"secondary",class:"text-xs"},{default:n(()=>[p(r(e(b)?.projectsUsed)+"/"+r(e(b)?.projectsLimit),1)]),_:1}
1)])]),a(e(T),{class:"divide-y divide-neutral-100 dark:divide-white/5"},{default:n(()=>[(l(!0),d(D,null,F(e(b)?.projects,s=>(l(),d("div",{key:s.id,class:"p-4"},[e(y)?.id!==s.id?(l(),d("div",Fe,[o("div",Te,[o("div",Le,[o("p",Se,r(s.name),1),s.id===e(N)?.id?(l(),f(e(E),{key:0,variant:"default",class:"text-xs shrink-0"},{default:n(()=>[p(r(e(t)("app.projectsPage.activeBadge")),1)]),_:1})):h("",!0)]),s.description?(l(),d("p",Ee,r(s.description),1)):h("",!0),o("p",ze,r(e(t)("app.projectsPage.createdAt",{date:new Date(s.createdAt??"").toLocaleDateString()})),1)]),o("div",Ue,[s.id!==e(N)?.id?(l(),f(e(g),{key:0,size:"sm",variant:"ghost",class:"h-8 px-2 text-xs",onClick:P=>e(I)(s.id)},{default:n(()=>[p(r(e(t)("app.projectsPage.switch")),1)]),_:1},8,["onClick"])):h("",!0),a(e(g),{size:"sm",variant:"ghost",class:"h-8 w-8 p-0",onClick:P=>H(s)},{default:n(()=>[a(e(ke),{class:"h-3.5 w-3.5"})]),_:1},8,["onClick"]),(e(b)?.projectsUsed??0)>1?(l(),f(e(g),{key:1,size:"sm",variant:"ghost",class:"h-8 w-8 p-0 text-red-600 hover:text-red-700 hover:bg-red-50 dark:text-red-400 dark:hover:text-red-300 dark:hover:bg-red-950/30",onClick:P=>O(s)},{default:n(()=>[a(e(U),{class:"h-3.5 w-3.5"})]),_:1},8,["onClick"])):h("",!0)])])):(l(),d("div",Ae,[o("div",Re,[o("div",Ie,[a(e(S),{for:"edit-name",class:"text-xs"},{default:n(()=>[p(r(e(t)("app.projectsPage.form.nameLabel")),1)]),_:1}),a(e(L),{id:"edit-name",modelValue:e(u).name,"onUpdate:modelValue":_[0]||(_[0]=P=>e(u).name=P),placeholder:e(t)("app.projectsPage.form.namePlaceholder"),class:"h-9"},null,8,["modelValue","placeholder"])]),o("div",Ke,[a(e(S),{for:"edit-description",class:"text-xs"},{default:n(()=>[p(r(e(t)("app.projectsPage.form.descriptionLabel")),1)]),_:1}),a(e(L),{id:"edit-description",modelValue:e(u).description,"onUpdate:modelValue":_[1]||(_[1]=P=>e(u).description=P),placeholder:e(t)("app.projectsPage.form.descriptionPlaceholder"),class:"h-9"},null,8,["modelValue","placeholder"])])]),e(v)?(l(),d("div",Me,r(e(v)),1)):h("",!0),o("div",qe,[a(e(g),{size:"sm",onClick:J,disabled:e(x)},{default:n(()=>[e(x)?(l(),f(e(A),{key:0,class:"h-3.5 w-3.5 mr-1.5 animate-spin"})):(l(),f(e(ve),{key:1,class:"h-3.5 w-3.5 mr-1.5"})),p(" "+r(e(x)?e(t)("app.projectsPage.saving"):e(t)("app.projectsPage.save")),1)]),_:1},8,["disabled"]),a(e(g),{size:"sm",variant:"ghost",onClick:B,disabled:e(x)},{default:n(()=>[p(r(e(t)("app.projectsPage.cancel")),1)]),_:1},8,["disabled"]),e(j)?(l(),d("span",We,[a(e(ge),{class:"h-3.5 w-3.5"}),p(" "+r(e(t)("app.projectsPage.saved")),1)])):h("",!0)])]))]))),128)),e(R)?(l(),d("div",Ye,[a(e(xe),{class:"h-4 w-4 text-amber-500 shrink-0"}),o("span",null,r(e(t)("app.projectsPage.creationDisabled")),1)])):h("",!0),(l(),d("div",Ge,r(e(t)("app.projectsPage.upgradeForMultiple")),1))]),_:1})]),_:1})]),a(e(ue),{open:!!e(m),"onUpdate:open":_[7]||(_[7]=s=>!s&&(m.value=null))},{default:n(()=>[a(e(ie),null,{default:n(()=>[a(e(ce),null,{default:n(()=>[a(e(de),null,{default:n(()=>[p(r(e(t)("app.projectsPage.deleteDialog.title")),1)]),_:1}),a(e(pe),null,{default:n(()=>[a(Z,{keypath:"app.projectsPage.deleteDialog.description",tag:"span",scope:"global"},{name:n(()=>[o("strong",null,r(e(m)?.name),1)]),_:1})]),_:1})]),_:1}),e(w)?(l(),d("div",He,r(e(w)),1)):h("",!0),a(e(me),null,{default:n(()=>[a(e(g),{variant:"outline",onClick:_[6]||(_[6]=s=>m.value=null),disabled:e(k)},{default:n(()=>[p(r(e(t)("app.projectsPage.cancel")),1)]),_:1},8,["disabled"]),a(e(g),{variant:"destructive",onClick:Q,disabled:e(k)},{default:n(()=>[e(k)?(l(),f(e(A),{key:0,class:"h-4 w-4 mr-2 animate-spin"})):(l(),f(e(U),{key:1,class:"h-4 w-4 mr-2"})),p(" "+r(e(k)?e(t)("app.projectsPage.deleting"):e(t)("app.projectsPage.deleteProject")),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["open"])])}}});export{wt 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.