PageSourceSearch

https://www.etecplus.ai/_next/static/chunks/app/admin/users/page-55cc18d434b800e8.js

js etecplus.ai collected 2026-10-05 14:26:10 UTC 19,850 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8733],{3262:(e,a,t)=>{"use strict";t.d(a,{UsersList:()=>U});var r=t(95155),n=t(12115),s=t(98500),i=t.n(s),l=t(73321),o=t(61878),d=t(44478),c=t(60285),u=t(58120),m=t(35756),x=t(10184),p=t(13175),f=t(41641),g=t(21362),h=t(66609),b=t(55554),v=t(49068),w=t(61732),N=t(13909),j=t(75230),y=t(45160),k=t(89239),S=t(72264),$=t(60529),A=t(27529),C=t(40980);let M=[{value:"all",label:"Everyone"},{value:"recent",label:"Signed in this week"},{value:"dormant",label:"Away 30+ days"},{value:"never",label:"Never signed in"},{value:"disabled",label:"Disabled"},{value:"super",label:"Super admins"}];function U(){let e=(0,l.useRouter)(),a=(0,l.usePathname)(),t=(0,l.useSearchParams)(),s=t.get("q")??"",U=t.get("filter")||"all",D=Number(t.get("page")??1)||1,[z,F]=(0,n.useState)(s),[E,R]=(0,n.useState)(null),[L,T]=(0,n.useState)(null);function P(r){let n=new URLSearchParams(t.toString());for(let[e,a]of Object.entries(r))null===a||""===a||"filter"===e&&"all"===a||"page"===e&&1===a?n.delete(e):n.set(e,String(a));e.replace(`${a}${n.size?`?${n}`:""}`,{scroll:!1})}(0,n.useEffect)(()=>{if(z===s)return;let e=setTimeout(()=>P({q:z.trim()||null,page:1}),250);return()=>clearTimeout(e)},[z]);let _=(0,n.useCallback)(async()=>{let e=new URLSearchParams({filter:U,page:String(D)});s&&e.set("q",s);try{R(await (0,A.nr)(`/api/admin/users?${e}`))}catch(e){h.oR.error(`Couldn't load people: ${e.message}`)}},[s,U,D]);async function O(e,a){await (0,A.nr)(`/api/admin/users/${e.id}`,{method:"PATCH",body:JSON.stringify({disabled:a})}),h.oR.success(a?`${e.email} can no longer sign in`:`${e.email} can sign in again`),await _()}(0,n.useEffect)(()=>{_()},[_]);let B=E?Math.max(1,Math.ceil(E.total/E.pageSize)):1;return(0,r.jsxs)("div",{children:[(0,r.jsx)(b.wc,{title:"People",description:E?`${(0,N.Wh)(E.counts.all)} accounts${s?" matching":""}`:"Everyone with an account"}),(0,r.jsxs)("div",{className:"relative w-full max-w-sm",children:[(0,r.jsx)(o.A,{className:"absolute left-3 top-2.5 size-4 text-muted-foreground","aria-hidden":!0}),(0,r.jsx)($.p,{className:"pl-9",value:z,onChange:e=>F(e.target.value),placeholder:"Email, name or workspace","aria-label":"Search people"})]}),(0,r.jsx)("div",{className:"mt-3 flex flex-wrap gap-1.5",role:"tablist","aria-label":"Filter people",children:M.map(e=>{let a=e.value===U;return(0,r.jsxs)("button",{type:"button",role:"tab","aria-selected":a,onClick:()=>P({filter:e.value,page:1}),className:(0,C.cn)("inline-flex items-center gap-1.5 rounded-full border px-3 py-1 text-xs font-medium transition-colors",a?"border-foreground bg-foreground text-background":"bg-card text-muted-foreground hover:text-foreground"),children:[e.label,E&&(0,r.jsx)("span",{className:"tabular-nums opacity-60",children:E.counts[e.value]})]},e.value)})}),(0,r.jsx)("div",{className:"mt-4 overflow-hidden rounded-xl border bg-card",children:E?E.users.length?(0,r.jsx)("ul",{className:"divide-y",children:E.users.map(e=>(0,r.jsxs)("li",{className:"flex flex-wrap items-center gap-x-4 gap-y-2 px-4 py-3 text-sm",children:[(0,r.jsx)("span",{className:"grid size-8 shrink-0 place-items-center rounded-full bg-secondary text-xs font-medium uppercase",children:e.email.slice(0,1)}),(0,r.jsxs)("span",{className:"min-w-0 flex-1 basis-56",children:[(0,r.jsxs)("span",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"truncate font-medium",children:e.name||e.email}),e.superAdmin&&(0,r.jsxs)(y.E,{variant:"brand",className:"gap-1",children:[(0,r.jsx)(d.A,{className:"size-3","aria-hidden":!0}),"Super admin"]}),e.disabled&&(0,r.jsx)(y.E,{variant:"destructive",children:"Disabled"})]}),(0,r.jsxs)("span",{className:"block truncate text-xs text-muted-foreground",children:[e.name?`${e.email} \xb7 `:"","joined ",(0,w.BM)(e.createdAt)," \xb7 ",e.lastSignInAt?`last in ${(0,w.BM)(e.lastSignInAt)}`:"never signed in"]})]}),(0,r.jsxs)("span",{className:"flex min-w-0 flex-1 basis-48 flex-wrap gap-1.5",children:[e.workspaces.slice(0,3).map(e=>(0,r.jsxs)(i(),{href:`/admin/workspaces/${e.id}`,className:"max-w-44 truncate rounded-md border px-2 py-0.5 text-xs text-muted-foreground transition-colors hover:border-foreground
1/30 hover:text-foreground",title:`${e.name} \xb7 ${e.owner?"owner":e.role}`,children:[e.owner?"★ ":"",e.name]},e.id)),e.workspaces.length>3&&(0,r.jsxs)("span",{className:"px-1 text-xs text-muted-foreground",children:["+",e.workspaces.length-3]}),!e.workspaces.length&&(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:"No workspace"})]}),(0,r.jsxs)(S.rI,{children:[(0,r.jsx)(S.ty,{asChild:!0,children:(0,r.jsx)(k.$,{size:"icon",variant:"ghost",className:"size-8","aria-label":`Actions for ${e.email}`,children:(0,r.jsx)(c.A,{})})}),(0,r.jsxs)(S.SQ,{align:"end",children:[e.workspaces[0]&&(0,r.jsxs)(S._2,{onClick:()=>void(0,v.M)(e.workspaces[0].id).catch(e=>h.oR.error(e.message)),children:[(0,r.jsx)(u.A,{}),"Open ",e.workspaces[0].name," as support"]}),(0,r.jsxs)(S._2,{onClick:()=>T({kind:"reset",user:e}),children:[(0,r.jsx)(m.A,{}),"Email a password reset"]}),(0,r.jsx)(S.mB,{}),e.disabled?(0,r.jsxs)(S._2,{onClick:()=>void O(e,!1).catch(e=>h.oR.error(e.message)),children:[(0,r.jsx)(x.A,{}),"Allow sign-in again"]}):(0,r.jsxs)(S._2,{className:"text-destructive focus:text-destructive",onClick:()=>T({kind:"disable",user:e}),children:[(0,r.jsx)(p.A,{}),"Disable sign-in"]})]})]})]},e.id))}):(0,r.jsx)("p",{className:"px-4 py-14 text-center text-sm text-muted-foreground",children:"Nobody matches this view."}):(0,r.jsx)("div",{className:"divide-y",children:Array.from({length:8}).map((e,a)=>(0,r.jsx)("div",{className:"px-4 py-3",children:(0,r.jsx)("div",{className:"h-9 animate-pulse rounded bg-muted"})},a))})}),E&&E.total>E.pageSize&&(0,r.jsxs)("div",{className:"mt-3 flex items-center justify-between text-sm text-muted-foreground",children:[(0,r.jsxs)("span",{className:"tabular-nums",children:[(E.page-1)*E.pageSize+1,"–",Math.min(E.total,E.page*E.pageSize)," of ",E.total]}),(0,r.jsxs)("div",{className:"flex gap-1",children:[(0,r.jsx)(k.$,{variant:"outline",size:"icon",className:"size-8",disabled:E.page<=1,onClick:()=>P({page:E.page-1}),"aria-label":"Previous page",children:(0,r.jsx)(f.A,{className:"size-4"})}),(0,r.jsx)(k.$,{variant:"outline",size:"icon",className:"size-8",disabled:E.page>=B,onClick:()=>P({page:E.page+1}),"aria-label":"Next page",children:(0,r.jsx)(g.A,{className:"size-4"})})]})]}),(0,r.jsx)(j.T,{open:!!L,onOpenChange:e=>!e&&T(null),title:L?.kind==="disable"?`Disable sign-in for ${L.user.email}?`:`Email ${L?.user.email} a password reset?`,description:L?.kind==="disable"?"They can't sign in or renew a session, so a tab they already have open stops working within the hour. Their workspaces, agents and data are untouched, and you can allow sign-in again at any time.":"They get the standard reset-password email. You never see or set the password.",confirmText:L?.kind==="disable"?"Disable sign-in":"Send email",destructive:L?.kind==="disable",onConfirm:async()=>{L&&("disable"===L.kind?await O(L.user,!0):(await (0,A.nr)(`/api/admin/users/${L.user.id}/reset-password`,{method:"POST"}),h.oR.success(`Reset email sent to ${L.user.email}`)),T(null))}})]})}},13364:(e,a,t)=>{"use strict";function r(e,a){return Number.isFinite(e)&&a>0?Math.round(e*a):0}function n(e){return Number.isFinite(e)?Math.round(e).toLocaleString("en-US"):"0"}function s(e){if(!Number.isFinite(e))return"0";let a=Math.abs(e);return a>=1e9?`${(e/1e9).toLocaleString("en-AU",{maximumFractionDigits:1})}B`:a>=1e6?`${(e/1e6).toLocaleString("en-AU",{maximumFractionDigits:1})}M`:a>=1e3?`${Math.floor(e/1e3).toLocaleString("en-AU")}K`:Math.round(e).toLocaleString("en-AU")}function i(e,a){return Number.isFinite(e)&&Number.isFinite(a)?Math.floor(e*(1e4-a)/1e4):0}function l(e,a){return Number.isFinite(e)&&a>0?1e4*Math.floor(Math.round(e*a)/1e4):0}function o(e,a){return Math.ceil(Math.round(e)/a-1e-6)}function d(e){return`A$${(e/100).toLocaleString("en-AU",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function c(e){switch(e){case"running":return"success";case"provisioning":case"starting":case"restarting":case"updating":return"warning";case"failed":case"error":return"destructive";default:return"muted"}}function u(e){return["provisioning","starting","restarting","updating","deleting"].includes(e||"")}t.d(a,{EH:()=>o,Ql:()=>n,X7:()=>l,Xc:()=>u,Zw:()=>d,di:()=>i,hJ:()=>x,iS:()=>c,o2:()=>r,rh:()=>s});let m={amex:"American Express",mastercard:"Mastercard",visa:"Visa",unionpay:"UnionPay",jcb:"JCB",diners:"Diners Club",discover:"Discover"};function x(e){return`${m[e.brand]??e.brand} \xb7\xb7\xb7\xb7${e.last4}`}},13909:(e,a,t)=>{"use strict";t.d(a,{Bs:()=>l,Cc:()=>p,HC:()=>c,Wh:()=>d,aF:()=>o,at:()=>x,bz:()=>g,tE:()=>u,tV:()=>m,vV:()=>f});let r=new Intl.NumberFormat("en-US",{style:"currency",currency:"AUD",minimumFractionDigits:2,maximumFractionDigits:2}),n=new Intl.NumberFormat("en-US",{style:"currency",currency:"AUD",notation:"compact",maximumFractionDigits:1}),s=new Intl.NumberFormat("en-AU"),i=new Intl.NumberFormat("en-AU",{notation:"compact",maximumFractionDigits:1});function l(e){return r.format((e||0)/100)}function o(e){let a=(e||0)/100;return Math.abs(a)>=1e3?n.format(a):r.format(a)}function d(e){return s.format(Math.round(e||0))}function c(e){return Math.abs(e)>=1e4?i.format(e):s.format(Math.round(e||0))}function u(e){return new Date(`${e}T00:00:00Z`).toLocaleDateString("en-AU",{day:"numeric",month:"short",timeZone:"UTC"})}function m(e){return new Date(`${e}T00:00:00Z`).toLocaleDateString("en-AU",{weekday:"short",day:"numeric",month:"short",year:"numeric",timeZone:"UTC"})}function x(e,a=3){if(!(e>0))return[0,1];let t=e/a,r=10**Math.floor(Math.log10(t)),n=[1,2,2.5,5,10].map(e=>e*r).find(e=>e>=t)??t;return Array.from({length:a+1},(e,a)=>a*n)}function p(e,a){return Number.isFinite(a)&&0!==a?(e-a)/Math.abs(a)*100:null}function f(e){let a=Math.round(e||0),t=Math.abs(a),r=(e,a)=>
1e.toLocaleString("en-AU",{maximumFractionDigits:a});return t>=1e9?`${r(a/1e9,1)}B`:t>=1e6?`${r(a/1e6,t>=1e8?0:1)}M`:t>=1e3?`${r(a/1e3,0)}K`:r(a,0)}function g(e){return`${f(e)} credits`}},18900:(e,a,t)=>{Promise.resolve().then(t.bind(t,3262))},42763:(e,a,t)=>{"use strict";t.d(a,{Cf:()=>m,Es:()=>p,L3:()=>f,c7:()=>x,lG:()=>o,rr:()=>g,zM:()=>d});var r=t(95155),n=t(12115),s=t(43146),i=t(33210),l=t(40980);let o=s.bL,d=s.l9,c=s.ZL;s.bm;let u=n.forwardRef(({className:e,...a},t)=>(0,r.jsx)(s.hJ,{ref:t,className:(0,l.cn)("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a}));u.displayName=s.hJ.displayName;let m=n.forwardRef(({className:e,children:a,...t},n)=>(0,r.jsxs)(c,{children:[(0,r.jsx)(u,{}),(0,r.jsxs)(s.UC,{ref:n,className:(0,l.cn)("fixed left-1/2 top-1/2 z-50 grid min-w-0 max-h-[90vh] w-[calc(100%-2rem)] max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 overflow-y-auto rounded-lg border bg-background p-6 shadow-lg duration-200",e),...t,children:[a,(0,r.jsxs)(s.bm,{className:"absolute right-4 top-4 roun
1ded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring disabled:pointer-events-none",children:[(0,r.jsx)(i.A,{className:"h-4 w-4"}),(0,r.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));function x({className:e,...a}){return(0,r.jsx)("div",{className:(0,l.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...a})}function p({className:e,...a}){return(0,r.jsx)("div",{className:(0,l.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...a})}m.displayName=s.UC.displayName;let f=n.forwardRef(({className:e,...a},t)=>(0,r.jsx)(s.hE,{ref:t,className:(0,l.cn)("text-lg font-semibold leading-none tracking-tight",e),...a}));f.displayName=s.hE.displayName;let g=n.forwardRef(({className:e,...a},t)=>(0,r.jsx)(s.VY,{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",e),...a}));g.displayName=s.VY.displayName},45160:(e,a,t)=>{"use strict";t.d(a,{E:()=>l});var r=t(95155),n=t(18460),s=t(40980);let i=(0,n.F)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground",outline:"text-foreground",success:"border-transparent bg-emerald-100 text-emerald-800 dark:bg-emerald-500/15 dark:text-emerald-300",warning:"border-transparent bg-amber-100 text-amber-800 dark:bg-amber-500/15 dark:text-amber-300",muted:"border-transparent bg-muted text-muted-foreground",brand:"border-transparent bg-brand text-brand-foreground"}},defaultVariants:{variant:"default"}});function l({className:e,variant:a,...t}){return(0,r.jsx)("span",{className:(0,s.cn)(i({variant:a}),e),...t})}},49068:(e,a,t)=>{"use strict";t.d(a,{M:()=>c,w:()=>u});var r=t(95155),n=t(12115),s=t(6296),i=t(58120),l=t(66609),o=t(89239),d=t(27529);async function c(e,a){await (0,d.nr)(`/api/admin/workspaces/${e}/support`,{method:"POST",body:JSON.stringify(a?{reason:a}:{})}),window.location.href="/dashboard"}function u({workspaceId:e,size:a="sm",variant:t="default"}
1){let[d,m]=(0,n.useState)(!1);return(0,r.jsxs)(o.$,{size:a,variant:t,disabled:d,onClick:async()=>{m(!0);try{await c(e)}catch(e){l.oR.error(e.message),m(!1)}},title:"Work inside this workspace as yourself. Every change is logged; nothing that spends their money is allowed.",children:[d?(0,r.jsx)(s.A,{className:"animate-spin"}):(0,r.jsx)(i.A,{}),"Open as support"]})}},60529:(e,a,t)=>{"use strict";t.d(a,{p:()=>i});var r=t(95155),n=t(12115),s=t(40980);let i=n.forwardRef(({className:e,type:a,...t},n)=>(0,r.jsx)("input",{type:a,ref:n,className:(0,s.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm transition-colors placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50",e),...t}));i.displayName="Input"},61732:(e,a,t)=>{"use strict";t.d(a,{At:()=>g,BI:()=>p,BM:()=>m,KQ:()=>x,Panel:()=>h,Wh:()=>u,Y2:()=>f});var r=t(95155),n=t(98500),s=t.n(n),i=t(21362),l=t(45160),o=t(13364),d=t(40980);let c={running:"Running",sleeping:"Asleep",stopped:"Stopped",paused:"Paused for credit",provisioning:"Provisioning",starting:"Starting",restarting:"Restarting",updating:"Updating",failed:"Failed",error:"Error",deleting:"Deleting"};function u({status:e}){let a=e??"unknown",t="paused"===a?"destructive":(0,o.iS)(a);return(0,r.jsxs)(l.E,{variant:t,className:"gap-1.5",children:[(0,r.jsx)("span",{"aria-hidden":!0,className:(0,d.cn)("size-1.5 rounded-full","success"===t&&"bg-emerald-500","warning"===t&&"bg-amber-500","destructive"===t&&"bg-current","muted"===t&&"bg-muted-foreground/60")}),c[a]??a.replace(/_/g," ")]})}function m(e){if(!e)return"—";let a=Date.now()-new Date(e).getTime(),t=Math.abs(a)/1e3,r=t<60?"just now":t<3600?`${Math.floor(t/60)}m`:t<86400?`${Math.floor(t/3600)}h`:t<2592e3?`${Math.floor(t/86400)}d`:null;return"just now"===r?r:r?a<0?`in ${r}`:`${r} ago`:new Date(e).toLocaleDateString("en-AU",{day:"numeric",month:"short",year:"numeric"})}function x(e){return e?new Date(e).toLocaleString("en-AU",{day:"numeric",month:"short",year:"numeric",hour:"numeric",minute:"2-digit"}):"—"}function p({items:e}){return(0,r.jsx)("nav",{"aria-label":"Breadcrumb",className:"mb-3 flex flex-wrap items-center gap-1 text-xs text-muted-foreground",children:e.map((e,a)=>(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[a>0&&(0,r.jsx)(i.A,{className:"size-3","aria-hidden":!0}),e.href?(0,r.jsx)(s(),{href:e.href,className:"hover:text-foreground",children:e.label}):(0,r.jsx)("span",{className:"text-foreground",children:e.label})]},a))})}function f({tabs:e,value:a,onChange:t}){return(0,r.jsx)("div",{role:"tablist",className:"mb-6 flex gap-5 overflow-x-auto border-b [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:e.map(e=>{let n=e.value===a;return(0,r.jsxs)("button",{type:"button",role:"tab","aria-selected":n,onClick:()=>t(e.value),className:(0,d.cn)("-mb-px inline-flex shrink-0 items-center gap-1.5 border-b-2 pb-2.5 text-sm font-medium transition-colors",n?"border-foreground text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),children:[e.label,void 0!==e.count&&(0,r.jsx)("span",{className:"text-xs tabular-nums text-muted-foreground",children:e.count})]},e.value)})})}function g({items:e,className:a}){return(0,r.jsx)("dl",{className:(0,d.cn)("grid gap-x-6 gap-y-3 sm:grid-cols-2 lg:grid-cols-3",a),children:e.map(e=>(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("dt",{className:"text-xs text-muted-foreground",children:e.label}),(0,r.jsx)("dd",{className:(0,d.cn)("mt-0.5 truncate text-sm",e.mono&&"font-mono text-xs"),children:e.value})]},e.label))})}function h({title:e,description:a,action:t,children:n,className:s,flush:i}){return(0,r.jsxs)("section",{className:(0,d.cn)("min-w-0 overflow-hidden rounded-xl border bg-card",s),children:[(e||t)&&(0,r.jsxs)("header",{className:"flex items-start justify-between gap-3 px-5 pt-4",children:[(0,r.jsxs)("div",{className:"min-w-0",children:[e&&(0,r.jsx)("h2",{className:"text-sm font-semibold",children:e}),a&&(0,r.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:a})]}),t&&(0,r.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:t})]}),(0,r.jsx)("div",{className:(0,d.cn)(i?"mt-3":"p-5",e&&!i&&"pt-3"),children:n})]})}},72264:(e,a,t)=>{"use strict";t.d(a,{SQ:()=>d,_2:()=>c,lp:()=>u,mB:()=>m,rI:()=>l,ty:()=>o});var r=t(95155),n=t(12115),s=t(28001),i=t(40980);let l=s.bL,o=s.l9;s.YJ;let d=n.forwardRef(({className:e,sideOffset:a=4,...t},n)=>(0,r.jsx)(s.ZL,{children:(0,r.jsx)(s.UC,{ref:n,sideOffset:a,className:(0,i.cn)("z-50 min-w-[10rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t})}));d.displayName=s.UC.displayName;let c=n.forwardRef(({className:e,inset:a,variant:t="default",...n},l)=>(0,r.jsx)(s.q7,{ref:l,className:(0,i.cn)("relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:size-4 [&_svg]:shrink-0",a&&"pl-8","destructive"===t&&"text-destructive focus:bg-destructive/10 focus:text-destructive",e),...n}));c.displayName=s.q7.displayName;let u=n.forwardRef(({className:e,...a},t)=>(0,r.jsx)(s.JU,{ref:t,className:(0,i.cn)("px-2 py-1.5 text-xs font-medium text-muted-foreground",e),...a}));u.displayName=s.JU.displayName;let m=n.forwardRef(({className:e,...a},t)=>(0,r.jsx)(s.wv,{ref:t,className:(0,i.cn)("-mx-1 my-1 h-px bg-border",e),...a}));m.displayName=s.wv.displayName},75230:(e,a,t)=>{"use strict";t.d(a,{T:()=>o});var r=t(95155),n=t(12115),s=t(66609),i=t(42763),l=t(89239);function o({open:e,onOpenChange:a,title:t,description:d,confirmText:c="Confirm",destructive:u=!1,onConfirm:m}
1){let[x,p]=(0,n.useState)(!1);async function f(){p(!0);try{await m(),a(!1)}catch(e){s.oR.error(e.message)}finally{p(!1)}}return(0,r.jsx)(i.lG,{open:e,onOpenChange:a,children:(0,r.jsxs)(i.Cf,{children:[(0,r.jsxs)(i.c7,{children:[(0,r.jsx)(i.L3,{children:t}),d&&(0,r.jsx)(i.rr,{children:d})]}),(0,r.jsxs)(i.Es,{children:[(0,r.jsx)(l.$,{variant:"outline",onClick:()=>a(!1),disabled:x,children:"Cancel"}),(0,r.jsx)(l.$,{variant:u?"destructive":"default",onClick:f,disabled:x,children:x?"Working...":c})]})]})})}}},e=>{e.O(0,[5730,8409,8500,6609,8755,8495,2619,8384,3339,8001,5430,9742,9440,5554,8441,5254,7358],()=>e(e.s=18900)),_N_E=e.O()}]);

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.