docker-client-mx 1.37.1 → 1.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/docker-desktop-mx/browser/chunk-3Xh0zgnl.js +4 -0
  2. package/dist/docker-desktop-mx/browser/{chunk-d2Mr7W8C.js → chunk-86dQWBGy.js} +2 -2
  3. package/dist/docker-desktop-mx/browser/{chunk-ARerY_u8.js → chunk-A1-s5LFW.js} +1 -1
  4. package/dist/docker-desktop-mx/browser/{chunk-BTUpw4iP.js → chunk-B10he8vC.js} +1 -1
  5. package/dist/docker-desktop-mx/browser/{chunk-D0yJpook.js → chunk-B417lX5i.js} +1 -1
  6. package/dist/docker-desktop-mx/browser/{chunk-DO0iZtCc.js → chunk-BJhrBPGr.js} +1 -1
  7. package/dist/docker-desktop-mx/browser/{chunk-A5wKOcG7.js → chunk-BJln0q-L.js} +1 -1
  8. package/dist/docker-desktop-mx/browser/{chunk-DoJ0-JEW.js → chunk-BKqokLUJ.js} +1 -1
  9. package/dist/docker-desktop-mx/browser/{chunk-DmLR4vjP.js → chunk-BNyiHfLm.js} +1 -1
  10. package/dist/docker-desktop-mx/browser/{chunk-B_LO2qP5.js → chunk-Biflawt5.js} +1 -1
  11. package/dist/docker-desktop-mx/browser/{chunk-wHjVeoVE.js → chunk-BuZMCHMG.js} +1 -1
  12. package/dist/docker-desktop-mx/browser/chunk-C2AEaPKl.js +1 -0
  13. package/dist/docker-desktop-mx/browser/{chunk-Dc53d1I5.js → chunk-CJj93ZID.js} +1 -1
  14. package/dist/docker-desktop-mx/browser/chunk-CKKQa1e9.js +1 -0
  15. package/dist/docker-desktop-mx/browser/chunk-CQJfJJJO.js +4 -0
  16. package/dist/docker-desktop-mx/browser/{chunk-C5GyUjf6.js → chunk-CRU66E5W.js} +1 -1
  17. package/dist/docker-desktop-mx/browser/{chunk-C218KaAr.js → chunk-Cc4TZhIN2.js} +1 -1
  18. package/dist/docker-desktop-mx/browser/{chunk-DoVE0m-M.js → chunk-CcSH3zkW.js} +1 -1
  19. package/dist/docker-desktop-mx/browser/{chunk-BD9SGPlI.js → chunk-CcUK35Ba.js} +1 -1
  20. package/dist/docker-desktop-mx/browser/{chunk-CKZAnwkz.js → chunk-ChkLvkqV.js} +1 -1
  21. package/dist/docker-desktop-mx/browser/{chunk-Bd4WPFll.js → chunk-ClFvQPeD.js} +1 -1
  22. package/dist/docker-desktop-mx/browser/{chunk-CRsWWmSK.js → chunk-CleqfF2a.js} +1 -1
  23. package/dist/docker-desktop-mx/browser/{chunk-USWqj2oG.js → chunk-CsmSLtiO.js} +1 -1
  24. package/dist/docker-desktop-mx/browser/{chunk-CzxPdR3J.js → chunk-CtE-C6Yi.js} +1 -1
  25. package/dist/docker-desktop-mx/browser/{chunk-CSf-WGgq.js → chunk-Cxf0K3gA.js} +1 -1
  26. package/dist/docker-desktop-mx/browser/{chunk-CuB3SKfL.js → chunk-D2ip_9iB.js} +1 -1
  27. package/dist/docker-desktop-mx/browser/{chunk-DO4UNcFG.js → chunk-D7w-wcec.js} +1 -1
  28. package/dist/docker-desktop-mx/browser/chunk-DBk_NOEo.js +1 -0
  29. package/dist/docker-desktop-mx/browser/{chunk-C0CE-ryM.js → chunk-DNfHCIbw.js} +1 -1
  30. package/dist/docker-desktop-mx/browser/{chunk-BrDsQn6L.js → chunk-DmnENnOJ.js} +1 -1
  31. package/dist/docker-desktop-mx/browser/{chunk-CUfTRCjA.js → chunk-Dw7M06TM.js} +1 -1
  32. package/dist/docker-desktop-mx/browser/{chunk-Ce9HPQaw.js → chunk-DyCLoZvj.js} +1 -1
  33. package/dist/docker-desktop-mx/browser/{chunk-BiwCCNsK.js → chunk-F0R0gI7h.js} +1 -1
  34. package/dist/docker-desktop-mx/browser/{chunk-BwYNpJJ1.js → chunk-JJCcZGeB.js} +1 -1
  35. package/dist/docker-desktop-mx/browser/{chunk-d9EuDpHJ.js → chunk-Ou7gEgt7.js} +1 -1
  36. package/dist/docker-desktop-mx/browser/{chunk-sLP6RSjc.js → chunk-_hzP4C8y.js} +1 -1
  37. package/dist/docker-desktop-mx/browser/chunk-n7jRjd3_.js +5 -0
  38. package/dist/docker-desktop-mx/browser/index.html +2 -2
  39. package/dist/docker-desktop-mx/browser/main-27BJOEBW.js +1 -0
  40. package/dist/docker-desktop-mx/browser/styles-RGTBYKL7.css +1 -0
  41. package/dist-electron/attention.js +10 -2
  42. package/dist-electron/attention.js.map +1 -1
  43. package/dist-electron/channels.js +3 -0
  44. package/dist-electron/channels.js.map +1 -1
  45. package/dist-electron/ipc.js +4 -0
  46. package/dist-electron/ipc.js.map +1 -1
  47. package/dist-electron/preload.js +7 -1
  48. package/dist-electron/preload.js.map +1 -1
  49. package/dist-electron/project-update.js +120 -0
  50. package/dist-electron/project-update.js.map +1 -0
  51. package/package.json +1 -1
  52. package/dist/docker-desktop-mx/browser/chunk-B2cyL9jQ.js +0 -1
  53. package/dist/docker-desktop-mx/browser/chunk-BU6WXUxF.js +0 -4
  54. package/dist/docker-desktop-mx/browser/chunk-BrBZ51IY.js +0 -1
  55. package/dist/docker-desktop-mx/browser/chunk-CN_jXmBu.js +0 -4
  56. package/dist/docker-desktop-mx/browser/chunk-ai7J7l7m.js +0 -1
  57. package/dist/docker-desktop-mx/browser/main-QH6OTQO6.js +0 -1
  58. package/dist/docker-desktop-mx/browser/styles-QQZVKMBI.css +0 -1
@@ -1 +1 @@
1
- import{A as I,Ct as Tc,Dn as kE,En as jc,Fn as mj,Ft as Wm,Gn as pg,H as Li,I as Jm,In as nS,J as My,Kt as _m,Mn as lk,O as HE,On as kc,R as Kr,Sn as hg,T as Gm,V as Ld,Vn as ok,W as Lt,X as Nc,Zn as rf,_r as wt,_t as SS,cn as ec,er as sk,gt as SE,hr as wc,in as dk,ln as f,r as Ac,sn as eH,sr as vS,tt as Od,un as fS,ur as vg,ut as RE,wt as Tg}from"./chunk-BU6WXUxF.js";import"./chunk-D0yJpook.js";import{n as y,t as f$1}from"./chunk-CRsWWmSK.js";import{n as p,t as M}from"./chunk-sLP6RSjc.js";import{n as o,t as i}from"./chunk-BwYNpJJ1.js";import{n as x,t as u}from"./chunk-CUfTRCjA.js";import"./chunk-C0CE-ryM.js";import{a as Yt,r as Q$1,s as fe$1,u as ra}from"./chunk-BTUpw4iP.js";import"./chunk-d9EuDpHJ.js";import{_ as pn,d as dn,f as fn,g as ln,l as an,m as ie,r as Je$1,u as cn,v as un}from"./chunk-CKZAnwkz.js";import{n as V,t as G}from"./chunk-C5GyUjf6.js";import{n as W,t as J}from"./chunk-USWqj2oG.js";import{i as z,n as oe,r as x$1}from"./chunk-CuB3SKfL.js";import{n as P,t as K}from"./chunk-DoVE0m-M.js";function Ie(i,t){i&1&&(Li(0,`p`,22),fS(1),Nc()),i&2&&(ec(),pg(t))}function Ee(i,t){if(i&1){let n=RE();Gm(0,`div`,2),Li(1,`div`,3)(2,`div`,4)(3,`h2`,5),fS(4),Nc(),Li(5,`p`,6),fS(6),Nc(),Li(7,`form`,7),Jm(`submit`,function(m){Od(n);return Ld(HE().submit(m))}),Li(8,`label`,8)(9,`span`,9),fS(10),Nc(),Li(11,`input`,10),Jm(`input`,function(m){Od(n);return Ld(HE().name.set(m.target.value))}),Nc()(),Li(12,`label`,11)(13,`input`,12),Jm(`change`,function(m){Od(n);return Ld(HE().internal.set(m.target.checked))}),Nc(),Li(14,`span`)(15,`span`,13),fS(16),Nc(),Li(17,`span`,14),fS(18),Nc()()(),Li(19,`details`,15)(20,`summary`,16),fS(21),Nc(),Li(22,`label`,17)(23,`span`,9),fS(24),Nc(),Li(25,`input`,18),Jm(`input`,function(m){Od(n);return Ld(HE().driver.set(m.target.value))}),Nc(),Li(26,`span`,19),fS(27),Nc()(),Li(28,`label`,17)(29,`span`,9),fS(30),Nc(),Li(31,`input`,20),Jm(`input`,function(m){Od(n);return Ld(HE().subnet.set(m.target.value))}),Nc(),Li(32,`span`,19),fS(33),Nc()(),Li(34,`label`,17)(35,`span`,9),fS(36),Nc(),Li(37,`input`,21),Jm(`input`,function(m){Od(n);return Ld(HE().gateway.set(m.target.value))}),Nc(),Li(38,`span`,19),fS(39),Nc()()(),SE(40,Ie,2,1,`p`,22),Li(41,`div`,23)(42,`button`,24),Gm(43,`app-icon`,25),fS(44),Nc(),Li(45,`button`,26),Gm(46,`app-icon`,27),fS(47),Nc()()()()()}if(i&2){let n,e=HE();ec(4),pg(e.t().title),ec(2),pg(e.t().description),ec(4),pg(e.t().nameLabel),ec(),nS(e.field),Wm(`placeholder`,e.t().namePlaceholder)(`value`,e.name())(`disabled`,e.busy()),ec(2),Wm(`checked`,e.internal())(`disabled`,e.busy()),ec(3),pg(e.t().internal),ec(2),pg(e.t().internalHint),ec(),Wm(`open`,e.advanced()),ec(2),pg(e.t().advanced),ec(3),pg(e.t().driverLabel),ec(),nS(e.field),Wm(`value`,e.driver())(`disabled`,e.busy()),ec(2),pg(e.t().driverHint),ec(3),pg(e.t().subnetLabel),ec(),nS(e.field),Wm(`value`,e.subnet())(`disabled`,e.busy()),ec(2),pg(e.t().subnetHint),ec(3),pg(e.t().gatewayLabel),ec(),nS(e.field),Wm(`value`,e.gateway())(`disabled`,e.busy()),ec(2),pg(e.t().gatewayHint),ec(),kE((n=e.problem())?40:-1,n),ec(3),Wm(`size`,14),ec(),Ac(` `,e.common().cancel,` `),ec(),Wm(`disabled`,!e.canSubmit()),ec(),Wm(`size`,14),ec(),Ac(` `,e.busy()?e.t().creating:e.t().submit,` `)}}var Pe;var Q;var be=f(()=>{Kr();Je$1();f$1();dk();sk();Kr();Pe=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,Q=class i{store=I(y);open=mj(!1);t=Lt(()=>ok().networks.createDialog);common=Lt(()=>ok().common);field=Pe;name=wt(``);internal=wt(!1);driver=wt(`bridge`);subnet=wt(``);gateway=wt(``);busy=wt(!1);problem=wt(null);advanced=Lt(()=>this.driver().trim()!==`bridge`||this.subnet().trim()!==``||this.gateway().trim()!==``);canSubmit=Lt(()=>!this.busy()&&this.name().trim()!==``&&this.driver().trim()!==``);constructor(){rf(()=>{this.open()&&Tg(()=>{this.name.set(``),this.internal.set(!1),this.driver.set(`bridge`),this.subnet.set(``),this.gateway.set(``),this.problem.set(null)})})}submit(t){if(t.preventDefault(),!this.canSubmit())return;let n=this.subnet().trim(),e=this.gateway().trim();this.busy.set(!0),this.problem.set(null),this.store.create({name:this.name().trim(),driver:this.driver().trim(),internal:this.internal(),subnet:n===``?null:n,gateway:e===``?null:e}).then(m=>{this.problem.set(m),m===null&&this.open.set(!1)}).finally(()=>this.busy.set(!1))}static ɵfac=function(n){return new(n||i)};static ɵcmp=wc({type:i,selectors:[[`app-create-network-dialog`]],inputs:{open:[1,`open`]},outputs:{open:`openChange`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,1,`w-full`,`max-w-md`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`space-y-3`,3,`submit`],[1,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`,`disabled`],[1,`flex`,`cursor-pointer`,`items-start`,`gap-2.5`],[`type`,`checkbox`,1,`mx-focus`,`mt-0.5`,`accent-accent`,3,`change`,`checked`,`disabled`],[1,`block`,`text-[13px]`,`text-ink-100`],[1,`block`,`text-[12px]`,`text-ink-500`],[1,`text-[12px]`,`text-ink-400`,3,`open`],[1,`cursor-pointer`,`select-none`],[1,`mt-2`,`block`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`value`,`disabled`],[1,`mt-1`,`block`,`text-[12px]`,`text-ink-500`],[`type`,`text`,`placeholder`,`172.30.0.0/16`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`value`,`disabled`],[`type`,`text`,`placeholder`,`172.30.0.1`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`value`,`disabled`],[`role`,`alert`,1,`text-[13px]`,`text-danger`],[1,`flex`,`justify-end`,`gap-2`,`pt-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`plus`,3,`size`]],template:function(n,e){n&1&&(Li(0,`div`,0),vg(`openChange`,function(l){return vS(e.open,l)||(e.open=l),l}),_m(1,Ee,48,38,`ng-template`,1),Nc()),n&2&&hg(`open`,e.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My],encapsulation:2})}});function Le(i,t){i&1&&(Li(0,`p`,7),fS(1),Nc()),i&2&&(ec(),pg(t))}function Ve(i,t){if(i&1&&(Li(0,`p`,8),fS(1),Nc()),i&2){let n=HE(2);ec(),pg(n.t().loading)}}function ze(i,t){if(i&1&&(Li(0,`p`,8),fS(1),Nc()),i&2){let n=HE(2);ec(),pg(n.t().empty)}}function Oe(i,t){i&1&&(Li(0,`span`,16),fS(1),Nc()),i&2&&(ec(),pg(t))}function We(i,t){if(i&1){let n=RE();Li(0,`li`,13),Gm(1,`span`,14),Li(2,`a`,15),Jm(`click`,function(){Od(n);return Ld(HE(3).open.set(!1))}),fS(3),Nc(),SE(4,Oe,2,1,`span`,16),Li(5,`span`,17),fS(6),Nc()()}if(i&2){let n,e=t.$implicit,m=HE(3);ec(),nS(e.running?`bg-ok`:`bg-ink-600`),ec(),Wm(`routerLink`,SS(8,Te,e.id)),ec(),pg(e.name),ec(),kE((n=e.composeProject)?4:-1,n),ec(),nS(e.ipAddress?`text-ink-300`:`text-ink-600`),ec(),Ac(` `,e.ipAddress??(e.running?m.t().noAddress:m.t().stopped),` `)}}function Be(i,t){if(i&1&&(Li(0,`ul`,9),kc(1,We,7,10,`li`,13,Re),Nc()),i&2){let n=HE(2);ec(),Tc(n.members())}}function Ae(i,t){if(i&1&&(Gm(0,`div`,2),Li(1,`div`,3)(2,`div`,4)(3,`h2`,5),fS(4),Nc(),Li(5,`p`,6),fS(6),Nc(),SE(7,Le,2,1,`p`,7)(8,Ve,2,1,`p`,8)(9,ze,2,1,`p`,8)(10,Be,3,0,`ul`,9),Li(11,`div`,10)(12,`button`,11),Gm(13,`app-icon`,12),fS(14),Nc()()()()),i&2){let n,e=HE();ec(4),pg(e.t().title(e.network())),ec(2),pg(e.t().description),ec(),kE((n=e.problem())?7:e.members()===null?8:e.members()?.length===0?9:10,n),ec(6),Wm(`size`,14),ec(),Ac(` `,e.common().close,` `)}}var Te;var Re;var U;var ye=f(()=>{Kr();ra();Je$1();lk();dk();sk();Kr();Te=i=>[`/containers`,i],Re=(i,t)=>t.id;U=class i{open=mj(!1);network=jc.required();t=Lt(()=>ok().networks.members);common=Lt(()=>ok().common);members=wt(null);problem=wt(null);constructor(){rf(()=>{if(!this.open())return;let t=this.network();Tg(()=>{this.load(t)})})}async load(t){this.members.set(null),this.problem.set(null);try{this.members.set(await window.electron.networks.members(t))}catch(n){this.problem.set(eH(n))}}static ɵfac=function(n){return new(n||i)};static ɵcmp=wc({type:i,selectors:[[`app-network-members-dialog`]],inputs:{open:[1,`open`],network:[1,`network`]},outputs:{open:`openChange`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,`data-testid`,`network-members-dialog`,1,`flex`,`max-h-[85vh]`,`w-full`,`max-w-xl`,`flex-col`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-4`,`text-[13px]`,`text-ink-400`],[`data-testid`,`network-member-list`,1,`mt-3`,`min-h-0`,`flex-1`,`divide-y`,`divide-ink-800`,`overflow-auto`],[1,`mt-4`,`flex`,`justify-end`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[1,`flex`,`items-center`,`gap-3`,`py-2`,`text-[13px]`],[`aria-hidden`,`true`,1,`size-2`,`shrink-0`,`rounded-full`],[1,`mx-focus`,`min-w-0`,`flex-1`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`click`,`routerLink`],[1,`shrink-0`,`text-[12px]`,`text-ink-500`],[1,`w-32`,`shrink-0`,`text-right`,`font-mono`,`text-[12px]`]],template:function(n,e){n&1&&(Li(0,`div`,0),vg(`openChange`,function(l){return vS(e.open,l)||(e.open=l),l}),_m(1,Ae,15,5,`ng-template`,1),Nc()),n&2&&hg(`open`,e.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,Yt,My],encapsulation:2})}});function Fe(i,t){if(i&1&&(Li(0,`span`,16),fS(1),Nc()),i&2){let n=HE();ec(),pg(n.t().refreshing)}}function je(i,t){if(i&1){let n=RE();Li(0,`div`,18)(1,`span`,30),fS(2),Nc(),Li(3,`button`,31),Jm(`click`,function(){Od(n);return Ld(HE().askRemoveSelected())}),Gm(4,`app-icon`,32),fS(5),Nc()()}if(i&2){let n=HE();ec(2),pg(n.t().selected(n.selected().size)),ec(2),Wm(`size`,14),ec(),Ac(` `,n.common().remove,` `)}}function He(i,t){if(i&1&&(Li(0,`span`,35),fS(1),Nc()),i&2){let n=HE(2);ec(),pg(n.t().builtIn)}}function Ke(i,t){if(i&1&&(Li(0,`span`,35),fS(1),Nc()),i&2){let n=HE(2);ec(),pg(n.t().internal)}}function qe(i,t){if(i&1&&(Li(0,`div`,36),fS(1),Nc()),i&2){let n=HE().$implicit;ec(),pg(n.composeProject)}}function Qe(i,t){if(i&1&&(Li(0,`div`,33)(1,`span`,34),fS(2),Nc(),SE(3,He,2,1,`span`,35),SE(4,Ke,2,1,`span`,35),Nc(),SE(5,qe,2,1,`div`,36)),i&2){let n=t.$implicit;ec(),Wm(`title`,n.shortId),ec(),pg(n.name),ec(),kE(n.builtIn?3:-1),ec(),kE(n.internal?4:-1),ec(),kE(n.composeProject?5:-1)}}function Ue(i,t){if(i&1&&(Li(0,`span`,37),fS(1),Nc()),i&2){let n=t.$implicit;ec(),pg(n.driver)}}function Ge(i,t){if(i&1&&(Li(0,`span`,38),fS(1),Nc()),i&2){let n=t.$implicit;ec(),pg(n.scope)}}function Je(i,t){if(i&1&&(Li(0,`span`,39),fS(1),Nc()),i&2){let n=HE().$implicit;ec(),pg(n.subnet)}}function Xe(i,t){i&1&&(Li(0,`span`,40),fS(1,`—`),Nc())}function Ye(i,t){if(i&1&&SE(0,Je,2,1,`span`,39)(1,Xe,2,0,`span`,40),i&2){let n=t.$implicit;kE(n.subnet?0:1)}}function Ze(i,t){if(i&1&&(Li(0,`span`,41),fS(1),Nc()),i&2){let n=HE().$implicit,e=HE();ec(),pg(e.t().containerCount(n.connected))}}function $e(i,t){i&1&&(Li(0,`span`,40),fS(1,`—`),Nc())}function et(i,t){if(i&1&&SE(0,Ze,2,1,`span`,41)(1,$e,2,0,`span`,40),i&2){let n=t.$implicit;kE(n.connected>0?0:1)}}function tt(i,t){if(i&1){let n=RE();Li(0,`div`,42)(1,`app-action-menu`,43),Jm(`picked`,function(m){let l=Od(n).$implicit;return Ld(HE().onRowMenu(m,l))}),Nc()()}if(i&2){let n=t.$implicit,e=HE();ec(),Wm(`label`,e.t().rowMenu(n.name))(`items`,e.rowMenu(n))}}var fe;f(()=>{Kr();f$1();M();G();J();oe();K();dk();x();be();sk();ye();ra();o();Kr();fe=class i$1{store=I(y);preferences=I(p);t=Lt(()=>ok().networks);common=Lt(()=>ok().common);columns=Lt(()=>{let t=this.t().columns;return[{key:`name`,label:t.name},{key:`driver`,label:t.driver,width:`100px`},{key:`scope`,label:t.scope,width:`90px`},{key:`subnet`,label:t.subnet,width:`160px`},{key:`connected`,label:t.connected,width:`120px`},{key:`actions`,label:t.actions,width:`84px`,align:`right`}]});loading=this.store.loading;problem=this.store.problem;pending=this.store.pending;unusedCount=this.store.unusedCount;search=wt(``);zoek=jc(void 0);hideBuiltIn=this.preferences.flag(`networks.hideBuiltIn`);selected=wt(new Set);action=wt(null);confirmOpen=wt(!1);createOpen=wt(!1);membersOpen=wt(!1);membersNetwork=wt(``);rows=Lt(()=>{let t=this.search().trim().toLowerCase(),n=this.hideBuiltIn();return this.store.networks().filter(e=>n&&e.builtIn?!1:t===``||`${e.name} ${e.driver}`.toLowerCase().includes(t))});trackKey=t=>t.id;leden=jc(void 0);router=I(fe$1);route=I(Q$1);constructor(){rf(()=>{let t=this.leden();t!==void 0&&Tg(()=>{this.membersNetwork.set(t),this.membersOpen.set(!0),i(this.router,this.route,`leden`)})}),rf(()=>{let t=this.zoek();t!==void 0&&Tg(()=>this.search.set(t))}),this.store.refresh()}removalReason(t){return t.builtIn?this.t().builtInReason:t.connected>0?this.t().connectedReason(t.connected):this.common().remove}rowMenu(t){return[{id:`members`,label:this.t().rowMembers,icon:`containers`},{id:`remove`,label:this.common().remove,icon:`trash`,disabled:!this.canRemove(t)||this.pending().has(t.id),danger:!0,hint:this.removalReason(t),separated:!0}]}onRowMenu(t,n){t===`members`?(this.membersNetwork.set(n.name),this.membersOpen.set(!0)):this.askRemove(n)}canRemove(t){return!t.builtIn&&t.connected===0}askRemove(t){let n=this.t().remove;this.action.set({ids:[t.id],title:n.title,description:n.description(t.name),confirmLabel:this.common().remove}),this.confirmOpen.set(!0)}askRemoveSelected(){let t=[...this.selected()],n=this.t().remove;this.action.set({ids:t,title:n.manyTitle,description:n.manyDescription(t.length),confirmLabel:this.common().remove}),this.confirmOpen.set(!0)}menuItems=Lt(()=>[{id:`create`,label:this.t().menu.create,icon:`plus`},{id:`prune-unused`,label:this.t().menu.pruneUnused,icon:`broom`,separated:!0}]);onMenu(t){t===`create`?this.createOpen.set(!0):this.askPrune()}askPrune(){let t=this.t().prune;this.action.set({ids:[],title:t.title,description:t.description,confirmLabel:t.confirm}),this.confirmOpen.set(!0)}confirm(){let t=this.action();t!==null&&(t.ids.length===0?this.store.prune():(this.store.removeMany(t.ids),this.selected.set(new Set)),this.action.set(null))}actionTitle(){return this.action()?.title??``}actionDescription(){return this.action()?.description??``}actionConfirmLabel(){return this.action()?.confirmLabel??this.common().remove}actionConfirmIcon(){return this.action()?.ids.length===0?`broom`:`trash`}static ɵfac=function(n){return new(n||i$1)};static ɵcmp=wc({type:i$1,selectors:[[`app-networks-page`]],inputs:{zoek:[1,`zoek`],leden:[1,`leden`]},decls:35,vars:27,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`flex`,`flex-wrap`,`items-start`,`gap-4`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-3`],[1,`text-[12px]`,`text-ink-400`],[1,`text-[15px]`,`font-medium`,`text-ink-100`],[1,`ml-auto`],[3,`picked`,`label`,`items`],[1,`mt-4`,`flex`,`flex-wrap`,`items-center`,`gap-4`],[1,`relative`,`flex`,`items-center`],[1,`pointer-events-none`,`absolute`,`left-2.5`,`text-ink-500`],[`name`,`search`,3,`size`],[1,`sr-only`],[`type`,`search`,1,`mx-focus`,`w-72`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`py-1.5`,`pr-3`,`pl-8`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`placeholder`,`value`],[3,`onChange`,`label`,`on`],[1,`text-[12px]`,`text-ink-500`],[3,`problem`],[1,`mt-3`,`flex`,`items-center`,`gap-2`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`px-3`,`py-2`],[1,`min-h-0`,`flex-1`,`overflow-y-auto`,`px-6`,`pb-6`],[3,`selectedChange`,`columns`,`rows`,`trackKey`,`selected`,`emptyMessage`],[`appCell`,`name`],[`appCell`,`driver`],[`appCell`,`scope`],[`appCell`,`subnet`],[`appCell`,`connected`],[`appCell`,`actions`],[3,`openChange`,`open`],[3,`openChange`,`open`,`network`],[3,`openChange`,`confirmed`,`open`,`title`,`description`,`confirmLabel`,`confirmIcon`],[1,`text-[13px]`,`text-ink-200`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`ml-auto`,`text-danger`,`hover:text-danger`,3,`click`],[`name`,`trash`,3,`size`],[1,`flex`,`items-center`,`gap-2`],[1,`truncate`,`text-ink-100`,3,`title`],[1,`shrink-0`,`rounded`,`border`,`border-ink-700`,`px-1`,`text-[10px]`,`text-ink-500`],[1,`truncate`,`text-[11px]`,`text-ink-500`],[1,`text-ink-300`],[1,`text-ink-400`],[1,`font-mono`,`text-[12px]`,`text-ink-300`],[1,`text-ink-600`],[1,`text-ink-200`],[1,`flex`,`items-center`,`justify-end`],[`compact`,``,3,`picked`,`label`,`items`]],template:function(n,e){n&1&&(Li(0,`section`,0)(1,`div`,1)(2,`div`,2)(3,`div`)(4,`h1`,3),fS(5),Nc(),Li(6,`div`,4)(7,`div`,5),fS(8),Nc(),Li(9,`div`,6),fS(10),Nc()()(),Li(11,`div`,7)(12,`app-action-menu`,8),Jm(`picked`,function(l){return e.onMenu(l)}),Nc()()(),Li(13,`div`,9)(14,`label`,10)(15,`span`,11),Gm(16,`app-icon`,12),Nc(),Li(17,`span`,13),fS(18),Nc(),Li(19,`input`,14),Jm(`input`,function(l){return e.search.set(l.target.value)}),Nc()(),Li(20,`app-filter-switch`,15),vg(`onChange`,function(l){return vS(e.hideBuiltIn,l)||(e.hideBuiltIn=l),l}),Nc(),SE(21,Fe,2,1,`span`,16),Nc(),Gm(22,`app-page-messages`,17),SE(23,je,6,3,`div`,18),Nc(),Li(24,`div`,19)(25,`app-data-table`,20),vg(`selectedChange`,function(l){return vS(e.selected,l)||(e.selected=l),l}),_m(26,Qe,6,5,`ng-template`,21)(27,Ue,2,1,`ng-template`,22)(28,Ge,2,1,`ng-template`,23)(29,Ye,2,1,`ng-template`,24)(30,et,2,1,`ng-template`,25)(31,tt,2,2,`ng-template`,26),Nc()()(),Li(32,`app-create-network-dialog`,27),vg(`openChange`,function(l){return vS(e.createOpen,l)||(e.createOpen=l),l}),Nc(),Li(33,`app-network-members-dialog`,28),vg(`openChange`,function(l){return vS(e.membersOpen,l)||(e.membersOpen=l),l}),Nc(),Li(34,`app-confirm-dialog`,29),vg(`openChange`,function(l){return vS(e.confirmOpen,l)||(e.confirmOpen=l),l}),Jm(`confirmed`,function(){return e.confirm()}),Nc()),n&2&&(ec(5),pg(e.t().title),ec(3),pg(e.t().unused),ec(2),pg(e.unusedCount()),ec(2),Wm(`label`,e.t().menuLabel)(`items`,e.menuItems()),ec(4),Wm(`size`,15),ec(2),pg(e.t().searchLabel),ec(),Wm(`placeholder`,e.t().searchLabel)(`value`,e.search()),ec(),Wm(`label`,e.t().hideBuiltIn),hg(`on`,e.hideBuiltIn),ec(),kE(e.loading()?21:-1),ec(),Wm(`problem`,e.problem()),ec(),kE(e.selected().size>0?23:-1),ec(2),Wm(`columns`,e.columns())(`rows`,e.rows())(`trackKey`,e.trackKey),hg(`selected`,e.selected),Wm(`emptyMessage`,e.t().empty),ec(7),hg(`open`,e.createOpen),ec(),hg(`open`,e.membersOpen),Wm(`network`,e.membersNetwork()),ec(),hg(`open`,e.confirmOpen),Wm(`title`,e.actionTitle())(`description`,e.actionDescription())(`confirmLabel`,e.actionConfirmLabel())(`confirmIcon`,e.actionConfirmIcon()))},dependencies:[z,x$1,My,W,u,P,V,Q,U],encapsulation:2})}})();export{fe as NetworksPage};
1
+ import{A as I,Ct as Tc,Dn as kE,En as jc,Fn as mj,Ft as Wm,Gn as pg,H as Li,I as Jm,In as nS,J as My,Kt as _m,Mn as lk,O as HE,On as kc,R as Kr,Sn as hg,T as Gm,V as Ld,Vn as ok,W as Lt,X as Nc,Zn as rf,_r as wt,_t as SS,cn as ec,er as sk,gt as SE,hr as wc,in as dk,ln as f,r as Ac,sn as eH,sr as vS,tt as Od,un as fS,ur as vg,ut as RE,wt as Tg}from"./chunk-CQJfJJJO.js";import"./chunk-B417lX5i.js";import"./chunk-DNfHCIbw.js";import{n as y,t as f$1}from"./chunk-CleqfF2a.js";import{n as p,t as M}from"./chunk-_hzP4C8y.js";import{n as o,t as i}from"./chunk-JJCcZGeB.js";import{n as x,t as u}from"./chunk-Dw7M06TM.js";import{a as Yt,r as Q$1,s as fe$1,u as ra}from"./chunk-B10he8vC.js";import"./chunk-Ou7gEgt7.js";import{_ as pn,d as dn,f as fn,g as ln,l as an,m as ie,r as Je$1,u as cn,v as un}from"./chunk-ChkLvkqV.js";import{n as V,t as G}from"./chunk-CRU66E5W.js";import{n as W,t as J}from"./chunk-CsmSLtiO.js";import{i as z,n as oe,r as x$1}from"./chunk-D2ip_9iB.js";import{n as P,t as K}from"./chunk-CcSH3zkW.js";function Ie(i,t){i&1&&(Li(0,`p`,22),fS(1),Nc()),i&2&&(ec(),pg(t))}function Ee(i,t){if(i&1){let n=RE();Gm(0,`div`,2),Li(1,`div`,3)(2,`div`,4)(3,`h2`,5),fS(4),Nc(),Li(5,`p`,6),fS(6),Nc(),Li(7,`form`,7),Jm(`submit`,function(m){Od(n);return Ld(HE().submit(m))}),Li(8,`label`,8)(9,`span`,9),fS(10),Nc(),Li(11,`input`,10),Jm(`input`,function(m){Od(n);return Ld(HE().name.set(m.target.value))}),Nc()(),Li(12,`label`,11)(13,`input`,12),Jm(`change`,function(m){Od(n);return Ld(HE().internal.set(m.target.checked))}),Nc(),Li(14,`span`)(15,`span`,13),fS(16),Nc(),Li(17,`span`,14),fS(18),Nc()()(),Li(19,`details`,15)(20,`summary`,16),fS(21),Nc(),Li(22,`label`,17)(23,`span`,9),fS(24),Nc(),Li(25,`input`,18),Jm(`input`,function(m){Od(n);return Ld(HE().driver.set(m.target.value))}),Nc(),Li(26,`span`,19),fS(27),Nc()(),Li(28,`label`,17)(29,`span`,9),fS(30),Nc(),Li(31,`input`,20),Jm(`input`,function(m){Od(n);return Ld(HE().subnet.set(m.target.value))}),Nc(),Li(32,`span`,19),fS(33),Nc()(),Li(34,`label`,17)(35,`span`,9),fS(36),Nc(),Li(37,`input`,21),Jm(`input`,function(m){Od(n);return Ld(HE().gateway.set(m.target.value))}),Nc(),Li(38,`span`,19),fS(39),Nc()()(),SE(40,Ie,2,1,`p`,22),Li(41,`div`,23)(42,`button`,24),Gm(43,`app-icon`,25),fS(44),Nc(),Li(45,`button`,26),Gm(46,`app-icon`,27),fS(47),Nc()()()()()}if(i&2){let n,e=HE();ec(4),pg(e.t().title),ec(2),pg(e.t().description),ec(4),pg(e.t().nameLabel),ec(),nS(e.field),Wm(`placeholder`,e.t().namePlaceholder)(`value`,e.name())(`disabled`,e.busy()),ec(2),Wm(`checked`,e.internal())(`disabled`,e.busy()),ec(3),pg(e.t().internal),ec(2),pg(e.t().internalHint),ec(),Wm(`open`,e.advanced()),ec(2),pg(e.t().advanced),ec(3),pg(e.t().driverLabel),ec(),nS(e.field),Wm(`value`,e.driver())(`disabled`,e.busy()),ec(2),pg(e.t().driverHint),ec(3),pg(e.t().subnetLabel),ec(),nS(e.field),Wm(`value`,e.subnet())(`disabled`,e.busy()),ec(2),pg(e.t().subnetHint),ec(3),pg(e.t().gatewayLabel),ec(),nS(e.field),Wm(`value`,e.gateway())(`disabled`,e.busy()),ec(2),pg(e.t().gatewayHint),ec(),kE((n=e.problem())?40:-1,n),ec(3),Wm(`size`,14),ec(),Ac(` `,e.common().cancel,` `),ec(),Wm(`disabled`,!e.canSubmit()),ec(),Wm(`size`,14),ec(),Ac(` `,e.busy()?e.t().creating:e.t().submit,` `)}}var Pe;var Q;var be=f(()=>{Kr();Je$1();f$1();dk();sk();Kr();Pe=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,Q=class i{store=I(y);open=mj(!1);t=Lt(()=>ok().networks.createDialog);common=Lt(()=>ok().common);field=Pe;name=wt(``);internal=wt(!1);driver=wt(`bridge`);subnet=wt(``);gateway=wt(``);busy=wt(!1);problem=wt(null);advanced=Lt(()=>this.driver().trim()!==`bridge`||this.subnet().trim()!==``||this.gateway().trim()!==``);canSubmit=Lt(()=>!this.busy()&&this.name().trim()!==``&&this.driver().trim()!==``);constructor(){rf(()=>{this.open()&&Tg(()=>{this.name.set(``),this.internal.set(!1),this.driver.set(`bridge`),this.subnet.set(``),this.gateway.set(``),this.problem.set(null)})})}submit(t){if(t.preventDefault(),!this.canSubmit())return;let n=this.subnet().trim(),e=this.gateway().trim();this.busy.set(!0),this.problem.set(null),this.store.create({name:this.name().trim(),driver:this.driver().trim(),internal:this.internal(),subnet:n===``?null:n,gateway:e===``?null:e}).then(m=>{this.problem.set(m),m===null&&this.open.set(!1)}).finally(()=>this.busy.set(!1))}static ɵfac=function(n){return new(n||i)};static ɵcmp=wc({type:i,selectors:[[`app-create-network-dialog`]],inputs:{open:[1,`open`]},outputs:{open:`openChange`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,1,`w-full`,`max-w-md`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`space-y-3`,3,`submit`],[1,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`,`disabled`],[1,`flex`,`cursor-pointer`,`items-start`,`gap-2.5`],[`type`,`checkbox`,1,`mx-focus`,`mt-0.5`,`accent-accent`,3,`change`,`checked`,`disabled`],[1,`block`,`text-[13px]`,`text-ink-100`],[1,`block`,`text-[12px]`,`text-ink-500`],[1,`text-[12px]`,`text-ink-400`,3,`open`],[1,`cursor-pointer`,`select-none`],[1,`mt-2`,`block`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`value`,`disabled`],[1,`mt-1`,`block`,`text-[12px]`,`text-ink-500`],[`type`,`text`,`placeholder`,`172.30.0.0/16`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`value`,`disabled`],[`type`,`text`,`placeholder`,`172.30.0.1`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`value`,`disabled`],[`role`,`alert`,1,`text-[13px]`,`text-danger`],[1,`flex`,`justify-end`,`gap-2`,`pt-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`plus`,3,`size`]],template:function(n,e){n&1&&(Li(0,`div`,0),vg(`openChange`,function(l){return vS(e.open,l)||(e.open=l),l}),_m(1,Ee,48,38,`ng-template`,1),Nc()),n&2&&hg(`open`,e.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My],encapsulation:2})}});function Le(i,t){i&1&&(Li(0,`p`,7),fS(1),Nc()),i&2&&(ec(),pg(t))}function Ve(i,t){if(i&1&&(Li(0,`p`,8),fS(1),Nc()),i&2){let n=HE(2);ec(),pg(n.t().loading)}}function ze(i,t){if(i&1&&(Li(0,`p`,8),fS(1),Nc()),i&2){let n=HE(2);ec(),pg(n.t().empty)}}function Oe(i,t){i&1&&(Li(0,`span`,16),fS(1),Nc()),i&2&&(ec(),pg(t))}function We(i,t){if(i&1){let n=RE();Li(0,`li`,13),Gm(1,`span`,14),Li(2,`a`,15),Jm(`click`,function(){Od(n);return Ld(HE(3).open.set(!1))}),fS(3),Nc(),SE(4,Oe,2,1,`span`,16),Li(5,`span`,17),fS(6),Nc()()}if(i&2){let n,e=t.$implicit,m=HE(3);ec(),nS(e.running?`bg-ok`:`bg-ink-600`),ec(),Wm(`routerLink`,SS(8,Te,e.id)),ec(),pg(e.name),ec(),kE((n=e.composeProject)?4:-1,n),ec(),nS(e.ipAddress?`text-ink-300`:`text-ink-600`),ec(),Ac(` `,e.ipAddress??(e.running?m.t().noAddress:m.t().stopped),` `)}}function Be(i,t){if(i&1&&(Li(0,`ul`,9),kc(1,We,7,10,`li`,13,Re),Nc()),i&2){let n=HE(2);ec(),Tc(n.members())}}function Ae(i,t){if(i&1&&(Gm(0,`div`,2),Li(1,`div`,3)(2,`div`,4)(3,`h2`,5),fS(4),Nc(),Li(5,`p`,6),fS(6),Nc(),SE(7,Le,2,1,`p`,7)(8,Ve,2,1,`p`,8)(9,ze,2,1,`p`,8)(10,Be,3,0,`ul`,9),Li(11,`div`,10)(12,`button`,11),Gm(13,`app-icon`,12),fS(14),Nc()()()()),i&2){let n,e=HE();ec(4),pg(e.t().title(e.network())),ec(2),pg(e.t().description),ec(),kE((n=e.problem())?7:e.members()===null?8:e.members()?.length===0?9:10,n),ec(6),Wm(`size`,14),ec(),Ac(` `,e.common().close,` `)}}var Te;var Re;var U;var ye=f(()=>{Kr();ra();Je$1();lk();dk();sk();Kr();Te=i=>[`/containers`,i],Re=(i,t)=>t.id;U=class i{open=mj(!1);network=jc.required();t=Lt(()=>ok().networks.members);common=Lt(()=>ok().common);members=wt(null);problem=wt(null);constructor(){rf(()=>{if(!this.open())return;let t=this.network();Tg(()=>{this.load(t)})})}async load(t){this.members.set(null),this.problem.set(null);try{this.members.set(await window.electron.networks.members(t))}catch(n){this.problem.set(eH(n))}}static ɵfac=function(n){return new(n||i)};static ɵcmp=wc({type:i,selectors:[[`app-network-members-dialog`]],inputs:{open:[1,`open`],network:[1,`network`]},outputs:{open:`openChange`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,`data-testid`,`network-members-dialog`,1,`flex`,`max-h-[85vh]`,`w-full`,`max-w-xl`,`flex-col`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-4`,`text-[13px]`,`text-ink-400`],[`data-testid`,`network-member-list`,1,`mt-3`,`min-h-0`,`flex-1`,`divide-y`,`divide-ink-800`,`overflow-auto`],[1,`mt-4`,`flex`,`justify-end`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[1,`flex`,`items-center`,`gap-3`,`py-2`,`text-[13px]`],[`aria-hidden`,`true`,1,`size-2`,`shrink-0`,`rounded-full`],[1,`mx-focus`,`min-w-0`,`flex-1`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`click`,`routerLink`],[1,`shrink-0`,`text-[12px]`,`text-ink-500`],[1,`w-32`,`shrink-0`,`text-right`,`font-mono`,`text-[12px]`]],template:function(n,e){n&1&&(Li(0,`div`,0),vg(`openChange`,function(l){return vS(e.open,l)||(e.open=l),l}),_m(1,Ae,15,5,`ng-template`,1),Nc()),n&2&&hg(`open`,e.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,Yt,My],encapsulation:2})}});function Fe(i,t){if(i&1&&(Li(0,`span`,16),fS(1),Nc()),i&2){let n=HE();ec(),pg(n.t().refreshing)}}function je(i,t){if(i&1){let n=RE();Li(0,`div`,18)(1,`span`,30),fS(2),Nc(),Li(3,`button`,31),Jm(`click`,function(){Od(n);return Ld(HE().askRemoveSelected())}),Gm(4,`app-icon`,32),fS(5),Nc()()}if(i&2){let n=HE();ec(2),pg(n.t().selected(n.selected().size)),ec(2),Wm(`size`,14),ec(),Ac(` `,n.common().remove,` `)}}function He(i,t){if(i&1&&(Li(0,`span`,35),fS(1),Nc()),i&2){let n=HE(2);ec(),pg(n.t().builtIn)}}function Ke(i,t){if(i&1&&(Li(0,`span`,35),fS(1),Nc()),i&2){let n=HE(2);ec(),pg(n.t().internal)}}function qe(i,t){if(i&1&&(Li(0,`div`,36),fS(1),Nc()),i&2){let n=HE().$implicit;ec(),pg(n.composeProject)}}function Qe(i,t){if(i&1&&(Li(0,`div`,33)(1,`span`,34),fS(2),Nc(),SE(3,He,2,1,`span`,35),SE(4,Ke,2,1,`span`,35),Nc(),SE(5,qe,2,1,`div`,36)),i&2){let n=t.$implicit;ec(),Wm(`title`,n.shortId),ec(),pg(n.name),ec(),kE(n.builtIn?3:-1),ec(),kE(n.internal?4:-1),ec(),kE(n.composeProject?5:-1)}}function Ue(i,t){if(i&1&&(Li(0,`span`,37),fS(1),Nc()),i&2){let n=t.$implicit;ec(),pg(n.driver)}}function Ge(i,t){if(i&1&&(Li(0,`span`,38),fS(1),Nc()),i&2){let n=t.$implicit;ec(),pg(n.scope)}}function Je(i,t){if(i&1&&(Li(0,`span`,39),fS(1),Nc()),i&2){let n=HE().$implicit;ec(),pg(n.subnet)}}function Xe(i,t){i&1&&(Li(0,`span`,40),fS(1,`—`),Nc())}function Ye(i,t){if(i&1&&SE(0,Je,2,1,`span`,39)(1,Xe,2,0,`span`,40),i&2){let n=t.$implicit;kE(n.subnet?0:1)}}function Ze(i,t){if(i&1&&(Li(0,`span`,41),fS(1),Nc()),i&2){let n=HE().$implicit,e=HE();ec(),pg(e.t().containerCount(n.connected))}}function $e(i,t){i&1&&(Li(0,`span`,40),fS(1,`—`),Nc())}function et(i,t){if(i&1&&SE(0,Ze,2,1,`span`,41)(1,$e,2,0,`span`,40),i&2){let n=t.$implicit;kE(n.connected>0?0:1)}}function tt(i,t){if(i&1){let n=RE();Li(0,`div`,42)(1,`app-action-menu`,43),Jm(`picked`,function(m){let l=Od(n).$implicit;return Ld(HE().onRowMenu(m,l))}),Nc()()}if(i&2){let n=t.$implicit,e=HE();ec(),Wm(`label`,e.t().rowMenu(n.name))(`items`,e.rowMenu(n))}}var fe;f(()=>{Kr();f$1();M();G();J();oe();K();dk();x();be();sk();ye();ra();o();Kr();fe=class i$1{store=I(y);preferences=I(p);t=Lt(()=>ok().networks);common=Lt(()=>ok().common);columns=Lt(()=>{let t=this.t().columns;return[{key:`name`,label:t.name},{key:`driver`,label:t.driver,width:`100px`},{key:`scope`,label:t.scope,width:`90px`},{key:`subnet`,label:t.subnet,width:`160px`},{key:`connected`,label:t.connected,width:`120px`},{key:`actions`,label:t.actions,width:`84px`,align:`right`}]});loading=this.store.loading;problem=this.store.problem;pending=this.store.pending;unusedCount=this.store.unusedCount;search=wt(``);zoek=jc(void 0);hideBuiltIn=this.preferences.flag(`networks.hideBuiltIn`);selected=wt(new Set);action=wt(null);confirmOpen=wt(!1);createOpen=wt(!1);membersOpen=wt(!1);membersNetwork=wt(``);rows=Lt(()=>{let t=this.search().trim().toLowerCase(),n=this.hideBuiltIn();return this.store.networks().filter(e=>n&&e.builtIn?!1:t===``||`${e.name} ${e.driver}`.toLowerCase().includes(t))});trackKey=t=>t.id;leden=jc(void 0);router=I(fe$1);route=I(Q$1);constructor(){rf(()=>{let t=this.leden();t!==void 0&&Tg(()=>{this.membersNetwork.set(t),this.membersOpen.set(!0),i(this.router,this.route,`leden`)})}),rf(()=>{let t=this.zoek();t!==void 0&&Tg(()=>this.search.set(t))}),this.store.refresh()}removalReason(t){return t.builtIn?this.t().builtInReason:t.connected>0?this.t().connectedReason(t.connected):this.common().remove}rowMenu(t){return[{id:`members`,label:this.t().rowMembers,icon:`containers`},{id:`remove`,label:this.common().remove,icon:`trash`,disabled:!this.canRemove(t)||this.pending().has(t.id),danger:!0,hint:this.removalReason(t),separated:!0}]}onRowMenu(t,n){t===`members`?(this.membersNetwork.set(n.name),this.membersOpen.set(!0)):this.askRemove(n)}canRemove(t){return!t.builtIn&&t.connected===0}askRemove(t){let n=this.t().remove;this.action.set({ids:[t.id],title:n.title,description:n.description(t.name),confirmLabel:this.common().remove}),this.confirmOpen.set(!0)}askRemoveSelected(){let t=[...this.selected()],n=this.t().remove;this.action.set({ids:t,title:n.manyTitle,description:n.manyDescription(t.length),confirmLabel:this.common().remove}),this.confirmOpen.set(!0)}menuItems=Lt(()=>[{id:`create`,label:this.t().menu.create,icon:`plus`},{id:`prune-unused`,label:this.t().menu.pruneUnused,icon:`broom`,separated:!0}]);onMenu(t){t===`create`?this.createOpen.set(!0):this.askPrune()}askPrune(){let t=this.t().prune;this.action.set({ids:[],title:t.title,description:t.description,confirmLabel:t.confirm}),this.confirmOpen.set(!0)}confirm(){let t=this.action();t!==null&&(t.ids.length===0?this.store.prune():(this.store.removeMany(t.ids),this.selected.set(new Set)),this.action.set(null))}actionTitle(){return this.action()?.title??``}actionDescription(){return this.action()?.description??``}actionConfirmLabel(){return this.action()?.confirmLabel??this.common().remove}actionConfirmIcon(){return this.action()?.ids.length===0?`broom`:`trash`}static ɵfac=function(n){return new(n||i$1)};static ɵcmp=wc({type:i$1,selectors:[[`app-networks-page`]],inputs:{zoek:[1,`zoek`],leden:[1,`leden`]},decls:35,vars:27,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`flex`,`flex-wrap`,`items-start`,`gap-4`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-3`],[1,`text-[12px]`,`text-ink-400`],[1,`text-[15px]`,`font-medium`,`text-ink-100`],[1,`ml-auto`],[3,`picked`,`label`,`items`],[1,`mt-4`,`flex`,`flex-wrap`,`items-center`,`gap-4`],[1,`relative`,`flex`,`items-center`],[1,`pointer-events-none`,`absolute`,`left-2.5`,`text-ink-500`],[`name`,`search`,3,`size`],[1,`sr-only`],[`type`,`search`,1,`mx-focus`,`w-72`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`py-1.5`,`pr-3`,`pl-8`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`placeholder`,`value`],[3,`onChange`,`label`,`on`],[1,`text-[12px]`,`text-ink-500`],[3,`problem`],[1,`mt-3`,`flex`,`items-center`,`gap-2`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`px-3`,`py-2`],[1,`min-h-0`,`flex-1`,`overflow-y-auto`,`px-6`,`pb-6`],[3,`selectedChange`,`columns`,`rows`,`trackKey`,`selected`,`emptyMessage`],[`appCell`,`name`],[`appCell`,`driver`],[`appCell`,`scope`],[`appCell`,`subnet`],[`appCell`,`connected`],[`appCell`,`actions`],[3,`openChange`,`open`],[3,`openChange`,`open`,`network`],[3,`openChange`,`confirmed`,`open`,`title`,`description`,`confirmLabel`,`confirmIcon`],[1,`text-[13px]`,`text-ink-200`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`ml-auto`,`text-danger`,`hover:text-danger`,3,`click`],[`name`,`trash`,3,`size`],[1,`flex`,`items-center`,`gap-2`],[1,`truncate`,`text-ink-100`,3,`title`],[1,`shrink-0`,`rounded`,`border`,`border-ink-700`,`px-1`,`text-[10px]`,`text-ink-500`],[1,`truncate`,`text-[11px]`,`text-ink-500`],[1,`text-ink-300`],[1,`text-ink-400`],[1,`font-mono`,`text-[12px]`,`text-ink-300`],[1,`text-ink-600`],[1,`text-ink-200`],[1,`flex`,`items-center`,`justify-end`],[`compact`,``,3,`picked`,`label`,`items`]],template:function(n,e){n&1&&(Li(0,`section`,0)(1,`div`,1)(2,`div`,2)(3,`div`)(4,`h1`,3),fS(5),Nc(),Li(6,`div`,4)(7,`div`,5),fS(8),Nc(),Li(9,`div`,6),fS(10),Nc()()(),Li(11,`div`,7)(12,`app-action-menu`,8),Jm(`picked`,function(l){return e.onMenu(l)}),Nc()()(),Li(13,`div`,9)(14,`label`,10)(15,`span`,11),Gm(16,`app-icon`,12),Nc(),Li(17,`span`,13),fS(18),Nc(),Li(19,`input`,14),Jm(`input`,function(l){return e.search.set(l.target.value)}),Nc()(),Li(20,`app-filter-switch`,15),vg(`onChange`,function(l){return vS(e.hideBuiltIn,l)||(e.hideBuiltIn=l),l}),Nc(),SE(21,Fe,2,1,`span`,16),Nc(),Gm(22,`app-page-messages`,17),SE(23,je,6,3,`div`,18),Nc(),Li(24,`div`,19)(25,`app-data-table`,20),vg(`selectedChange`,function(l){return vS(e.selected,l)||(e.selected=l),l}),_m(26,Qe,6,5,`ng-template`,21)(27,Ue,2,1,`ng-template`,22)(28,Ge,2,1,`ng-template`,23)(29,Ye,2,1,`ng-template`,24)(30,et,2,1,`ng-template`,25)(31,tt,2,2,`ng-template`,26),Nc()()(),Li(32,`app-create-network-dialog`,27),vg(`openChange`,function(l){return vS(e.createOpen,l)||(e.createOpen=l),l}),Nc(),Li(33,`app-network-members-dialog`,28),vg(`openChange`,function(l){return vS(e.membersOpen,l)||(e.membersOpen=l),l}),Nc(),Li(34,`app-confirm-dialog`,29),vg(`openChange`,function(l){return vS(e.confirmOpen,l)||(e.confirmOpen=l),l}),Jm(`confirmed`,function(){return e.confirm()}),Nc()),n&2&&(ec(5),pg(e.t().title),ec(3),pg(e.t().unused),ec(2),pg(e.unusedCount()),ec(2),Wm(`label`,e.t().menuLabel)(`items`,e.menuItems()),ec(4),Wm(`size`,15),ec(2),pg(e.t().searchLabel),ec(),Wm(`placeholder`,e.t().searchLabel)(`value`,e.search()),ec(),Wm(`label`,e.t().hideBuiltIn),hg(`on`,e.hideBuiltIn),ec(),kE(e.loading()?21:-1),ec(),Wm(`problem`,e.problem()),ec(),kE(e.selected().size>0?23:-1),ec(2),Wm(`columns`,e.columns())(`rows`,e.rows())(`trackKey`,e.trackKey),hg(`selected`,e.selected),Wm(`emptyMessage`,e.t().empty),ec(7),hg(`open`,e.createOpen),ec(),hg(`open`,e.membersOpen),Wm(`network`,e.membersNetwork()),ec(),hg(`open`,e.confirmOpen),Wm(`title`,e.actionTitle())(`description`,e.actionDescription())(`confirmLabel`,e.actionConfirmLabel())(`confirmIcon`,e.actionConfirmIcon()))},dependencies:[z,x$1,My,W,u,P,V,Q,U],encapsulation:2})}})();export{fe as NetworksPage};
@@ -1 +1 @@
1
- import{A as I,Ct as Tc,Dn as kE,Dt as Ty,F as J0,Ft as Wm,Gn as pg,Gt as _S,H as Li,I as Jm,In as nS,J as My,Jt as ag,Kt as _m,Mn as lk,O as HE,On as kc,Pt as W,R as Kr,S as G,Sn as hg,T as Gm,Tr as zr,V as Ld,Vn as ok,W as Lt,X as Nc,_r as wt,_t as SS,cn as ec,ct as Qm,er as sk,gt as SE,hr as wc,in as dk,ln as f,lr as ve,r as Ac,sn as eH,sr as vS,tt as Od,un as fS,ur as vg,ut as RE,wn as ik,wr as zE}from"./chunk-BU6WXUxF.js";import{n as u,t as f$1}from"./chunk-D0yJpook.js";import"./chunk-CzxPdR3J.js";import{i as p,t as W$1}from"./chunk-Bd4WPFll.js";import{n as x,t as u$1}from"./chunk-CUfTRCjA.js";import{F as tn,u as Me$1}from"./chunk-C0CE-ryM.js";import"./chunk-d9EuDpHJ.js";import"./chunk-CKZAnwkz.js";import{n as W$2,t as J}from"./chunk-USWqj2oG.js";import{n as P,t as K}from"./chunk-DoVE0m-M.js";var se;var le=f(()=>{se=[`claude-opus-5`,`claude-sonnet-5`,`claude-haiku-4-5`]});function Se(a,n){if(a&1&&(Li(0,`span`,34),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().inUse)}}function Ce(a,n){if(a&1&&(Li(0,`span`,34),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().cli)}}function ke(a,n){if(a&1&&(Li(0,`div`,36),fS(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.description)}}function we(a,n){if(a&1&&(Li(0,`div`,37),fS(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.reason)}}function Ee(a,n){a&1&&Qm(0)}function Te(a,n){if(a&1){let e=RE();Li(0,`li`,5)(1,`div`,30)(2,`div`,31)(3,`div`,32)(4,`span`,33),fS(5),Nc(),SE(6,Se,2,1,`span`,34),SE(7,Ce,2,1,`span`,34),Nc(),Li(8,`div`,35),fS(9),Nc(),SE(10,ke,2,1,`div`,36),SE(11,we,2,1,`div`,37),Nc(),Li(12,`button`,38),Jm(`click`,function(){let l=Od(e).$implicit;return Ld(HE().test(l.name,{context:l.name}))}),fS(13),Nc(),Li(14,`button`,39),Jm(`click`,function(){let l=Od(e).$implicit;return Ld(HE().askRemove(l.name))}),Gm(15,`app-icon`,40),Nc()(),_m(16,Ee,1,0,`ng-container`,28),Nc()}if(a&2){let e=n.$implicit,t=HE(),l=zE(48);zr(`data-testid`,`server-`+e.name),ec(5),pg(e.name),ec(),kE(e.active?6:-1),ec(),kE(e.currentInCli?7:-1),ec(2),pg(e.host),ec(),kE(e.description?10:-1),ec(),kE(!e.supported&&e.reason?11:-1),ec(),Wm(`disabled`,!e.supported||t.testing()!==null),ec(),Ac(` `,t.testing()===e.name?t.t().testing:t.t().test,` `),ec(),Wm(`title`,e.active||e.currentInCli?t.t().removeBlocked:t.t().remove)(`disabled`,e.active||e.currentInCli),zr(`aria-label`,t.t().remove),ec(),Wm(`size`,14),ec(),Wm(`ngTemplateOutlet`,l)(`ngTemplateOutletContext`,SS(15,de,e.name))}}function Ie(a,n){if(a&1&&(Li(0,`li`,6),fS(1),Nc()),a&2){let e=HE();ec(),pg(e.t().empty)}}function Pe(a,n){if(a&1){let e=RE();Li(0,`label`,15)(1,`span`,10),fS(2),Nc(),Li(3,`input`,41),Jm(`input`,function(l){Od(e);return Ld(HE().username.set(l.target.value))}),Nc()()}if(a&2){let e=HE();ec(2),pg(e.t().add.username),ec(),nS(e.input),Wm(`placeholder`,e.t().add.usernamePlaceholder)(`value`,e.username())}}function De(a,n){if(a&1&&(Li(0,`p`,22),fS(1),Nc()),a&2){let e=HE();ec(),pg(e.t().add.tcpWarning)}}function Me(a,n){a&1&&(Li(0,`p`,23),fS(1),Nc()),a&2&&(ec(),pg(n))}function Ve(a,n){a&1&&Qm(0)}function Ae(a,n){if(a&1&&(Li(0,`p`,43),fS(1),Nc()),a&2){let e=HE(),t=HE(2);ec(),pg(t.t().connected(e.version,e.os,e.arch))}}function Ne(a,n){if(a&1){let e=RE();Li(0,`p`,45),fS(1),Nc(),Li(2,`div`,46)(3,`code`,47),fS(4),Nc(),Li(5,`button`,48),Jm(`click`,function(){let l=Od(e),s=HE(3).$implicit;return Ld(HE().trust(s,l.name,l.fingerprint))}),fS(6),Nc()()}if(a&2){let e=n,t=HE(4);ec(),pg(t.t().unknownHostKey(e.name,e.type)),ec(3),pg(e.fingerprint),ec(),Wm(`disabled`,t.testing()!==null),ec(),Ac(` `,t.t().trust,` `)}}function Ue(a,n){if(a&1&&(Li(0,`p`,44),fS(1),Nc(),SE(2,Ne,7,4)),a&2){let e,t=HE();ec(),pg(t.problem),ec(),kE((e=t.unknownHostKey)?2:-1,e)}}function Oe(a,n){a&1&&(Li(0,`div`,42),SE(1,Ae,2,1,`p`,43)(2,Ue,3,2),Nc()),a&2&&(ec(),kE(n.ok?1:2))}function Fe(a,n){if(a&1&&SE(0,Oe,3,1,`div`,42),a&2){let e,t=n.$implicit;kE((e=HE().results()[t])?0:-1,e)}}var de;var he;var F;var Le;var L;var pe=f(()=>{Me$1();Kr();W$1();lk();sk();J();dk();f$1();Kr();de=a=>({$implicit:a}),he=(a,n)=>n.name;F=`:form`,Le=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,L=class a{contexts=I(p);toast=I(u);t=Lt(()=>ok().settings.servers);form=F;input=Le;servers=Lt(()=>this.contexts.contexts().filter(n=>n.name!=="default"));name=wt(``);kind=wt(`ssh`);username=wt(``);host=wt(``);port=wt(``);description=wt(``);formProblem=wt(null);saving=wt(!1);testing=wt(null);results=wt({});confirmOpen=wt(!1);removing=wt(null);filledIn=Lt(()=>this.name().trim()!==``&&this.host().trim()!==``);constructor(){this.contexts.load()}async test(n,e){this.testing.set(n);try{let t=await window.electron.contexts.test(e);this.results.update(l=>G(W({},l),{[n]:t}))}catch(t){this.results.update(l=>G(W({},l),{[n]:{ok:!1,problem:eH(t),unknownHostKey:null}}))}finally{this.testing.set(null)}}async testForm(){let n=this.server();n!==null&&(this.formProblem.set(null),await this.test(F,{server:n}))}async trust(n,e,t){try{let s=await window.electron.contexts.trustHostKey(e,t);if(!s.ok){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:s.problem,unknownHostKey:null}}));return}}catch(s){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:eH(s),unknownHostKey:null}}));return}let l=n===F?this.server():null;await this.test(n,l===null?{context:n}:{server:l})}async add(n){n.preventDefault();let e=this.server();if(!(e===null||this.saving())){this.saving.set(!0);try{let t=await window.electron.contexts.create(e);if(!t.ok){this.formProblem.set(t.problem);return}this.toast.success(this.t().add.added(e.name)),this.reset(),await this.contexts.load()}catch(t){this.formProblem.set(eH(t))}finally{this.saving.set(!1)}}}askRemove(n){this.removing.set(n),this.confirmOpen.set(!0)}async remove(){let n=this.removing();if(n!==null)try{let e=await window.electron.contexts.remove(n);if(!e.ok){this.toast.error(e.problem);return}this.forgetResult(n),await this.contexts.load()}catch(e){this.toast.error(eH(e))}finally{this.removing.set(null)}}server(){let n=this.port().trim(),e=n===``?null:Number(n);if(e!==null&&(!Number.isInteger(e)||e<1||e>65535))return this.formProblem.set(ok().settings.servers.add.port+`: 1–65535`),null;let t=this.username().trim(),l=this.description().trim();return{name:this.name().trim(),description:l===``?null:l,kind:this.kind(),host:this.host().trim(),port:e,username:this.kind()===`ssh`&&t!==``?t:null}}reset(){this.name.set(``),this.username.set(``),this.host.set(``),this.port.set(``),this.description.set(``),this.formProblem.set(null),this.forgetResult(F)}forgetResult(n){this.results.update(e=>Object.fromEntries(Object.entries(e).filter(([t])=>t!==n)))}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-servers-settings`]],decls:50,vars:50,consts:[[`outcome`,``],[`data-testid`,`servers-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-1`,`text-[12px]`,`text-ink-500`],[1,`mt-3`,`divide-y`,`divide-ink-700`,`border-y`,`border-ink-700`],[1,`py-2.5`],[1,`py-2.5`,`text-[13px]`,`text-ink-400`],[`data-testid`,`server-form`,1,`mt-4`,3,`submit`],[1,`mt-2`,`grid`,`grid-cols-6`,`gap-3`],[1,`col-span-3`,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`data-testid`,`server-name`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-kind`,3,`change`],[`value`,`ssh`,3,`selected`],[`value`,`tcp`,3,`selected`],[1,`col-span-2`,`block`],[1,`block`],[`type`,`text`,`data-testid`,`server-host`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[1,`col-span-1`,`block`],[`type`,`text`,`inputmode`,`numeric`,`data-testid`,`server-port`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`col-span-6`,`block`],[`type`,`text`,`data-testid`,`server-description`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`mt-2`,`text-[12px]`,`text-warn`],[`data-testid`,`server-form-problem`,1,`mt-2`,`text-[12px]`,`text-danger`],[1,`mt-3`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`data-testid`,`server-form-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`submit`,`data-testid`,`server-add`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`plus`,3,`size`],[4,`ngTemplateOutlet`,`ngTemplateOutletContext`],[3,`openChange`,`confirmed`,`open`,`title`,`description`],[1,`flex`,`items-center`,`gap-3`],[1,`min-w-0`,`flex-1`],[1,`flex`,`items-center`,`gap-2`],[1,`text-[13px]`,`text-ink-100`],[1,`rounded`,`bg-ink-700`,`px-1.5`,`text-[11px]`,`text-ink-200`],[1,`truncate`,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`text-[12px]`,`text-ink-500`],[1,`text-[12px]`,`text-danger`],[`type`,`button`,`data-testid`,`server-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`button`,`data-testid`,`server-remove`,1,`mx-btn`,`mx-focus`,3,`click`,`title`,`disabled`],[`name`,`trash`,3,`size`],[`type`,`text`,`data-testid`,`server-username`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-test-result`,1,`mt-2`,`text-[12px]`],[1,`text-ok`],[1,`text-danger`],[1,`mt-2`,`text-ink-300`],[1,`mt-1`,`flex`,`items-center`,`gap-3`],[`data-testid`,`server-fingerprint`,1,`min-w-0`,`flex-1`,`truncate`,`font-mono`,`text-ink-100`],[`type`,`button`,`data-testid`,`server-trust`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`]],template:function(e,t){if(e&1){let l=RE();Li(0,`div`,1)(1,`h2`,2),fS(2),Nc(),Li(3,`p`,3),fS(4),Nc(),Li(5,`ul`,4),kc(6,Te,17,17,`li`,5,he,!1,Ie,2,1,`li`,6),Nc(),Li(9,`form`,7),Jm(`submit`,function(_){return t.add(_)}),Li(10,`h3`,2),fS(11),Nc(),Li(12,`div`,8)(13,`label`,9)(14,`span`,10),fS(15),Nc(),Li(16,`input`,11),Jm(`input`,function(_){return t.name.set(_.target.value)}),Nc()(),Li(17,`label`,9)(18,`span`,10),fS(19),Nc(),Li(20,`select`,12),Jm(`change`,function(_){return t.kind.set(_.target.value)}),Li(21,`option`,13),fS(22),Nc(),Li(23,`option`,14),fS(24),Nc()()(),SE(25,Pe,4,5,`label`,15),Li(26,`label`,16)(27,`span`,10),fS(28),Nc(),Li(29,`input`,17),Jm(`input`,function(_){return t.host.set(_.target.value)}),Nc()(),Li(30,`label`,18)(31,`span`,10),fS(32),Nc(),Li(33,`input`,19),Jm(`input`,function(_){return t.port.set(_.target.value)}),Nc()(),Li(34,`label`,20)(35,`span`,10),fS(36),Nc(),Li(37,`input`,21),Jm(`input`,function(_){return t.description.set(_.target.value)}),Nc()()(),SE(38,De,2,1,`p`,22),SE(39,Me,2,1,`p`,23),Li(40,`div`,24)(41,`button`,25),Jm(`click`,function(){return t.testForm()}),fS(42),Nc(),Li(43,`button`,26),Gm(44,`app-icon`,27),fS(45),Nc()(),_m(46,Ve,1,0,`ng-container`,28),Nc()(),_m(47,Fe,1,1,`ng-template`,null,0,_S),Li(49,`app-confirm-dialog`,29),vg(`openChange`,function(_){return Od(l),vS(t.confirmOpen,_)||(t.confirmOpen=_),Ld(_)}),Jm(`confirmed`,function(){return t.remove()}),Nc()}if(e&2){let l,s=zE(48);ec(2),pg(t.t().heading),ec(2),pg(t.t().hint),ec(2),Tc(t.servers()),ec(5),pg(t.t().add.heading),ec(4),pg(t.t().add.name),ec(),nS(t.input),Wm(`placeholder`,t.t().add.namePlaceholder)(`value`,t.name()),ec(3),pg(t.t().add.kind),ec(),nS(t.input),ec(),Wm(`selected`,t.kind()===`ssh`),ec(),pg(t.t().add.ssh),ec(),Wm(`selected`,t.kind()===`tcp`),ec(),pg(t.t().add.tcp),ec(),kE(t.kind()===`ssh`?25:-1),ec(),ag(`col-span-3`,t.kind()===`ssh`)(`col-span-5`,t.kind()===`tcp`),ec(2),pg(t.t().add.host),ec(),nS(t.input),Wm(`placeholder`,t.t().add.hostPlaceholder)(`value`,t.host()),ec(3),pg(t.t().add.port),ec(),nS(t.input),Wm(`placeholder`,t.kind()===`ssh`?`22`:`2375`)(`value`,t.port()),ec(3),pg(t.t().add.description),ec(),nS(t.input),Wm(`placeholder`,t.t().add.descriptionPlaceholder)(`value`,t.description()),ec(),kE(t.kind()===`tcp`?38:-1),ec(),kE((l=t.formProblem())?39:-1,l),ec(2),Wm(`disabled`,!t.filledIn()||t.testing()!==null),ec(),Ac(` `,t.testing()===t.form?t.t().testing:t.t().test,` `),ec(),Wm(`disabled`,!t.filledIn()||t.saving()),ec(),Wm(`size`,14),ec(),Ac(` `,t.t().add.submit,` `),ec(),Wm(`ngTemplateOutlet`,s)(`ngTemplateOutletContext`,SS(48,de,t.form)),ec(3),hg(`open`,t.confirmOpen),Wm(`title`,t.t().removeTitle(t.removing()??``))(`description`,t.t().removeDescription)}},dependencies:[W$2,My,tn],encapsulation:2})}});function Ke(a,n){if(a&1&&(Li(0,`option`,10),fS(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.language),zr(`lang`,e.value),ec(),pg(e.name)}}function Re(a,n){if(a&1&&(Li(0,`p`,17),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().startup.shortcutTaken)}}function $e(a,n){if(a&1&&(Li(0,`span`,24),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().update.version(n.current))}}function He(a,n){if(a&1){let e=RE();Li(0,`button`,33),Jm(`click`,function(){Od(e);return Ld(HE(2).install())}),fS(1),Nc()}if(a&2){let e=HE(2);ec(),Ac(` `,e.t().update.install,` `)}}function je(a,n){if(a&1){let e=RE();Li(0,`button`,34),Jm(`click`,function(){Od(e);return Ld(HE(2).check())}),fS(1),Nc()}if(a&2){let e=HE(2);Wm(`disabled`,e.updateState()===`checking`||e.updateState()===`downloading`),ec(),Ac(` `,e.t().update.check,` `)}}function ze(a,n){if(a&1){let e=RE();Li(0,`div`,27)(1,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE(2).update({autoUpdate:l}))}),Nc()()}if(a&2){let e=HE(),t=HE();ec(),Wm(`label`,t.t().update.auto)(`on`,e.autoUpdate)}}function We(a,n){if(a&1&&(Li(0,`option`,10),fS(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.assistantModel),ec(),pg(e.name)}}function Be(a,n){if(a&1){let e=RE();Li(0,`div`,7)(1,`span`,37),fS(2),Nc(),Li(3,`button`,38),Jm(`click`,function(){Od(e);return Ld(HE(3).clearKey())}),Gm(4,`app-icon`,39),fS(5),Nc()()}if(a&2){let e=HE(3);ec(2),pg(e.t().assistant.configured),ec(2),Wm(`size`,14),ec(),Ac(` `,e.t().assistant.clearKey,` `)}}function Ge(a,n){if(a&1){let e=RE();Li(0,`form`,40),Jm(`submit`,function(l){Od(e);return Ld(HE(3).saveKey(l))}),Li(1,`label`,41),fS(2),Nc(),Li(3,`input`,42),Jm(`input`,function(l){Od(e);return Ld(HE(3).keyDraft.set(l.target.value))}),Nc(),Li(4,`button`,43),fS(5),Nc()()}if(a&2){let e=HE(),t=HE(2);ec(2),pg(t.t().assistant.keyLabel),ec(),Wm(`value`,t.keyDraft())(`disabled`,!e.storageAvailable),ec(),Wm(`disabled`,!e.storageAvailable||t.keyDraft().trim()===``),ec(),Ac(` `,t.common().save,` `)}}function qe(a,n){a&1&&(Li(0,`p`,36),fS(1),Nc()),a&2&&(ec(),pg(n))}function Je(a,n){if(a&1&&(SE(0,Be,6,3,`div`,7)(1,Ge,6,5,`form`,35),SE(2,qe,2,1,`p`,36),Li(3,`p`,11),fS(4),Nc()),a&2){let e,t=HE(2);kE(n.configured?0:1),ec(2),kE((e=t.keyProblem())?2:-1,e),ec(2),pg(t.t().assistant.hint)}}function Qe(a,n){if(a&1){let e=RE();Li(0,`div`,3)(1,`div`,4)(2,`div`,5)(3,`h2`,6),fS(4),Nc(),Li(5,`div`,7)(6,`label`,8),fS(7),Nc(),Li(8,`select`,9),Jm(`change`,function(l){Od(e);return Ld(HE().chooseLanguage(l.target.value))}),kc(9,Ke,2,4,`option`,10,ce),Nc()(),Li(11,`p`,11),fS(12),Nc()(),Li(13,`div`,12)(14,`h2`,6),fS(15),Nc(),Li(16,`div`,13)(17,`app-filter-switch`,14),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({startAtLogin:l}))}),Nc()(),Li(18,`p`,11),fS(19),Nc(),Li(20,`div`,15)(21,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({paletteShortcut:l}))}),Nc()(),SE(22,Re,2,1,`p`,17),Nc(),Li(23,`div`,12)(24,`h2`,6),fS(25),Nc(),Li(26,`div`,18)(27,`div`,19)(28,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({notifyCrash:l}))}),Nc()(),Li(29,`div`,20)(30,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({notifyUnhealthy:l}))}),Nc()(),Li(31,`div`,21)(32,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({notifyWiring:l}))}),Nc()()(),Li(33,`p`,11),fS(34),Nc()(),Li(35,`div`,22)(36,`div`,23)(37,`h2`,6),fS(38),Nc(),SE(39,$e,2,1,`span`,24),SE(40,He,2,1,`button`,25)(41,je,2,2,`button`,26),Nc(),SE(42,ze,2,2,`div`,27),Li(43,`p`,28),fS(44),Nc()(),Li(45,`div`,29)(46,`h2`,6),fS(47,`Claude`),Nc(),Li(48,`div`,30)(49,`label`,31),fS(50),Nc(),Li(51,`select`,32),Jm(`change`,function(l){Od(e);return Ld(HE().update({assistantModel:l.target.value}))}),kc(52,We,2,3,`option`,10,ce),Nc()(),Li(54,`p`,11),fS(55),Nc(),SE(56,Je,5,3),Nc()(),Gm(57,`app-servers-settings`),Nc()}if(a&2){let e,t,l=n,s=HE();ec(4),pg(s.t().language.heading),ec(3),pg(s.t().language.label),ec(2),Tc(s.languages),ec(3),pg(s.t().language.hint),ec(3),pg(s.t().startup.heading),ec(2),Wm(`label`,s.t().startup.startAtLogin)(`on`,l.startAtLogin)(`disabled`,!l.startAtLoginAvailable),ec(2),Ac(` `,l.startAtLoginAvailable?s.t().startup.hintAvailable:s.t().startup.hintUnavailable,` `),ec(2),Wm(`label`,s.t().startup.paletteShortcut)(`on`,l.paletteShortcut),ec(),kE(l.paletteShortcut&&!l.paletteShortcutActive?22:-1),ec(3),pg(s.t().notifications.heading),ec(3),Wm(`label`,s.t().notifications.crash)(`on`,l.notifyCrash),ec(2),Wm(`label`,s.t().notifications.unhealthy)(`on`,l.notifyUnhealthy),ec(2),Wm(`label`,s.t().notifications.wiring)(`on`,l.notifyWiring),ec(2),pg(s.t().notifications.hint),ec(4),pg(s.t().update.heading),ec(),kE((e=s.appUpdate())?39:-1,e),ec(),kE(s.updateState()===`ready`?40:s.updateState()!==`unavailable`?41:-1),ec(2),kE(s.updateState()!==`unavailable`?42:-1),ec(2),pg(s.updateText()),ec(6),pg(s.t().assistant.model),ec(2),Tc(s.models),ec(3),pg(s.t().assistant.modelHint),ec(),kE((t=s.assistant())?56:-1,t)}}var ce;var Xe;var me;f(()=>{Kr();le();sk();lk();K();dk();x();pe();Kr();ce=(a,n)=>n.value;Xe={"claude-opus-5":`Opus 5`,"claude-sonnet-5":`Sonnet 5`,"claude-haiku-4-5":`Haiku 4.5`},me=class a{t=Lt(()=>ok().settings);common=Lt(()=>ok().common);languages=Object.keys(J0).map(n=>({value:n,name:J0[n]}));models=se.map(n=>({value:n,name:Xe[n]}));settings=wt(null);problem=wt(null);appUpdate=wt(null);assistant=wt(null);keyDraft=wt(``);keyProblem=wt(null);updateState=Lt(()=>this.appUpdate()?.status.state??`unavailable`);updateText=Lt(()=>{let n=this.appUpdate()?.status??{state:`unavailable`},e=this.t().update;switch(n.state){case`unavailable`:return e.unavailable;case`idle`:return e.idle;case`checking`:return e.checking;case`upToDate`:return e.upToDate(new Date(n.checkedAt).toLocaleTimeString(ik(),{hour:`2-digit`,minute:`2-digit`}));case`downloading`:return e.downloading(n.version,n.percent);case`ready`:return e.ready(n.version);case`error`:return e.error(n.problem)}});constructor(){this.load(),this.loadAppUpdate(),this.loadAssistant();let n=window.electron.appUpdate.onChange(e=>this.appUpdate.set(e));I(ve).onDestroy(n)}async check(){try{this.appUpdate.set(await window.electron.appUpdate.check())}catch(n){this.problem.set(eH(n))}}async install(){try{await window.electron.appUpdate.install()}catch(n){this.problem.set(eH(n))}}async update(n){try{this.settings.set(await window.electron.settings.update(n)),this.problem.set(null)}catch(e){this.problem.set(eH(e)),await this.load()}}async chooseLanguage(n){Ty(n),await this.update({language:n}),Ty(this.settings()?.language??n)}async saveKey(n){n.preventDefault();try{let e=await window.electron.assistant.setKey(this.keyDraft());if(!e.ok){this.keyProblem.set(e.problem);return}this.keyDraft.set(``),this.keyProblem.set(null),await this.loadAssistant()}catch(e){this.keyProblem.set(eH(e))}}async clearKey(){try{this.assistant.set(await window.electron.assistant.clearKey()),this.keyProblem.set(null)}catch(n){this.keyProblem.set(eH(n))}}async loadAssistant(){try{this.assistant.set(await window.electron.assistant.status())}catch(n){this.problem.set(eH(n))}}async loadAppUpdate(){try{this.appUpdate.set(await window.electron.appUpdate.get())}catch(n){this.problem.set(eH(n))}}async load(){try{this.settings.set(await window.electron.settings.get())}catch(n){this.problem.set(eH(n))}}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-settings-page`]],decls:5,vars:3,consts:[[1,`h-full`,`overflow-y-auto`,`px-6`,`pt-5`,`pb-8`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[3,`problem`],[1,`mt-4`,`grid`,`max-w-6xl`,`items-start`,`gap-4`,`lg:grid-cols-2`],[1,`space-y-4`],[`data-testid`,`setting-language`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-language`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-language`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[3,`value`,`selected`],[1,`mt-2`,`text-[12px]`,`text-ink-500`],[1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-start-at-login`,1,`mt-3`],[3,`onChange`,`label`,`on`,`disabled`],[`data-testid`,`setting-palette-shortcut`,1,`mt-3`],[3,`onChange`,`label`,`on`],[`data-testid`,`shortcut-taken`,1,`mt-2`,`text-[12px]`,`text-warn`],[1,`mt-3`,`space-y-2.5`],[`data-testid`,`setting-notify-crash`],[`data-testid`,`setting-notify-unhealthy`],[`data-testid`,`setting-notify-wiring`],[`data-testid`,`app-update`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`flex`,`items-center`,`gap-3`],[1,`font-mono`,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`disabled`],[`data-testid`,`setting-auto-update`,1,`mt-3`],[`data-testid`,`app-update-status`,1,`mt-2`,`text-[12px]`,`text-ink-500`],[`data-testid`,`assistant-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-assistant-model`,1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-assistant-model`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-assistant-model`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`,`disabled`],[1,`mt-3`,`flex`,`gap-2`],[1,`mt-2`,`text-[12px]`,`text-danger`],[1,`text-[13px]`,`text-ink-300`],[`type`,`button`,`data-testid`,`assistant-clear-key`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`trash`,3,`size`],[1,`mt-3`,`flex`,`gap-2`,3,`submit`],[`for`,`assistant-key`,1,`sr-only`],[`id`,`assistant-key`,`type`,`password`,`placeholder`,`sk-ant-…`,`autocomplete`,`off`,`spellcheck`,`false`,1,`mx-focus`,`min-w-0`,`flex-1`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-3`,`py-1.5`,`font-mono`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`value`,`disabled`],[`type`,`submit`,`data-testid`,`assistant-save-key`,1,`mx-btn`,`mx-focus`,3,`disabled`]],template:function(e,t){if(e&1&&(Li(0,`section`,0)(1,`h1`,1),fS(2),Nc(),Gm(3,`app-page-messages`,2),SE(4,Qe,58,27,`div`,3),Nc()),e&2){let l;ec(2),pg(t.t().title),ec(),Wm(`problem`,t.problem()),ec(),kE((l=t.settings())?4:-1,l)}},dependencies:[P,u$1,My,L],encapsulation:2})}})();export{me as SettingsPage};
1
+ import{A as I,Ct as Tc,Dn as kE,Dt as Ty,F as J0,Ft as Wm,Gn as pg,Gt as _S,H as Li,I as Jm,In as nS,J as My,Jt as ag,Kt as _m,Mn as lk,O as HE,On as kc,Pt as W,R as Kr,S as G,Sn as hg,T as Gm,Tr as zr,V as Ld,Vn as ok,W as Lt,X as Nc,_r as wt,_t as SS,cn as ec,ct as Qm,er as sk,gt as SE,hr as wc,in as dk,ln as f,lr as ve,r as Ac,sn as eH,sr as vS,tt as Od,un as fS,ur as vg,ut as RE,wn as ik,wr as zE}from"./chunk-CQJfJJJO.js";import{n as u,t as f$1}from"./chunk-B417lX5i.js";import"./chunk-CtE-C6Yi.js";import{i as p,t as W$1}from"./chunk-ClFvQPeD.js";import{F as tn,u as Me$1}from"./chunk-DNfHCIbw.js";import{n as x,t as u$1}from"./chunk-Dw7M06TM.js";import"./chunk-Ou7gEgt7.js";import"./chunk-ChkLvkqV.js";import{n as W$2,t as J}from"./chunk-CsmSLtiO.js";import{n as P,t as K}from"./chunk-CcSH3zkW.js";var se;var le=f(()=>{se=[`claude-opus-5`,`claude-sonnet-5`,`claude-haiku-4-5`]});function Se(a,n){if(a&1&&(Li(0,`span`,34),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().inUse)}}function Ce(a,n){if(a&1&&(Li(0,`span`,34),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().cli)}}function ke(a,n){if(a&1&&(Li(0,`div`,36),fS(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.description)}}function we(a,n){if(a&1&&(Li(0,`div`,37),fS(1),Nc()),a&2){let e=HE().$implicit;ec(),pg(e.reason)}}function Ee(a,n){a&1&&Qm(0)}function Te(a,n){if(a&1){let e=RE();Li(0,`li`,5)(1,`div`,30)(2,`div`,31)(3,`div`,32)(4,`span`,33),fS(5),Nc(),SE(6,Se,2,1,`span`,34),SE(7,Ce,2,1,`span`,34),Nc(),Li(8,`div`,35),fS(9),Nc(),SE(10,ke,2,1,`div`,36),SE(11,we,2,1,`div`,37),Nc(),Li(12,`button`,38),Jm(`click`,function(){let l=Od(e).$implicit;return Ld(HE().test(l.name,{context:l.name}))}),fS(13),Nc(),Li(14,`button`,39),Jm(`click`,function(){let l=Od(e).$implicit;return Ld(HE().askRemove(l.name))}),Gm(15,`app-icon`,40),Nc()(),_m(16,Ee,1,0,`ng-container`,28),Nc()}if(a&2){let e=n.$implicit,t=HE(),l=zE(48);zr(`data-testid`,`server-`+e.name),ec(5),pg(e.name),ec(),kE(e.active?6:-1),ec(),kE(e.currentInCli?7:-1),ec(2),pg(e.host),ec(),kE(e.description?10:-1),ec(),kE(!e.supported&&e.reason?11:-1),ec(),Wm(`disabled`,!e.supported||t.testing()!==null),ec(),Ac(` `,t.testing()===e.name?t.t().testing:t.t().test,` `),ec(),Wm(`title`,e.active||e.currentInCli?t.t().removeBlocked:t.t().remove)(`disabled`,e.active||e.currentInCli),zr(`aria-label`,t.t().remove),ec(),Wm(`size`,14),ec(),Wm(`ngTemplateOutlet`,l)(`ngTemplateOutletContext`,SS(15,de,e.name))}}function Ie(a,n){if(a&1&&(Li(0,`li`,6),fS(1),Nc()),a&2){let e=HE();ec(),pg(e.t().empty)}}function Pe(a,n){if(a&1){let e=RE();Li(0,`label`,15)(1,`span`,10),fS(2),Nc(),Li(3,`input`,41),Jm(`input`,function(l){Od(e);return Ld(HE().username.set(l.target.value))}),Nc()()}if(a&2){let e=HE();ec(2),pg(e.t().add.username),ec(),nS(e.input),Wm(`placeholder`,e.t().add.usernamePlaceholder)(`value`,e.username())}}function De(a,n){if(a&1&&(Li(0,`p`,22),fS(1),Nc()),a&2){let e=HE();ec(),pg(e.t().add.tcpWarning)}}function Me(a,n){a&1&&(Li(0,`p`,23),fS(1),Nc()),a&2&&(ec(),pg(n))}function Ve(a,n){a&1&&Qm(0)}function Ae(a,n){if(a&1&&(Li(0,`p`,43),fS(1),Nc()),a&2){let e=HE(),t=HE(2);ec(),pg(t.t().connected(e.version,e.os,e.arch))}}function Ne(a,n){if(a&1){let e=RE();Li(0,`p`,45),fS(1),Nc(),Li(2,`div`,46)(3,`code`,47),fS(4),Nc(),Li(5,`button`,48),Jm(`click`,function(){let l=Od(e),s=HE(3).$implicit;return Ld(HE().trust(s,l.name,l.fingerprint))}),fS(6),Nc()()}if(a&2){let e=n,t=HE(4);ec(),pg(t.t().unknownHostKey(e.name,e.type)),ec(3),pg(e.fingerprint),ec(),Wm(`disabled`,t.testing()!==null),ec(),Ac(` `,t.t().trust,` `)}}function Ue(a,n){if(a&1&&(Li(0,`p`,44),fS(1),Nc(),SE(2,Ne,7,4)),a&2){let e,t=HE();ec(),pg(t.problem),ec(),kE((e=t.unknownHostKey)?2:-1,e)}}function Oe(a,n){a&1&&(Li(0,`div`,42),SE(1,Ae,2,1,`p`,43)(2,Ue,3,2),Nc()),a&2&&(ec(),kE(n.ok?1:2))}function Fe(a,n){if(a&1&&SE(0,Oe,3,1,`div`,42),a&2){let e,t=n.$implicit;kE((e=HE().results()[t])?0:-1,e)}}var de;var he;var F;var Le;var L;var pe=f(()=>{Me$1();Kr();W$1();lk();sk();J();dk();f$1();Kr();de=a=>({$implicit:a}),he=(a,n)=>n.name;F=`:form`,Le=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,L=class a{contexts=I(p);toast=I(u);t=Lt(()=>ok().settings.servers);form=F;input=Le;servers=Lt(()=>this.contexts.contexts().filter(n=>n.name!=="default"));name=wt(``);kind=wt(`ssh`);username=wt(``);host=wt(``);port=wt(``);description=wt(``);formProblem=wt(null);saving=wt(!1);testing=wt(null);results=wt({});confirmOpen=wt(!1);removing=wt(null);filledIn=Lt(()=>this.name().trim()!==``&&this.host().trim()!==``);constructor(){this.contexts.load()}async test(n,e){this.testing.set(n);try{let t=await window.electron.contexts.test(e);this.results.update(l=>G(W({},l),{[n]:t}))}catch(t){this.results.update(l=>G(W({},l),{[n]:{ok:!1,problem:eH(t),unknownHostKey:null}}))}finally{this.testing.set(null)}}async testForm(){let n=this.server();n!==null&&(this.formProblem.set(null),await this.test(F,{server:n}))}async trust(n,e,t){try{let s=await window.electron.contexts.trustHostKey(e,t);if(!s.ok){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:s.problem,unknownHostKey:null}}));return}}catch(s){this.results.update(_=>G(W({},_),{[n]:{ok:!1,problem:eH(s),unknownHostKey:null}}));return}let l=n===F?this.server():null;await this.test(n,l===null?{context:n}:{server:l})}async add(n){n.preventDefault();let e=this.server();if(!(e===null||this.saving())){this.saving.set(!0);try{let t=await window.electron.contexts.create(e);if(!t.ok){this.formProblem.set(t.problem);return}this.toast.success(this.t().add.added(e.name)),this.reset(),await this.contexts.load()}catch(t){this.formProblem.set(eH(t))}finally{this.saving.set(!1)}}}askRemove(n){this.removing.set(n),this.confirmOpen.set(!0)}async remove(){let n=this.removing();if(n!==null)try{let e=await window.electron.contexts.remove(n);if(!e.ok){this.toast.error(e.problem);return}this.forgetResult(n),await this.contexts.load()}catch(e){this.toast.error(eH(e))}finally{this.removing.set(null)}}server(){let n=this.port().trim(),e=n===``?null:Number(n);if(e!==null&&(!Number.isInteger(e)||e<1||e>65535))return this.formProblem.set(ok().settings.servers.add.port+`: 1–65535`),null;let t=this.username().trim(),l=this.description().trim();return{name:this.name().trim(),description:l===``?null:l,kind:this.kind(),host:this.host().trim(),port:e,username:this.kind()===`ssh`&&t!==``?t:null}}reset(){this.name.set(``),this.username.set(``),this.host.set(``),this.port.set(``),this.description.set(``),this.formProblem.set(null),this.forgetResult(F)}forgetResult(n){this.results.update(e=>Object.fromEntries(Object.entries(e).filter(([t])=>t!==n)))}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-servers-settings`]],decls:50,vars:50,consts:[[`outcome`,``],[`data-testid`,`servers-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-1`,`text-[12px]`,`text-ink-500`],[1,`mt-3`,`divide-y`,`divide-ink-700`,`border-y`,`border-ink-700`],[1,`py-2.5`],[1,`py-2.5`,`text-[13px]`,`text-ink-400`],[`data-testid`,`server-form`,1,`mt-4`,3,`submit`],[1,`mt-2`,`grid`,`grid-cols-6`,`gap-3`],[1,`col-span-3`,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`data-testid`,`server-name`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-kind`,3,`change`],[`value`,`ssh`,3,`selected`],[`value`,`tcp`,3,`selected`],[1,`col-span-2`,`block`],[1,`block`],[`type`,`text`,`data-testid`,`server-host`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[1,`col-span-1`,`block`],[`type`,`text`,`inputmode`,`numeric`,`data-testid`,`server-port`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`col-span-6`,`block`],[`type`,`text`,`data-testid`,`server-description`,`autocomplete`,`off`,3,`input`,`placeholder`,`value`],[1,`mt-2`,`text-[12px]`,`text-warn`],[`data-testid`,`server-form-problem`,1,`mt-2`,`text-[12px]`,`text-danger`],[1,`mt-3`,`flex`,`justify-end`,`gap-2`],[`type`,`button`,`data-testid`,`server-form-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`submit`,`data-testid`,`server-add`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`plus`,3,`size`],[4,`ngTemplateOutlet`,`ngTemplateOutletContext`],[3,`openChange`,`confirmed`,`open`,`title`,`description`],[1,`flex`,`items-center`,`gap-3`],[1,`min-w-0`,`flex-1`],[1,`flex`,`items-center`,`gap-2`],[1,`text-[13px]`,`text-ink-100`],[1,`rounded`,`bg-ink-700`,`px-1.5`,`text-[11px]`,`text-ink-200`],[1,`truncate`,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`text-[12px]`,`text-ink-500`],[1,`text-[12px]`,`text-danger`],[`type`,`button`,`data-testid`,`server-test`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`],[`type`,`button`,`data-testid`,`server-remove`,1,`mx-btn`,`mx-focus`,3,`click`,`title`,`disabled`],[`name`,`trash`,3,`size`],[`type`,`text`,`data-testid`,`server-username`,`autocomplete`,`off`,`spellcheck`,`false`,3,`input`,`placeholder`,`value`],[`data-testid`,`server-test-result`,1,`mt-2`,`text-[12px]`],[1,`text-ok`],[1,`text-danger`],[1,`mt-2`,`text-ink-300`],[1,`mt-1`,`flex`,`items-center`,`gap-3`],[`data-testid`,`server-fingerprint`,1,`min-w-0`,`flex-1`,`truncate`,`font-mono`,`text-ink-100`],[`type`,`button`,`data-testid`,`server-trust`,1,`mx-btn`,`mx-focus`,3,`click`,`disabled`]],template:function(e,t){if(e&1){let l=RE();Li(0,`div`,1)(1,`h2`,2),fS(2),Nc(),Li(3,`p`,3),fS(4),Nc(),Li(5,`ul`,4),kc(6,Te,17,17,`li`,5,he,!1,Ie,2,1,`li`,6),Nc(),Li(9,`form`,7),Jm(`submit`,function(_){return t.add(_)}),Li(10,`h3`,2),fS(11),Nc(),Li(12,`div`,8)(13,`label`,9)(14,`span`,10),fS(15),Nc(),Li(16,`input`,11),Jm(`input`,function(_){return t.name.set(_.target.value)}),Nc()(),Li(17,`label`,9)(18,`span`,10),fS(19),Nc(),Li(20,`select`,12),Jm(`change`,function(_){return t.kind.set(_.target.value)}),Li(21,`option`,13),fS(22),Nc(),Li(23,`option`,14),fS(24),Nc()()(),SE(25,Pe,4,5,`label`,15),Li(26,`label`,16)(27,`span`,10),fS(28),Nc(),Li(29,`input`,17),Jm(`input`,function(_){return t.host.set(_.target.value)}),Nc()(),Li(30,`label`,18)(31,`span`,10),fS(32),Nc(),Li(33,`input`,19),Jm(`input`,function(_){return t.port.set(_.target.value)}),Nc()(),Li(34,`label`,20)(35,`span`,10),fS(36),Nc(),Li(37,`input`,21),Jm(`input`,function(_){return t.description.set(_.target.value)}),Nc()()(),SE(38,De,2,1,`p`,22),SE(39,Me,2,1,`p`,23),Li(40,`div`,24)(41,`button`,25),Jm(`click`,function(){return t.testForm()}),fS(42),Nc(),Li(43,`button`,26),Gm(44,`app-icon`,27),fS(45),Nc()(),_m(46,Ve,1,0,`ng-container`,28),Nc()(),_m(47,Fe,1,1,`ng-template`,null,0,_S),Li(49,`app-confirm-dialog`,29),vg(`openChange`,function(_){return Od(l),vS(t.confirmOpen,_)||(t.confirmOpen=_),Ld(_)}),Jm(`confirmed`,function(){return t.remove()}),Nc()}if(e&2){let l,s=zE(48);ec(2),pg(t.t().heading),ec(2),pg(t.t().hint),ec(2),Tc(t.servers()),ec(5),pg(t.t().add.heading),ec(4),pg(t.t().add.name),ec(),nS(t.input),Wm(`placeholder`,t.t().add.namePlaceholder)(`value`,t.name()),ec(3),pg(t.t().add.kind),ec(),nS(t.input),ec(),Wm(`selected`,t.kind()===`ssh`),ec(),pg(t.t().add.ssh),ec(),Wm(`selected`,t.kind()===`tcp`),ec(),pg(t.t().add.tcp),ec(),kE(t.kind()===`ssh`?25:-1),ec(),ag(`col-span-3`,t.kind()===`ssh`)(`col-span-5`,t.kind()===`tcp`),ec(2),pg(t.t().add.host),ec(),nS(t.input),Wm(`placeholder`,t.t().add.hostPlaceholder)(`value`,t.host()),ec(3),pg(t.t().add.port),ec(),nS(t.input),Wm(`placeholder`,t.kind()===`ssh`?`22`:`2375`)(`value`,t.port()),ec(3),pg(t.t().add.description),ec(),nS(t.input),Wm(`placeholder`,t.t().add.descriptionPlaceholder)(`value`,t.description()),ec(),kE(t.kind()===`tcp`?38:-1),ec(),kE((l=t.formProblem())?39:-1,l),ec(2),Wm(`disabled`,!t.filledIn()||t.testing()!==null),ec(),Ac(` `,t.testing()===t.form?t.t().testing:t.t().test,` `),ec(),Wm(`disabled`,!t.filledIn()||t.saving()),ec(),Wm(`size`,14),ec(),Ac(` `,t.t().add.submit,` `),ec(),Wm(`ngTemplateOutlet`,s)(`ngTemplateOutletContext`,SS(48,de,t.form)),ec(3),hg(`open`,t.confirmOpen),Wm(`title`,t.t().removeTitle(t.removing()??``))(`description`,t.t().removeDescription)}},dependencies:[W$2,My,tn],encapsulation:2})}});function Ke(a,n){if(a&1&&(Li(0,`option`,10),fS(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.language),zr(`lang`,e.value),ec(),pg(e.name)}}function Re(a,n){if(a&1&&(Li(0,`p`,17),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().startup.shortcutTaken)}}function $e(a,n){if(a&1&&(Li(0,`span`,24),fS(1),Nc()),a&2){let e=HE(2);ec(),pg(e.t().update.version(n.current))}}function He(a,n){if(a&1){let e=RE();Li(0,`button`,33),Jm(`click`,function(){Od(e);return Ld(HE(2).install())}),fS(1),Nc()}if(a&2){let e=HE(2);ec(),Ac(` `,e.t().update.install,` `)}}function je(a,n){if(a&1){let e=RE();Li(0,`button`,34),Jm(`click`,function(){Od(e);return Ld(HE(2).check())}),fS(1),Nc()}if(a&2){let e=HE(2);Wm(`disabled`,e.updateState()===`checking`||e.updateState()===`downloading`),ec(),Ac(` `,e.t().update.check,` `)}}function ze(a,n){if(a&1){let e=RE();Li(0,`div`,27)(1,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE(2).update({autoUpdate:l}))}),Nc()()}if(a&2){let e=HE(),t=HE();ec(),Wm(`label`,t.t().update.auto)(`on`,e.autoUpdate)}}function We(a,n){if(a&1&&(Li(0,`option`,10),fS(1),Nc()),a&2){let e=n.$implicit,t=HE();Wm(`value`,e.value)(`selected`,e.value===t.assistantModel),ec(),pg(e.name)}}function Be(a,n){if(a&1){let e=RE();Li(0,`div`,7)(1,`span`,37),fS(2),Nc(),Li(3,`button`,38),Jm(`click`,function(){Od(e);return Ld(HE(3).clearKey())}),Gm(4,`app-icon`,39),fS(5),Nc()()}if(a&2){let e=HE(3);ec(2),pg(e.t().assistant.configured),ec(2),Wm(`size`,14),ec(),Ac(` `,e.t().assistant.clearKey,` `)}}function Ge(a,n){if(a&1){let e=RE();Li(0,`form`,40),Jm(`submit`,function(l){Od(e);return Ld(HE(3).saveKey(l))}),Li(1,`label`,41),fS(2),Nc(),Li(3,`input`,42),Jm(`input`,function(l){Od(e);return Ld(HE(3).keyDraft.set(l.target.value))}),Nc(),Li(4,`button`,43),fS(5),Nc()()}if(a&2){let e=HE(),t=HE(2);ec(2),pg(t.t().assistant.keyLabel),ec(),Wm(`value`,t.keyDraft())(`disabled`,!e.storageAvailable),ec(),Wm(`disabled`,!e.storageAvailable||t.keyDraft().trim()===``),ec(),Ac(` `,t.common().save,` `)}}function qe(a,n){a&1&&(Li(0,`p`,36),fS(1),Nc()),a&2&&(ec(),pg(n))}function Je(a,n){if(a&1&&(SE(0,Be,6,3,`div`,7)(1,Ge,6,5,`form`,35),SE(2,qe,2,1,`p`,36),Li(3,`p`,11),fS(4),Nc()),a&2){let e,t=HE(2);kE(n.configured?0:1),ec(2),kE((e=t.keyProblem())?2:-1,e),ec(2),pg(t.t().assistant.hint)}}function Qe(a,n){if(a&1){let e=RE();Li(0,`div`,3)(1,`div`,4)(2,`div`,5)(3,`h2`,6),fS(4),Nc(),Li(5,`div`,7)(6,`label`,8),fS(7),Nc(),Li(8,`select`,9),Jm(`change`,function(l){Od(e);return Ld(HE().chooseLanguage(l.target.value))}),kc(9,Ke,2,4,`option`,10,ce),Nc()(),Li(11,`p`,11),fS(12),Nc()(),Li(13,`div`,12)(14,`h2`,6),fS(15),Nc(),Li(16,`div`,13)(17,`app-filter-switch`,14),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({startAtLogin:l}))}),Nc()(),Li(18,`p`,11),fS(19),Nc(),Li(20,`div`,15)(21,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({paletteShortcut:l}))}),Nc()(),SE(22,Re,2,1,`p`,17),Nc(),Li(23,`div`,12)(24,`h2`,6),fS(25),Nc(),Li(26,`div`,18)(27,`div`,19)(28,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({notifyCrash:l}))}),Nc()(),Li(29,`div`,20)(30,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({notifyUnhealthy:l}))}),Nc()(),Li(31,`div`,21)(32,`app-filter-switch`,16),Jm(`onChange`,function(l){Od(e);return Ld(HE().update({notifyWiring:l}))}),Nc()()(),Li(33,`p`,11),fS(34),Nc()(),Li(35,`div`,22)(36,`div`,23)(37,`h2`,6),fS(38),Nc(),SE(39,$e,2,1,`span`,24),SE(40,He,2,1,`button`,25)(41,je,2,2,`button`,26),Nc(),SE(42,ze,2,2,`div`,27),Li(43,`p`,28),fS(44),Nc()(),Li(45,`div`,29)(46,`h2`,6),fS(47,`Claude`),Nc(),Li(48,`div`,30)(49,`label`,31),fS(50),Nc(),Li(51,`select`,32),Jm(`change`,function(l){Od(e);return Ld(HE().update({assistantModel:l.target.value}))}),kc(52,We,2,3,`option`,10,ce),Nc()(),Li(54,`p`,11),fS(55),Nc(),SE(56,Je,5,3),Nc()(),Gm(57,`app-servers-settings`),Nc()}if(a&2){let e,t,l=n,s=HE();ec(4),pg(s.t().language.heading),ec(3),pg(s.t().language.label),ec(2),Tc(s.languages),ec(3),pg(s.t().language.hint),ec(3),pg(s.t().startup.heading),ec(2),Wm(`label`,s.t().startup.startAtLogin)(`on`,l.startAtLogin)(`disabled`,!l.startAtLoginAvailable),ec(2),Ac(` `,l.startAtLoginAvailable?s.t().startup.hintAvailable:s.t().startup.hintUnavailable,` `),ec(2),Wm(`label`,s.t().startup.paletteShortcut)(`on`,l.paletteShortcut),ec(),kE(l.paletteShortcut&&!l.paletteShortcutActive?22:-1),ec(3),pg(s.t().notifications.heading),ec(3),Wm(`label`,s.t().notifications.crash)(`on`,l.notifyCrash),ec(2),Wm(`label`,s.t().notifications.unhealthy)(`on`,l.notifyUnhealthy),ec(2),Wm(`label`,s.t().notifications.wiring)(`on`,l.notifyWiring),ec(2),pg(s.t().notifications.hint),ec(4),pg(s.t().update.heading),ec(),kE((e=s.appUpdate())?39:-1,e),ec(),kE(s.updateState()===`ready`?40:s.updateState()!==`unavailable`?41:-1),ec(2),kE(s.updateState()!==`unavailable`?42:-1),ec(2),pg(s.updateText()),ec(6),pg(s.t().assistant.model),ec(2),Tc(s.models),ec(3),pg(s.t().assistant.modelHint),ec(),kE((t=s.assistant())?56:-1,t)}}var ce;var Xe;var me;f(()=>{Kr();le();sk();lk();K();dk();x();pe();Kr();ce=(a,n)=>n.value;Xe={"claude-opus-5":`Opus 5`,"claude-sonnet-5":`Sonnet 5`,"claude-haiku-4-5":`Haiku 4.5`},me=class a{t=Lt(()=>ok().settings);common=Lt(()=>ok().common);languages=Object.keys(J0).map(n=>({value:n,name:J0[n]}));models=se.map(n=>({value:n,name:Xe[n]}));settings=wt(null);problem=wt(null);appUpdate=wt(null);assistant=wt(null);keyDraft=wt(``);keyProblem=wt(null);updateState=Lt(()=>this.appUpdate()?.status.state??`unavailable`);updateText=Lt(()=>{let n=this.appUpdate()?.status??{state:`unavailable`},e=this.t().update;switch(n.state){case`unavailable`:return e.unavailable;case`idle`:return e.idle;case`checking`:return e.checking;case`upToDate`:return e.upToDate(new Date(n.checkedAt).toLocaleTimeString(ik(),{hour:`2-digit`,minute:`2-digit`}));case`downloading`:return e.downloading(n.version,n.percent);case`ready`:return e.ready(n.version);case`error`:return e.error(n.problem)}});constructor(){this.load(),this.loadAppUpdate(),this.loadAssistant();let n=window.electron.appUpdate.onChange(e=>this.appUpdate.set(e));I(ve).onDestroy(n)}async check(){try{this.appUpdate.set(await window.electron.appUpdate.check())}catch(n){this.problem.set(eH(n))}}async install(){try{await window.electron.appUpdate.install()}catch(n){this.problem.set(eH(n))}}async update(n){try{this.settings.set(await window.electron.settings.update(n)),this.problem.set(null)}catch(e){this.problem.set(eH(e)),await this.load()}}async chooseLanguage(n){Ty(n),await this.update({language:n}),Ty(this.settings()?.language??n)}async saveKey(n){n.preventDefault();try{let e=await window.electron.assistant.setKey(this.keyDraft());if(!e.ok){this.keyProblem.set(e.problem);return}this.keyDraft.set(``),this.keyProblem.set(null),await this.loadAssistant()}catch(e){this.keyProblem.set(eH(e))}}async clearKey(){try{this.assistant.set(await window.electron.assistant.clearKey()),this.keyProblem.set(null)}catch(n){this.keyProblem.set(eH(n))}}async loadAssistant(){try{this.assistant.set(await window.electron.assistant.status())}catch(n){this.problem.set(eH(n))}}async loadAppUpdate(){try{this.appUpdate.set(await window.electron.appUpdate.get())}catch(n){this.problem.set(eH(n))}}async load(){try{this.settings.set(await window.electron.settings.get())}catch(n){this.problem.set(eH(n))}}static ɵfac=function(e){return new(e||a)};static ɵcmp=wc({type:a,selectors:[[`app-settings-page`]],decls:5,vars:3,consts:[[1,`h-full`,`overflow-y-auto`,`px-6`,`pt-5`,`pb-8`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[3,`problem`],[1,`mt-4`,`grid`,`max-w-6xl`,`items-start`,`gap-4`,`lg:grid-cols-2`],[1,`space-y-4`],[`data-testid`,`setting-language`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`text-[13px]`,`font-medium`,`text-ink-200`],[1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-language`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-language`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[3,`value`,`selected`],[1,`mt-2`,`text-[12px]`,`text-ink-500`],[1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-start-at-login`,1,`mt-3`],[3,`onChange`,`label`,`on`,`disabled`],[`data-testid`,`setting-palette-shortcut`,1,`mt-3`],[3,`onChange`,`label`,`on`],[`data-testid`,`shortcut-taken`,1,`mt-2`,`text-[12px]`,`text-warn`],[1,`mt-3`,`space-y-2.5`],[`data-testid`,`setting-notify-crash`],[`data-testid`,`setting-notify-unhealthy`],[`data-testid`,`setting-notify-wiring`],[`data-testid`,`app-update`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[1,`flex`,`items-center`,`gap-3`],[1,`font-mono`,`text-[12px]`,`text-ink-500`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`disabled`],[`data-testid`,`setting-auto-update`,1,`mt-3`],[`data-testid`,`app-update-status`,1,`mt-2`,`text-[12px]`,`text-ink-500`],[`data-testid`,`assistant-settings`,1,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`px-4`,`py-3`],[`data-testid`,`setting-assistant-model`,1,`mt-3`,`flex`,`items-center`,`gap-3`],[`for`,`setting-assistant-model`,1,`text-[13px]`,`text-ink-300`],[`id`,`setting-assistant-model`,1,`mx-focus`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-2.5`,`py-1.5`,`text-[13px]`,`text-ink-100`,3,`change`],[`type`,`button`,`data-testid`,`app-update-install`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`type`,`button`,`data-testid`,`app-update-check`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`,`disabled`],[1,`mt-3`,`flex`,`gap-2`],[1,`mt-2`,`text-[12px]`,`text-danger`],[1,`text-[13px]`,`text-ink-300`],[`type`,`button`,`data-testid`,`assistant-clear-key`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`trash`,3,`size`],[1,`mt-3`,`flex`,`gap-2`,3,`submit`],[`for`,`assistant-key`,1,`sr-only`],[`id`,`assistant-key`,`type`,`password`,`placeholder`,`sk-ant-…`,`autocomplete`,`off`,`spellcheck`,`false`,1,`mx-focus`,`min-w-0`,`flex-1`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-800`,`px-3`,`py-1.5`,`font-mono`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`value`,`disabled`],[`type`,`submit`,`data-testid`,`assistant-save-key`,1,`mx-btn`,`mx-focus`,3,`disabled`]],template:function(e,t){if(e&1&&(Li(0,`section`,0)(1,`h1`,1),fS(2),Nc(),Gm(3,`app-page-messages`,2),SE(4,Qe,58,27,`div`,3),Nc()),e&2){let l;ec(2),pg(t.t().title),ec(),Wm(`problem`,t.problem()),ec(),kE((l=t.settings())?4:-1,l)}},dependencies:[P,u$1,My,L],encapsulation:2})}})();export{me as SettingsPage};
@@ -1 +1 @@
1
- import{A as I,Ct as Tc,Dn as kE,En as jc,Fn as mj,Ft as Wm,Gn as pg,H as Li,I as Jm,In as nS,J as My,Kn as pj,Kt as _m,O as HE,On as kc,Pn as mg,R as Kr,Sn as hg,T as Gm,Tr as zr,V as Ld,Vn as ok,W as Lt,X as Nc,Zn as rf,_r as wt,_t as SS,cn as ec,er as sk,gt as SE,hr as wc,in as dk,ln as f,lr as ve,mt as Rp,r as Ac,sr as vS,tt as Od,un as fS,ur as vg,ut as RE,v as ES,vt as Sc,wt as Tg,zt as X}from"./chunk-BU6WXUxF.js";import"./chunk-D0yJpook.js";import{i as h,r as d}from"./chunk-Dc53d1I5.js";import{n as p,t as M}from"./chunk-sLP6RSjc.js";import{n as v,t as u}from"./chunk-BrDsQn6L.js";import"./chunk-C0CE-ryM.js";import{a as Yt,u as ra}from"./chunk-BTUpw4iP.js";import"./chunk-d9EuDpHJ.js";import{_ as pn,d as dn,f as fn,g as ln,l as an,m as ie,r as Je$1,u as cn,v as un}from"./chunk-CKZAnwkz.js";import{n as u$1,t as c}from"./chunk-BiwCCNsK.js";import{n as V,t as G$1}from"./chunk-C5GyUjf6.js";import{n as W,t as J}from"./chunk-USWqj2oG.js";import{i as z,n as oe,r as x,t as h$1}from"./chunk-CuB3SKfL.js";import{n as P,t as K}from"./chunk-DoVE0m-M.js";var je;var q;var Se=f(()=>{Kr();M();Kr();je=`containers.groups`,q=class i{assignments=I(p).entries(je);names=Lt(()=>[...new Set(this.assignments().values())].sort((e,n)=>e.localeCompare(n)));groupOf(t){return this.assignments().get(t)??null}assign(t,e){let n=e.trim();if(n===``)return;let o=new Map(this.assignments());for(let a of t)o.set(a,n);this.assignments.set(o)}release(t){let e=new Map(this.assignments());for(let n of t)e.delete(n);this.assignments.set(e)}rename(t,e){let n=e.trim();if(n===``||n===t)return;let o=new Map(this.assignments());for(let[a,m]of o)m===t&&o.set(a,n);this.assignments.set(o)}dissolve(t){let e=new Map([...this.assignments()].filter(([,n])=>n!==t));this.assignments.set(e)}static ɵfac=function(e){return new(e||i)};static ɵprov=X({token:i,factory:i.ɵfac,providedIn:`root`})}});function Fe(i,t){if(i&1){let e=RE();Li(0,`button`,20),Jm(`click`,function(){let o=Od(e).$implicit;return Ld(HE(3).onInput(o))}),fS(1),Nc()}if(i&2){let e=t.$implicit;ec(),Ac(` `,e,` `)}}function Le(i,t){if(i&1&&(Li(0,`div`)(1,`span`,9),fS(2),Nc(),Li(3,`div`,18),kc(4,Fe,2,1,`button`,19,Sc),Nc()()),i&2){let e=HE(2);ec(2),pg(e.t().existing),ec(2),Tc(e.others())}}function Be(i,t){i&1&&(Li(0,`p`,12),fS(1),Nc()),i&2&&(ec(),pg(t))}function $e(i,t){if(i&1){let e=RE();Gm(0,`div`,2),Li(1,`div`,3)(2,`div`,4)(3,`h2`,5),fS(4),Nc(),Li(5,`p`,6),fS(6),Nc(),Li(7,`form`,7),Jm(`submit`,function(o){Od(e);return Ld(HE().submit(o))}),Li(8,`label`,8)(9,`span`,9),fS(10),Nc(),Li(11,`input`,10),Jm(`input`,function(o){Od(e);return Ld(HE().onInput(o.target.value))}),Nc()(),SE(12,Le,6,1,`div`),Li(13,`p`,11),fS(14),Nc(),SE(15,Be,2,1,`p`,12),Li(16,`div`,13)(17,`button`,14),Gm(18,`app-icon`,15),fS(19),Nc(),Li(20,`button`,16),Gm(21,`app-icon`,17),fS(22),Nc()()()()()}if(i&2){let e,n=HE();ec(4),pg(n.title()),ec(2),pg(n.description()),ec(4),pg(n.t().nameLabel),ec(),nS(n.field),Wm(`placeholder`,n.t().namePlaceholder)(`value`,n.name()),ec(),kE(n.others().length>0?12:-1),ec(2),pg(n.t().hint),ec(),kE((e=n.problem())?15:-1,e),ec(3),Wm(`size`,14),ec(),Ac(` `,n.common().cancel,` `),ec(),Wm(`disabled`,!n.canSubmit()),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().submit,` `)}}var We;var U;var De=f(()=>{Kr();Je$1();dk();sk();Kr();We=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,U=class i{open=mj(!1);title=jc.required();description=jc.required();initial=jc(``);suggestions=jc([]);reserved=jc([]);submitted=pj();t=Lt(()=>ok().containers.page.groupDialog);common=Lt(()=>ok().common);field=We;name=wt(``);touched=wt(!1);others=Lt(()=>this.suggestions().filter(t=>t!==this.initial()));canSubmit=Lt(()=>{let t=this.name().trim();return t!==``&&!this.reserved().includes(t)});problem=Lt(()=>{let t=this.name().trim();return this.touched()?t===``?this.t().empty:this.reserved().includes(t)?this.t().reserved(t):null:null});constructor(){rf(()=>{this.open()&&Tg(()=>{this.name.set(this.initial()),this.touched.set(!1)})})}onInput(t){this.name.set(t),this.touched.set(!0)}submit(t){if(t.preventDefault(),!this.canSubmit()){this.touched.set(!0);return}this.open.set(!1),this.submitted.emit(this.name().trim())}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-group-name-dialog`]],inputs:{open:[1,`open`],title:[1,`title`],description:[1,`description`],initial:[1,`initial`],suggestions:[1,`suggestions`],reserved:[1,`reserved`]},outputs:{open:`openChange`,submitted:`submitted`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,1,`w-full`,`max-w-md`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`space-y-3`,3,`submit`],[1,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,`data-testid`,`groepsnaam`,3,`input`,`placeholder`,`value`],[1,`text-[12px]`,`text-ink-500`],[`role`,`alert`,1,`text-[13px]`,`text-danger`],[1,`flex`,`justify-end`,`gap-2`,`pt-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`check`,3,`size`],[1,`mt-1`,`flex`,`flex-wrap`,`gap-1.5`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded-full`,`border`,`border-ink-700`,`px-2.5`,`py-0.5`,`text-[12px]`,`text-ink-300`,`transition-colors`,`hover:border-accent`,`hover:text-ink-100`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded-full`,`border`,`border-ink-700`,`px-2.5`,`py-0.5`,`text-[12px]`,`text-ink-300`,`transition-colors`,`hover:border-accent`,`hover:text-ink-100`,3,`click`]],template:function(e,n){e&1&&(Li(0,`div`,0),vg(`openChange`,function(a){return vS(n.open,a)||(n.open=a),a}),_m(1,$e,23,15,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My],encapsulation:2})}});function Ue(i,t){i&1&&(Li(0,`p`,13),fS(1),Nc()),i&2&&(ec(),Ac(` `,t,` `))}function He(i,t){if(i&1){let e=RE();Li(0,`button`,31),Jm(`click`,function(){Od(e);return Ld(HE(2).askGroupSelected())}),Gm(1,`app-icon`,37),fS(2),Nc()}if(i&2){let e=HE(2);ec(),Wm(`size`,14),ec(),Ac(` `,e.t().group.addToGroup,` `)}}function Ye(i,t){if(i&1){let e=RE();Li(0,`div`,14)(1,`span`,28),fS(2),Nc(),Li(3,`button`,29),Jm(`click`,function(){Od(e);return Ld(HE().runSelected(`start`))}),Gm(4,`app-icon`,30),fS(5),Nc(),Li(6,`button`,31),Jm(`click`,function(){Od(e);return Ld(HE().runSelected(`stop`))}),Gm(7,`app-icon`,32),fS(8),Nc(),Li(9,`button`,31),Jm(`click`,function(){Od(e);return Ld(HE().runSelected(`restart`))}),Gm(10,`app-icon`,33),fS(11),Nc(),SE(12,He,3,2,`button`,34),Li(13,`button`,35),Jm(`click`,function(){Od(e);return Ld(HE().askRemoveSelected())}),Gm(14,`app-icon`,36),fS(15),Nc()()}if(i&2){let e=HE();ec(2),pg(e.t().selected(e.selected().size)),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().start,` `),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().stop,` `),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().restart,` `),ec(),kE(e.groupableSelection().length>0?12:-1),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().remove,` `)}}function Je(i,t){if(i&1&&(Li(0,`span`,42),fS(1),Nc()),i&2){let e=HE(2);ec(),Ac(` `,e.t().group.manual,` `)}}function Qe(i,t){if(i&1){let e=RE();Li(0,`div`,38)(1,`button`,39),Jm(`click`,function(){let o=Od(e).$implicit;return Ld(HE().toggleGroup(o.key))}),Gm(2,`app-icon`,40),Li(3,`span`,41),fS(4),Nc()(),SE(5,Je,2,1,`span`,42),Li(6,`span`,43),fS(7),Nc(),Li(8,`div`,44)(9,`span`,45),fS(10),Nc(),Li(11,`span`,46),fS(12),Nc(),Li(13,`div`,47)(14,`app-action-menu`,48),Jm(`picked`,function(o){let a=Od(e).$implicit;return Ld(HE().onGroupMenu(o,a))}),Nc()()()()}if(i&2){let e=t.$implicit,n=HE(),o=n.groupBusy(e);ec(),zr(`aria-expanded`,!e.collapsed)(`aria-label`,e.collapsed?n.t().group.expand(e.label):n.t().group.collapse(e.label)),ec(),Wm(`name`,e.collapsed?`chevronRight`:`chevronDown`)(`size`,14),ec(2),pg(e.label),ec(),kE(e.manual?5:-1),ec(2),mg(` `,n.groupCount(e),` · `,n.groupRunning(e),` `),ec(3),pg(n.groupCpu(e)),ec(2),pg(n.groupMemory(e)),ec(2),Wm(`label`,n.t().group.menu(e.label))(`items`,n.groupMenu(e,o))}}function Xe(i,t){if(i&1&&Gm(0,`app-state-dot`,49),i&2){let e=t.$implicit;Wm(`state`,e.state)(`title`,e.status),zr(`aria-label`,e.status)}}function Ze(i,t){if(i&1&&(Li(0,`a`,52),Gm(1,`app-icon`,54),Nc()),i&2){let e=t,n=HE().$implicit,o=HE();Wm(`routerLink`,SS(4,Y,n.id))(`title`,o.t().row.missingNetwork(e)),zr(`aria-label`,o.t().row.missingNetwork(e)),ec(),Wm(`size`,13)}}function et(i,t){if(i&1&&(Li(0,`a`,53),Gm(1,`app-icon`,55),Nc()),i&2){let e=HE().$implicit,n=HE();Wm(`routerLink`,SS(5,Y,e.id))(`queryParams`,ES(7,Ke))(`title`,n.actions().copyDiagnosis),zr(`aria-label`,n.t().row.diagnosisOf(e.name)),ec(),Wm(`size`,13)}}function tt(i,t){if(i&1&&(Li(0,`div`,50)(1,`a`,51),fS(2),Nc(),SE(3,Ze,2,6,`a`,52),SE(4,et,2,8,`a`,53),Nc()),i&2){let e,n=t.$implicit,o=HE();ec(),Wm(`routerLink`,SS(5,Y,n.id))(`title`,n.name),ec(),pg(n.name),ec(),kE((e=n.missingNetwork)?3:-1,e),ec(),kE(o.inTrouble(n)?4:-1)}}function nt(i,t){if(i&1&&(Li(0,`span`,56),fS(1),Nc()),i&2){let e=t.$implicit;ec(),pg(e.shortId)}}function it(i,t){if(i&1&&(Li(0,`span`,57),fS(1),Nc()),i&2){let e=t.$implicit;Wm(`title`,e.image),ec(),pg(e.image)}}function ot(i,t){if(i&1&&(Li(0,`a`,60),fS(1),Gm(2,`app-icon`,62),Nc()),i&2){let e=HE().$implicit;Wm(`href`,`http://localhost:`+e.hostPort,Rp),ec(),mg(` `,e.hostPort,`:`,e.containerPort,` `),ec(),Wm(`size`,11)}}function rt(i,t){if(i&1&&(Li(0,`span`,61),fS(1),Nc()),i&2){let e=HE().$implicit;ec(),mg(``,e.containerPort,`/`,e.protocol)}}function at(i,t){if(i&1&&SE(0,ot,3,4,`a`,60)(1,rt,2,2,`span`,61),i&2){let e=t.$implicit;kE(e.hostPort?0:1)}}function st(i,t){if(i&1&&(Li(0,`span`,58),fS(1),Nc()),i&2){let e=HE().$implicit;ec(),Ac(`+`,e.ports.length-2)}}function lt(i,t){i&1&&(Li(0,`span`,59),fS(1,`—`),Nc())}function pt(i,t){if(i&1&&(kc(0,at,2,1,null,null,qe),SE(2,st,2,1,`span`,58),SE(3,lt,2,0,`span`,59)),i&2){let e=t.$implicit;Tc(e.ports.slice(0,2)),ec(2),kE(e.ports.length>2?2:-1),ec(),kE(e.ports.length===0?3:-1)}}function dt(i,t){if(i&1&&(Li(0,`span`,63),fS(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.cpuOf(e.id))}}function ct(i,t){if(i&1&&(Li(0,`span`,63),fS(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.memoryOf(e.id))}}function mt(i,t){if(i&1){let e=RE();Li(0,`div`,64)(1,`app-action-menu`,48),Jm(`picked`,function(o){let a=Od(e).$implicit;return Ld(HE().onRowMenu(o,a))}),Nc()()}if(i&2){let e=t.$implicit,n=HE(),o=n.pending().has(e.id);ec(),Wm(`label`,n.t().row.menu(e.name))(`items`,n.rowMenu(e,o))}}var Y;var Ke;var qe;var G;var Pe;f(()=>{Kr();ra();v();h();Se();M();G$1();J();oe();K();dk();u$1();sk();De();Kr();Y=i=>[`/containers`,i],Ke=()=>({diagnose:1}),qe=(i,t)=>t.containerPort;G=``,Pe=class i{store=I(u);preferences=I(p);ownGroups=I(q);t=Lt(()=>ok().containers.page);actions=Lt(()=>ok().containers.actions);common=Lt(()=>ok().common);columns=Lt(()=>{let t=this.t().columns;return[{key:`state`,label:``,width:`28px`},{key:`name`,label:t.name},{key:`shortId`,label:t.id,width:`120px`},{key:`image`,label:t.image},{key:`ports`,label:t.ports,width:`170px`},{key:`cpu`,label:t.cpu,width:`80px`,align:`right`},{key:`memory`,label:t.memory,width:`110px`,align:`right`},{key:`actions`,label:t.actions,width:`84px`,align:`right`}]});loading=this.store.loading;problem=this.store.problem;stats=this.store.stats;pending=this.store.pending;search=wt(``);zoek=jc(void 0);onlyRunning=this.preferences.flag(`containers.onlyRunning`);collapsed=this.preferences.names(`containers.collapsedGroups`);selected=wt(new Set);removal=wt(null);confirmOpen=wt(!1);groupEdit=wt(null);groupDialogOpen=wt(!1);ownGroupNames=this.ownGroups.names;composeProjects=Lt(()=>{let t=new Set;for(let e of this.store.containers())e.composeProject!==null&&t.add(e.composeProject);return[...t]});groupableSelection=Lt(()=>{let t=this.selected();return this.store.containers().filter(e=>t.has(e.id)&&e.composeProject===null)});rows=Lt(()=>{let t=this.search().trim().toLowerCase(),e=this.onlyRunning();return this.store.containers().filter(n=>e&&n.state!==`running`?!1:t===``?!0:`${n.name} ${n.image} ${n.shortId}`.toLowerCase().includes(t))});groups=Lt(()=>{let t=this.rows(),e=new Map;for(let m of t){let k=this.groupKeyOf(m),N=e.get(k);N===void 0?e.set(k,[m]):N.push(m)}if(!this.store.containers().some(m=>this.groupKeyOf(m)!==G))return null;let n=this.collapsed(),o=this.composeProjects(),a=[...e.keys()].filter(m=>m!==G).sort((m,k)=>m.localeCompare(k));return e.has(G)&&a.push(G),a.map(m=>{let k=e.get(m)??[],N=n.has(m);return{key:m,label:m===G?this.t().group.loose:m,manual:m!==G&&!o.includes(m),rows:N?[]:k,all:k,running:k.filter(Ee=>Ee.state===`running`).length,collapsed:N}})});visibleRows=Lt(()=>{let t=this.groups();return t===null?this.rows():t.flatMap(e=>e.rows)});totals=Lt(()=>{let t=0,e=0;for(let n of this.store.runningIds()){let o=this.stats().get(n);t+=o?.cpuPercent??0,e+=o?.memoryBytes??0}return{cpu:t,memory:d(e)}});selectedIds=Lt(()=>[...this.selected()]);trackKey=t=>t.id;constructor(){rf(()=>{let t=this.zoek();t!==void 0&&Tg(()=>this.search.set(t))}),rf(()=>this.store.watchStats(this.store.runningIds())),I(ve).onDestroy(()=>this.store.watchStats([])),this.store.refresh()}groupKeyOf(t){return t.composeProject??this.ownGroups.groupOf(t.name)??G}inTrouble(t){return(t.state===`exited`||t.state===`dead`)&&t.exitCode!==null&&t.exitCode!==0&&t.exitCode!==143||t.state===`restarting`||t.status.includes(`(unhealthy)`)}cpuOf(t){let e=this.stats().get(t);return e===void 0?`—`:`${e.cpuPercent.toFixed(2)}%`}memoryOf(t){let e=this.stats().get(t);return e===void 0?`—`:d(e.memoryBytes)}primaryAction(t){let e=this.common();return t.state===`running`||t.state===`restarting`?{action:`stop`,icon:`stop`,label:e.stop}:t.state===`paused`?{action:`unpause`,icon:`play`,label:this.actions().resume}:{action:`start`,icon:`play`,label:e.start}}toggleGroup(t){let e=new Set(this.collapsed());if(!e.delete(t)){e.add(t);let n=new Set((this.groups()??[]).find(a=>a.key===t)?.all.map(a=>a.id)),o=new Set([...this.selected()].filter(a=>!n.has(a)));this.selected.set(o)}this.collapsed.set(e)}groupCount(t){return this.t().group.count(t.all.length)}groupRunning(t){return this.t().group.running(t.running)}groupCpu(t){let e=t.all.map(n=>this.stats().get(n.id)).filter(n=>n!==void 0);return e.length===0?`—`:`${e.reduce((n,o)=>n+o.cpuPercent,0).toFixed(2)}%`}groupMemory(t){let e=t.all.map(n=>this.stats().get(n.id)).filter(n=>n!==void 0);return e.length===0?`—`:d(e.reduce((n,o)=>n+o.memoryBytes,0))}groupBusy(t){return t.all.some(e=>this.pending().has(e.id))}rowMenu(t,e){let n=this.primaryAction(t),o=t.state===`running`,a=this.t().group,m=[{id:n.action,label:n.label,icon:n.icon,disabled:e},{id:`restart`,label:this.common().restart,icon:`refresh`,disabled:e||!o},{id:`pause`,label:this.actions().pause,icon:`pause`,disabled:e||!o}];return t.composeProject===null&&(m.push({id:`group`,label:a.addToGroup,icon:`folder`,separated:!0}),this.ownGroups.groupOf(t.name)!==null&&m.push({id:`ungroup`,label:a.removeFromGroup,icon:`close`})),m.push({id:`remove`,label:this.common().remove,icon:`trash`,disabled:e,danger:!0,separated:!0}),m}onRowMenu(t,e){switch(t){case`remove`:this.askRemove(e);break;case`group`:this.askGroup([e.name]);break;case`ungroup`:this.ownGroups.release([e.name]);break;default:this.run(t,e.id)}}groupMenu(t,e){let n=this.t().group,o=t.running===0,a=[{id:`start`,label:n.startAll,icon:`play`,disabled:e},{id:`stop`,label:n.stopAll,icon:`stop`,disabled:e||o},{id:`restart`,label:n.restartAll,icon:`refresh`,disabled:e||o}];return t.manual&&a.push({id:`rename`,label:n.rename,icon:`pencil`,separated:!0},{id:`dissolve`,label:n.dissolve,icon:`eraser`}),a.push({id:`remove`,label:n.removeAll,icon:`trash`,disabled:e,danger:!0,separated:!0}),a}onGroupMenu(t,e){switch(t){case`remove`:this.askRemoveGroup(e);break;case`rename`:this.askRenameGroup(e.key);break;case`dissolve`:this.ownGroups.dissolve(e.key);break;default:this.runGroup(t,e)}}runGroup(t,e){this.store.runMany(t,e.all.map(n=>n.id))}askRemoveGroup(t){this.removal.set({kind:`group`,ids:t.all.map(e=>e.id),project:t.label}),this.confirmOpen.set(!0)}run(t,e){this.store.run(t,e)}runSelected(t){this.store.runMany(t,this.selectedIds())}askRemove(t){this.removal.set({kind:`one`,ids:[t.id],name:t.name}),this.confirmOpen.set(!0)}askRemoveSelected(){let t=this.selectedIds();this.removal.set({kind:`many`,ids:t}),this.confirmOpen.set(!0)}askGroup(t){t.length!==0&&(this.groupEdit.set({kind:`assign`,names:t}),this.groupDialogOpen.set(!0))}askGroupSelected(){this.askGroup(this.groupableSelection().map(t=>t.name))}askRenameGroup(t){this.groupEdit.set({kind:`rename`,group:t}),this.groupDialogOpen.set(!0)}groupDialogTitle(){let t=this.t().groupDialog;return this.groupEdit()?.kind===`rename`?t.renameTitle:t.assignTitle}groupDialogDescription(){let t=this.groupEdit(),e=this.t().groupDialog;return t===null?``:t.kind===`rename`?e.renameDescription(t.group):t.names.length===1?e.assignOne(t.names[0]):e.assignMany(t.names.length)}groupDialogInitial(){let t=this.groupEdit();if(t===null)return``;if(t.kind===`rename`)return t.group;let e=new Set(t.names.map(o=>this.ownGroups.groupOf(o))),[n]=e;return e.size===1&&n!==void 0&&n!==null?n:``}onGroupName(t){let e=this.groupEdit();e!==null&&(e.kind===`assign`?this.ownGroups.assign(e.names,t):this.renameGroup(e.group,t),this.groupEdit.set(null))}renameGroup(t,e){this.ownGroups.rename(t,e);let n=this.collapsed();if(n.has(t)){let o=new Set(n);o.delete(t),o.add(e),this.collapsed.set(o)}}confirmRemove(){let t=this.removal();t!==null&&(this.store.runMany(`remove`,t.ids),this.selected.set(new Set),this.removal.set(null))}removalDescription(){let t=this.removal();if(t===null)return``;let e=this.t().confirm;switch(t.kind){case`one`:return e.one(t.name);case`many`:return e.many(t.ids.length);case`group`:return e.group(t.ids.length,t.project)}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-containers-page`]],inputs:{zoek:[1,`zoek`]},decls:38,vars:28,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-3`,`flex`,`flex-wrap`,`gap-x-10`,`gap-y-2`],[1,`text-[12px]`,`text-ink-400`],[1,`text-[15px]`,`font-medium`,`text-ink-100`],[1,`mt-4`,`flex`,`flex-wrap`,`items-center`,`gap-4`],[1,`relative`,`flex`,`items-center`],[1,`pointer-events-none`,`absolute`,`left-2.5`,`text-ink-500`],[`name`,`search`,3,`size`],[1,`sr-only`],[`type`,`search`,1,`mx-focus`,`w-72`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`py-1.5`,`pr-3`,`pl-8`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`placeholder`,`value`],[3,`onChange`,`label`,`on`],[1,`mt-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-3`,`flex`,`items-center`,`gap-2`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`px-3`,`py-2`],[1,`min-h-0`,`flex-1`,`overflow-y-auto`,`px-6`,`pb-6`],[3,`selectedChange`,`columns`,`rows`,`groups`,`trackKey`,`selected`,`emptyMessage`],[`appGroupHeader`,``],[`appCell`,`state`],[`appCell`,`name`],[`appCell`,`shortId`],[`appCell`,`image`],[`appCell`,`ports`],[`appCell`,`cpu`],[`appCell`,`memory`],[`appCell`,`actions`],[3,`openChange`,`confirmed`,`open`,`title`,`description`],[3,`openChange`,`submitted`,`open`,`title`,`description`,`initial`,`suggestions`,`reserved`],[1,`text-[13px]`,`text-ink-200`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`play`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`],[`name`,`stop`,3,`size`],[`name`,`refresh`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`text-danger`,`hover:text-danger`,3,`click`],[`name`,`trash`,3,`size`],[`name`,`folder`,3,`size`],[1,`flex`,`items-center`,`gap-3`],[`type`,`button`,1,`mx-focus`,`flex`,`min-w-0`,`cursor-pointer`,`items-center`,`gap-2`,`text-left`,3,`click`],[1,`shrink-0`,`text-ink-500`,3,`name`,`size`],[1,`truncate`,`font-medium`,`text-ink-100`],[1,`shrink-0`,`rounded`,`border`,`border-ink-700`,`px-1.5`,`py-0.5`,`text-[11px]`,`text-ink-400`],[1,`shrink-0`,`text-[12px]`,`text-ink-400`],[1,`ml-auto`,`flex`,`shrink-0`,`items-center`],[`data-testid`,`groep-cpu`,1,`w-20`,`shrink-0`,`text-right`,`tabular-nums`,`text-[12px]`,`text-ink-400`],[`data-testid`,`groep-geheugen`,1,`w-[110px]`,`shrink-0`,`text-right`,`tabular-nums`,`text-[12px]`,`text-ink-400`],[1,`flex`,`w-[84px]`,`shrink-0`,`items-center`,`justify-end`],[`compact`,``,3,`picked`,`label`,`items`],[3,`state`,`title`],[1,`flex`,`min-w-0`,`items-center`,`gap-1.5`],[1,`mx-focus`,`block`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`routerLink`,`title`],[`data-testid`,`row-missing-network`,1,`mx-focus`,`shrink-0`,`rounded`,`text-danger`,`hover:text-ink-100`,3,`routerLink`,`title`],[`data-testid`,`row-diagnose`,1,`mx-focus`,`shrink-0`,`rounded`,`text-warn`,`hover:text-ink-100`,3,`routerLink`,`queryParams`,`title`],[`name`,`networks`,3,`size`],[`name`,`warning`,3,`size`],[1,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`block`,`truncate`,`text-ink-300`,3,`title`],[1,`text-[11px]`,`text-ink-500`],[1,`text-ink-600`],[`target`,`_blank`,`rel`,`noreferrer`,1,`mx-focus`,`mr-2`,`inline-flex`,`items-center`,`gap-1`,`text-accent`,`hover:underline`,3,`href`],[1,`mr-2`,`text-ink-500`],[`name`,`external`,3,`size`],[1,`tabular-nums`,`text-ink-200`],[1,`flex`,`items-center`,`justify-end`]],template:function(e,n){if(e&1&&(Li(0,`section`,0)(1,`div`,1)(2,`h1`,2),fS(3),Nc(),Li(4,`div`,3)(5,`div`)(6,`div`,4),fS(7),Nc(),Li(8,`div`,5),fS(9),Nc()(),Li(10,`div`)(11,`div`,4),fS(12),Nc(),Li(13,`div`,5),fS(14),Nc()()(),Li(15,`div`,6)(16,`label`,7)(17,`span`,8),Gm(18,`app-icon`,9),Nc(),Li(19,`span`,10),fS(20),Nc(),Li(21,`input`,11),Jm(`input`,function(a){return n.search.set(a.target.value)}),Nc()(),Li(22,`app-filter-switch`,12),vg(`onChange`,function(a){return vS(n.onlyRunning,a)||(n.onlyRunning=a),a}),Nc()(),SE(23,Ue,2,1,`p`,13),SE(24,Ye,16,10,`div`,14),Nc(),Li(25,`div`,15)(26,`app-data-table`,16),vg(`selectedChange`,function(a){return vS(n.selected,a)||(n.selected=a),a}),_m(27,Qe,15,12,`ng-template`,17)(28,Xe,1,3,`ng-template`,18)(29,tt,5,7,`ng-template`,19)(30,nt,2,1,`ng-template`,20)(31,it,2,2,`ng-template`,21)(32,pt,4,2,`ng-template`,22)(33,dt,2,1,`ng-template`,23)(34,ct,2,1,`ng-template`,24)(35,mt,2,2,`ng-template`,25),Nc()()(),Li(36,`app-confirm-dialog`,26),vg(`openChange`,function(a){return vS(n.confirmOpen,a)||(n.confirmOpen=a),a}),Jm(`confirmed`,function(){return n.confirmRemove()}),Nc(),Li(37,`app-group-name-dialog`,27),vg(`openChange`,function(a){return vS(n.groupDialogOpen,a)||(n.groupDialogOpen=a),a}),Jm(`submitted`,function(a){return n.onGroupName(a)}),Nc()),e&2){let o;ec(3),pg(n.t().title),ec(4),pg(n.t().cpuUsage),ec(2),Ac(``,n.totals().cpu.toFixed(2),`%`),ec(3),pg(n.t().memoryUsage),ec(2),pg(n.totals().memory),ec(4),Wm(`size`,15),ec(2),pg(n.t().search),ec(),Wm(`placeholder`,n.t().search)(`value`,n.search()),ec(),Wm(`label`,n.t().onlyRunning),hg(`on`,n.onlyRunning),ec(),kE((o=n.problem())?23:-1,o),ec(),kE(n.selected().size>0?24:-1),ec(2),Wm(`columns`,n.columns())(`rows`,n.visibleRows())(`groups`,n.groups())(`trackKey`,n.trackKey),hg(`selected`,n.selected),Wm(`emptyMessage`,n.t().empty),ec(10),hg(`open`,n.confirmOpen),Wm(`title`,n.t().confirm.title)(`description`,n.removalDescription()),ec(),hg(`open`,n.groupDialogOpen),Wm(`title`,n.groupDialogTitle())(`description`,n.groupDialogDescription())(`initial`,n.groupDialogInitial())(`suggestions`,n.ownGroupNames())(`reserved`,n.composeProjects())}},dependencies:[z,x,h$1,My,W,Yt,P,c,V,U],encapsulation:2})}})();export{Pe as ContainersPage};
1
+ import{A as I,Ct as Tc,Dn as kE,En as jc,Fn as mj,Ft as Wm,Gn as pg,H as Li,I as Jm,In as nS,J as My,Kn as pj,Kt as _m,O as HE,On as kc,Pn as mg,R as Kr,Sn as hg,T as Gm,Tr as zr,V as Ld,Vn as ok,W as Lt,X as Nc,Zn as rf,_r as wt,_t as SS,cn as ec,er as sk,gt as SE,hr as wc,in as dk,ln as f,lr as ve,mt as Rp,r as Ac,sr as vS,tt as Od,un as fS,ur as vg,ut as RE,v as ES,vt as Sc,wt as Tg,zt as X}from"./chunk-CQJfJJJO.js";import"./chunk-B417lX5i.js";import"./chunk-DNfHCIbw.js";import{i as h,r as d}from"./chunk-CJj93ZID.js";import{n as p,t as M}from"./chunk-_hzP4C8y.js";import{n as v,t as u}from"./chunk-DmnENnOJ.js";import{a as Yt,u as ra}from"./chunk-B10he8vC.js";import"./chunk-Ou7gEgt7.js";import{_ as pn,d as dn,f as fn,g as ln,l as an,m as ie,r as Je$1,u as cn,v as un}from"./chunk-ChkLvkqV.js";import{n as u$1,t as c}from"./chunk-F0R0gI7h.js";import{n as V,t as G$1}from"./chunk-CRU66E5W.js";import{n as W,t as J}from"./chunk-CsmSLtiO.js";import{i as z,n as oe,r as x,t as h$1}from"./chunk-D2ip_9iB.js";import{n as P,t as K}from"./chunk-CcSH3zkW.js";var je;var q;var Se=f(()=>{Kr();M();Kr();je=`containers.groups`,q=class i{assignments=I(p).entries(je);names=Lt(()=>[...new Set(this.assignments().values())].sort((e,n)=>e.localeCompare(n)));groupOf(t){return this.assignments().get(t)??null}assign(t,e){let n=e.trim();if(n===``)return;let o=new Map(this.assignments());for(let a of t)o.set(a,n);this.assignments.set(o)}release(t){let e=new Map(this.assignments());for(let n of t)e.delete(n);this.assignments.set(e)}rename(t,e){let n=e.trim();if(n===``||n===t)return;let o=new Map(this.assignments());for(let[a,m]of o)m===t&&o.set(a,n);this.assignments.set(o)}dissolve(t){let e=new Map([...this.assignments()].filter(([,n])=>n!==t));this.assignments.set(e)}static ɵfac=function(e){return new(e||i)};static ɵprov=X({token:i,factory:i.ɵfac,providedIn:`root`})}});function Fe(i,t){if(i&1){let e=RE();Li(0,`button`,20),Jm(`click`,function(){let o=Od(e).$implicit;return Ld(HE(3).onInput(o))}),fS(1),Nc()}if(i&2){let e=t.$implicit;ec(),Ac(` `,e,` `)}}function Le(i,t){if(i&1&&(Li(0,`div`)(1,`span`,9),fS(2),Nc(),Li(3,`div`,18),kc(4,Fe,2,1,`button`,19,Sc),Nc()()),i&2){let e=HE(2);ec(2),pg(e.t().existing),ec(2),Tc(e.others())}}function Be(i,t){i&1&&(Li(0,`p`,12),fS(1),Nc()),i&2&&(ec(),pg(t))}function $e(i,t){if(i&1){let e=RE();Gm(0,`div`,2),Li(1,`div`,3)(2,`div`,4)(3,`h2`,5),fS(4),Nc(),Li(5,`p`,6),fS(6),Nc(),Li(7,`form`,7),Jm(`submit`,function(o){Od(e);return Ld(HE().submit(o))}),Li(8,`label`,8)(9,`span`,9),fS(10),Nc(),Li(11,`input`,10),Jm(`input`,function(o){Od(e);return Ld(HE().onInput(o.target.value))}),Nc()(),SE(12,Le,6,1,`div`),Li(13,`p`,11),fS(14),Nc(),SE(15,Be,2,1,`p`,12),Li(16,`div`,13)(17,`button`,14),Gm(18,`app-icon`,15),fS(19),Nc(),Li(20,`button`,16),Gm(21,`app-icon`,17),fS(22),Nc()()()()()}if(i&2){let e,n=HE();ec(4),pg(n.title()),ec(2),pg(n.description()),ec(4),pg(n.t().nameLabel),ec(),nS(n.field),Wm(`placeholder`,n.t().namePlaceholder)(`value`,n.name()),ec(),kE(n.others().length>0?12:-1),ec(2),pg(n.t().hint),ec(),kE((e=n.problem())?15:-1,e),ec(3),Wm(`size`,14),ec(),Ac(` `,n.common().cancel,` `),ec(),Wm(`disabled`,!n.canSubmit()),ec(),Wm(`size`,14),ec(),Ac(` `,n.t().submit,` `)}}var We;var U;var De=f(()=>{Kr();Je$1();dk();sk();Kr();We=`mx-focus mt-1 w-full rounded-md border border-ink-700 bg-ink-800 px-3 py-1.5 text-[13px] text-ink-100 placeholder:text-ink-500`,U=class i{open=mj(!1);title=jc.required();description=jc.required();initial=jc(``);suggestions=jc([]);reserved=jc([]);submitted=pj();t=Lt(()=>ok().containers.page.groupDialog);common=Lt(()=>ok().common);field=We;name=wt(``);touched=wt(!1);others=Lt(()=>this.suggestions().filter(t=>t!==this.initial()));canSubmit=Lt(()=>{let t=this.name().trim();return t!==``&&!this.reserved().includes(t)});problem=Lt(()=>{let t=this.name().trim();return this.touched()?t===``?this.t().empty:this.reserved().includes(t)?this.t().reserved(t):null:null});constructor(){rf(()=>{this.open()&&Tg(()=>{this.name.set(this.initial()),this.touched.set(!1)})})}onInput(t){this.name.set(t),this.touched.set(!0)}submit(t){if(t.preventDefault(),!this.canSubmit()){this.touched.set(!0);return}this.open.set(!1),this.submitted.emit(this.name().trim())}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-group-name-dialog`]],inputs:{open:[1,`open`],title:[1,`title`],description:[1,`description`],initial:[1,`initial`],suggestions:[1,`suggestions`],reserved:[1,`reserved`]},outputs:{open:`openChange`,submitted:`submitted`},decls:2,vars:1,consts:[[`rdxDialogRoot`,``,3,`openChange`,`open`],[`rdxDialogPortal`,``],[`rdxDialogBackdrop`,``,1,`fixed`,`inset-0`,`z-40`,`bg-black/50`],[`rdxDialogViewport`,``,1,`fixed`,`inset-0`,`z-50`,`grid`,`place-items-center`,`p-4`],[`rdxDialogPopup`,``,1,`w-full`,`max-w-md`,`rounded-lg`,`border`,`border-ink-700`,`bg-ink-850`,`p-5`,`shadow-2xl`],[`rdxDialogTitle`,``,1,`text-[15px]`,`font-semibold`,`text-ink-100`],[`rdxDialogDescription`,``,1,`mt-1`,`text-[13px]`,`text-ink-400`],[1,`mt-4`,`space-y-3`,3,`submit`],[1,`block`],[1,`text-[12px]`,`text-ink-400`],[`type`,`text`,`autocomplete`,`off`,`spellcheck`,`false`,`data-testid`,`groepsnaam`,3,`input`,`placeholder`,`value`],[1,`text-[12px]`,`text-ink-500`],[`role`,`alert`,1,`text-[13px]`,`text-danger`],[1,`flex`,`justify-end`,`gap-2`,`pt-2`],[`type`,`button`,`rdxDialogClose`,``,1,`mx-btn`,`mx-focus`],[`name`,`close`,3,`size`],[`type`,`submit`,1,`mx-btn`,`mx-focus`,3,`disabled`],[`name`,`check`,3,`size`],[1,`mt-1`,`flex`,`flex-wrap`,`gap-1.5`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded-full`,`border`,`border-ink-700`,`px-2.5`,`py-0.5`,`text-[12px]`,`text-ink-300`,`transition-colors`,`hover:border-accent`,`hover:text-ink-100`],[`type`,`button`,1,`mx-focus`,`cursor-pointer`,`rounded-full`,`border`,`border-ink-700`,`px-2.5`,`py-0.5`,`text-[12px]`,`text-ink-300`,`transition-colors`,`hover:border-accent`,`hover:text-ink-100`,3,`click`]],template:function(e,n){e&1&&(Li(0,`div`,0),vg(`openChange`,function(a){return vS(n.open,a)||(n.open=a),a}),_m(1,$e,23,15,`ng-template`,1),Nc()),e&2&&hg(`open`,n.open)},dependencies:[ie,ln,an,pn,cn,fn,dn,un,My],encapsulation:2})}});function Ue(i,t){i&1&&(Li(0,`p`,13),fS(1),Nc()),i&2&&(ec(),Ac(` `,t,` `))}function He(i,t){if(i&1){let e=RE();Li(0,`button`,31),Jm(`click`,function(){Od(e);return Ld(HE(2).askGroupSelected())}),Gm(1,`app-icon`,37),fS(2),Nc()}if(i&2){let e=HE(2);ec(),Wm(`size`,14),ec(),Ac(` `,e.t().group.addToGroup,` `)}}function Ye(i,t){if(i&1){let e=RE();Li(0,`div`,14)(1,`span`,28),fS(2),Nc(),Li(3,`button`,29),Jm(`click`,function(){Od(e);return Ld(HE().runSelected(`start`))}),Gm(4,`app-icon`,30),fS(5),Nc(),Li(6,`button`,31),Jm(`click`,function(){Od(e);return Ld(HE().runSelected(`stop`))}),Gm(7,`app-icon`,32),fS(8),Nc(),Li(9,`button`,31),Jm(`click`,function(){Od(e);return Ld(HE().runSelected(`restart`))}),Gm(10,`app-icon`,33),fS(11),Nc(),SE(12,He,3,2,`button`,34),Li(13,`button`,35),Jm(`click`,function(){Od(e);return Ld(HE().askRemoveSelected())}),Gm(14,`app-icon`,36),fS(15),Nc()()}if(i&2){let e=HE();ec(2),pg(e.t().selected(e.selected().size)),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().start,` `),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().stop,` `),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().restart,` `),ec(),kE(e.groupableSelection().length>0?12:-1),ec(2),Wm(`size`,14),ec(),Ac(` `,e.common().remove,` `)}}function Je(i,t){if(i&1&&(Li(0,`span`,42),fS(1),Nc()),i&2){let e=HE(2);ec(),Ac(` `,e.t().group.manual,` `)}}function Qe(i,t){if(i&1){let e=RE();Li(0,`div`,38)(1,`button`,39),Jm(`click`,function(){let o=Od(e).$implicit;return Ld(HE().toggleGroup(o.key))}),Gm(2,`app-icon`,40),Li(3,`span`,41),fS(4),Nc()(),SE(5,Je,2,1,`span`,42),Li(6,`span`,43),fS(7),Nc(),Li(8,`div`,44)(9,`span`,45),fS(10),Nc(),Li(11,`span`,46),fS(12),Nc(),Li(13,`div`,47)(14,`app-action-menu`,48),Jm(`picked`,function(o){let a=Od(e).$implicit;return Ld(HE().onGroupMenu(o,a))}),Nc()()()()}if(i&2){let e=t.$implicit,n=HE(),o=n.groupBusy(e);ec(),zr(`aria-expanded`,!e.collapsed)(`aria-label`,e.collapsed?n.t().group.expand(e.label):n.t().group.collapse(e.label)),ec(),Wm(`name`,e.collapsed?`chevronRight`:`chevronDown`)(`size`,14),ec(2),pg(e.label),ec(),kE(e.manual?5:-1),ec(2),mg(` `,n.groupCount(e),` · `,n.groupRunning(e),` `),ec(3),pg(n.groupCpu(e)),ec(2),pg(n.groupMemory(e)),ec(2),Wm(`label`,n.t().group.menu(e.label))(`items`,n.groupMenu(e,o))}}function Xe(i,t){if(i&1&&Gm(0,`app-state-dot`,49),i&2){let e=t.$implicit;Wm(`state`,e.state)(`title`,e.status),zr(`aria-label`,e.status)}}function Ze(i,t){if(i&1&&(Li(0,`a`,52),Gm(1,`app-icon`,54),Nc()),i&2){let e=t,n=HE().$implicit,o=HE();Wm(`routerLink`,SS(4,Y,n.id))(`title`,o.t().row.missingNetwork(e)),zr(`aria-label`,o.t().row.missingNetwork(e)),ec(),Wm(`size`,13)}}function et(i,t){if(i&1&&(Li(0,`a`,53),Gm(1,`app-icon`,55),Nc()),i&2){let e=HE().$implicit,n=HE();Wm(`routerLink`,SS(5,Y,e.id))(`queryParams`,ES(7,Ke))(`title`,n.actions().copyDiagnosis),zr(`aria-label`,n.t().row.diagnosisOf(e.name)),ec(),Wm(`size`,13)}}function tt(i,t){if(i&1&&(Li(0,`div`,50)(1,`a`,51),fS(2),Nc(),SE(3,Ze,2,6,`a`,52),SE(4,et,2,8,`a`,53),Nc()),i&2){let e,n=t.$implicit,o=HE();ec(),Wm(`routerLink`,SS(5,Y,n.id))(`title`,n.name),ec(),pg(n.name),ec(),kE((e=n.missingNetwork)?3:-1,e),ec(),kE(o.inTrouble(n)?4:-1)}}function nt(i,t){if(i&1&&(Li(0,`span`,56),fS(1),Nc()),i&2){let e=t.$implicit;ec(),pg(e.shortId)}}function it(i,t){if(i&1&&(Li(0,`span`,57),fS(1),Nc()),i&2){let e=t.$implicit;Wm(`title`,e.image),ec(),pg(e.image)}}function ot(i,t){if(i&1&&(Li(0,`a`,60),fS(1),Gm(2,`app-icon`,62),Nc()),i&2){let e=HE().$implicit;Wm(`href`,`http://localhost:`+e.hostPort,Rp),ec(),mg(` `,e.hostPort,`:`,e.containerPort,` `),ec(),Wm(`size`,11)}}function rt(i,t){if(i&1&&(Li(0,`span`,61),fS(1),Nc()),i&2){let e=HE().$implicit;ec(),mg(``,e.containerPort,`/`,e.protocol)}}function at(i,t){if(i&1&&SE(0,ot,3,4,`a`,60)(1,rt,2,2,`span`,61),i&2){let e=t.$implicit;kE(e.hostPort?0:1)}}function st(i,t){if(i&1&&(Li(0,`span`,58),fS(1),Nc()),i&2){let e=HE().$implicit;ec(),Ac(`+`,e.ports.length-2)}}function lt(i,t){i&1&&(Li(0,`span`,59),fS(1,`—`),Nc())}function pt(i,t){if(i&1&&(kc(0,at,2,1,null,null,qe),SE(2,st,2,1,`span`,58),SE(3,lt,2,0,`span`,59)),i&2){let e=t.$implicit;Tc(e.ports.slice(0,2)),ec(2),kE(e.ports.length>2?2:-1),ec(),kE(e.ports.length===0?3:-1)}}function dt(i,t){if(i&1&&(Li(0,`span`,63),fS(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.cpuOf(e.id))}}function ct(i,t){if(i&1&&(Li(0,`span`,63),fS(1),Nc()),i&2){let e=t.$implicit,n=HE();ec(),pg(n.memoryOf(e.id))}}function mt(i,t){if(i&1){let e=RE();Li(0,`div`,64)(1,`app-action-menu`,48),Jm(`picked`,function(o){let a=Od(e).$implicit;return Ld(HE().onRowMenu(o,a))}),Nc()()}if(i&2){let e=t.$implicit,n=HE(),o=n.pending().has(e.id);ec(),Wm(`label`,n.t().row.menu(e.name))(`items`,n.rowMenu(e,o))}}var Y;var Ke;var qe;var G;var Pe;f(()=>{Kr();ra();v();h();Se();M();G$1();J();oe();K();dk();u$1();sk();De();Kr();Y=i=>[`/containers`,i],Ke=()=>({diagnose:1}),qe=(i,t)=>t.containerPort;G=``,Pe=class i{store=I(u);preferences=I(p);ownGroups=I(q);t=Lt(()=>ok().containers.page);actions=Lt(()=>ok().containers.actions);common=Lt(()=>ok().common);columns=Lt(()=>{let t=this.t().columns;return[{key:`state`,label:``,width:`28px`},{key:`name`,label:t.name},{key:`shortId`,label:t.id,width:`120px`},{key:`image`,label:t.image},{key:`ports`,label:t.ports,width:`170px`},{key:`cpu`,label:t.cpu,width:`80px`,align:`right`},{key:`memory`,label:t.memory,width:`110px`,align:`right`},{key:`actions`,label:t.actions,width:`84px`,align:`right`}]});loading=this.store.loading;problem=this.store.problem;stats=this.store.stats;pending=this.store.pending;search=wt(``);zoek=jc(void 0);onlyRunning=this.preferences.flag(`containers.onlyRunning`);collapsed=this.preferences.names(`containers.collapsedGroups`);selected=wt(new Set);removal=wt(null);confirmOpen=wt(!1);groupEdit=wt(null);groupDialogOpen=wt(!1);ownGroupNames=this.ownGroups.names;composeProjects=Lt(()=>{let t=new Set;for(let e of this.store.containers())e.composeProject!==null&&t.add(e.composeProject);return[...t]});groupableSelection=Lt(()=>{let t=this.selected();return this.store.containers().filter(e=>t.has(e.id)&&e.composeProject===null)});rows=Lt(()=>{let t=this.search().trim().toLowerCase(),e=this.onlyRunning();return this.store.containers().filter(n=>e&&n.state!==`running`?!1:t===``?!0:`${n.name} ${n.image} ${n.shortId}`.toLowerCase().includes(t))});groups=Lt(()=>{let t=this.rows(),e=new Map;for(let m of t){let k=this.groupKeyOf(m),N=e.get(k);N===void 0?e.set(k,[m]):N.push(m)}if(!this.store.containers().some(m=>this.groupKeyOf(m)!==G))return null;let n=this.collapsed(),o=this.composeProjects(),a=[...e.keys()].filter(m=>m!==G).sort((m,k)=>m.localeCompare(k));return e.has(G)&&a.push(G),a.map(m=>{let k=e.get(m)??[],N=n.has(m);return{key:m,label:m===G?this.t().group.loose:m,manual:m!==G&&!o.includes(m),rows:N?[]:k,all:k,running:k.filter(Ee=>Ee.state===`running`).length,collapsed:N}})});visibleRows=Lt(()=>{let t=this.groups();return t===null?this.rows():t.flatMap(e=>e.rows)});totals=Lt(()=>{let t=0,e=0;for(let n of this.store.runningIds()){let o=this.stats().get(n);t+=o?.cpuPercent??0,e+=o?.memoryBytes??0}return{cpu:t,memory:d(e)}});selectedIds=Lt(()=>[...this.selected()]);trackKey=t=>t.id;constructor(){rf(()=>{let t=this.zoek();t!==void 0&&Tg(()=>this.search.set(t))}),rf(()=>this.store.watchStats(this.store.runningIds())),I(ve).onDestroy(()=>this.store.watchStats([])),this.store.refresh()}groupKeyOf(t){return t.composeProject??this.ownGroups.groupOf(t.name)??G}inTrouble(t){return(t.state===`exited`||t.state===`dead`)&&t.exitCode!==null&&t.exitCode!==0&&t.exitCode!==143||t.state===`restarting`||t.status.includes(`(unhealthy)`)}cpuOf(t){let e=this.stats().get(t);return e===void 0?`—`:`${e.cpuPercent.toFixed(2)}%`}memoryOf(t){let e=this.stats().get(t);return e===void 0?`—`:d(e.memoryBytes)}primaryAction(t){let e=this.common();return t.state===`running`||t.state===`restarting`?{action:`stop`,icon:`stop`,label:e.stop}:t.state===`paused`?{action:`unpause`,icon:`play`,label:this.actions().resume}:{action:`start`,icon:`play`,label:e.start}}toggleGroup(t){let e=new Set(this.collapsed());if(!e.delete(t)){e.add(t);let n=new Set((this.groups()??[]).find(a=>a.key===t)?.all.map(a=>a.id)),o=new Set([...this.selected()].filter(a=>!n.has(a)));this.selected.set(o)}this.collapsed.set(e)}groupCount(t){return this.t().group.count(t.all.length)}groupRunning(t){return this.t().group.running(t.running)}groupCpu(t){let e=t.all.map(n=>this.stats().get(n.id)).filter(n=>n!==void 0);return e.length===0?`—`:`${e.reduce((n,o)=>n+o.cpuPercent,0).toFixed(2)}%`}groupMemory(t){let e=t.all.map(n=>this.stats().get(n.id)).filter(n=>n!==void 0);return e.length===0?`—`:d(e.reduce((n,o)=>n+o.memoryBytes,0))}groupBusy(t){return t.all.some(e=>this.pending().has(e.id))}rowMenu(t,e){let n=this.primaryAction(t),o=t.state===`running`,a=this.t().group,m=[{id:n.action,label:n.label,icon:n.icon,disabled:e},{id:`restart`,label:this.common().restart,icon:`refresh`,disabled:e||!o},{id:`pause`,label:this.actions().pause,icon:`pause`,disabled:e||!o}];return t.composeProject===null&&(m.push({id:`group`,label:a.addToGroup,icon:`folder`,separated:!0}),this.ownGroups.groupOf(t.name)!==null&&m.push({id:`ungroup`,label:a.removeFromGroup,icon:`close`})),m.push({id:`remove`,label:this.common().remove,icon:`trash`,disabled:e,danger:!0,separated:!0}),m}onRowMenu(t,e){switch(t){case`remove`:this.askRemove(e);break;case`group`:this.askGroup([e.name]);break;case`ungroup`:this.ownGroups.release([e.name]);break;default:this.run(t,e.id)}}groupMenu(t,e){let n=this.t().group,o=t.running===0,a=[{id:`start`,label:n.startAll,icon:`play`,disabled:e},{id:`stop`,label:n.stopAll,icon:`stop`,disabled:e||o},{id:`restart`,label:n.restartAll,icon:`refresh`,disabled:e||o}];return t.manual&&a.push({id:`rename`,label:n.rename,icon:`pencil`,separated:!0},{id:`dissolve`,label:n.dissolve,icon:`eraser`}),a.push({id:`remove`,label:n.removeAll,icon:`trash`,disabled:e,danger:!0,separated:!0}),a}onGroupMenu(t,e){switch(t){case`remove`:this.askRemoveGroup(e);break;case`rename`:this.askRenameGroup(e.key);break;case`dissolve`:this.ownGroups.dissolve(e.key);break;default:this.runGroup(t,e)}}runGroup(t,e){this.store.runMany(t,e.all.map(n=>n.id))}askRemoveGroup(t){this.removal.set({kind:`group`,ids:t.all.map(e=>e.id),project:t.label}),this.confirmOpen.set(!0)}run(t,e){this.store.run(t,e)}runSelected(t){this.store.runMany(t,this.selectedIds())}askRemove(t){this.removal.set({kind:`one`,ids:[t.id],name:t.name}),this.confirmOpen.set(!0)}askRemoveSelected(){let t=this.selectedIds();this.removal.set({kind:`many`,ids:t}),this.confirmOpen.set(!0)}askGroup(t){t.length!==0&&(this.groupEdit.set({kind:`assign`,names:t}),this.groupDialogOpen.set(!0))}askGroupSelected(){this.askGroup(this.groupableSelection().map(t=>t.name))}askRenameGroup(t){this.groupEdit.set({kind:`rename`,group:t}),this.groupDialogOpen.set(!0)}groupDialogTitle(){let t=this.t().groupDialog;return this.groupEdit()?.kind===`rename`?t.renameTitle:t.assignTitle}groupDialogDescription(){let t=this.groupEdit(),e=this.t().groupDialog;return t===null?``:t.kind===`rename`?e.renameDescription(t.group):t.names.length===1?e.assignOne(t.names[0]):e.assignMany(t.names.length)}groupDialogInitial(){let t=this.groupEdit();if(t===null)return``;if(t.kind===`rename`)return t.group;let e=new Set(t.names.map(o=>this.ownGroups.groupOf(o))),[n]=e;return e.size===1&&n!==void 0&&n!==null?n:``}onGroupName(t){let e=this.groupEdit();e!==null&&(e.kind===`assign`?this.ownGroups.assign(e.names,t):this.renameGroup(e.group,t),this.groupEdit.set(null))}renameGroup(t,e){this.ownGroups.rename(t,e);let n=this.collapsed();if(n.has(t)){let o=new Set(n);o.delete(t),o.add(e),this.collapsed.set(o)}}confirmRemove(){let t=this.removal();t!==null&&(this.store.runMany(`remove`,t.ids),this.selected.set(new Set),this.removal.set(null))}removalDescription(){let t=this.removal();if(t===null)return``;let e=this.t().confirm;switch(t.kind){case`one`:return e.one(t.name);case`many`:return e.many(t.ids.length);case`group`:return e.group(t.ids.length,t.project)}}static ɵfac=function(e){return new(e||i)};static ɵcmp=wc({type:i,selectors:[[`app-containers-page`]],inputs:{zoek:[1,`zoek`]},decls:38,vars:28,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-3`,`flex`,`flex-wrap`,`gap-x-10`,`gap-y-2`],[1,`text-[12px]`,`text-ink-400`],[1,`text-[15px]`,`font-medium`,`text-ink-100`],[1,`mt-4`,`flex`,`flex-wrap`,`items-center`,`gap-4`],[1,`relative`,`flex`,`items-center`],[1,`pointer-events-none`,`absolute`,`left-2.5`,`text-ink-500`],[`name`,`search`,3,`size`],[1,`sr-only`],[`type`,`search`,1,`mx-focus`,`w-72`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`py-1.5`,`pr-3`,`pl-8`,`text-[13px]`,`text-ink-100`,`placeholder:text-ink-500`,3,`input`,`placeholder`,`value`],[3,`onChange`,`label`,`on`],[1,`mt-3`,`rounded-md`,`border`,`border-danger/40`,`bg-danger/10`,`px-3`,`py-2`,`text-[13px]`,`text-danger`],[1,`mt-3`,`flex`,`items-center`,`gap-2`,`rounded-md`,`border`,`border-ink-700`,`bg-ink-850`,`px-3`,`py-2`],[1,`min-h-0`,`flex-1`,`overflow-y-auto`,`px-6`,`pb-6`],[3,`selectedChange`,`columns`,`rows`,`groups`,`trackKey`,`selected`,`emptyMessage`],[`appGroupHeader`,``],[`appCell`,`state`],[`appCell`,`name`],[`appCell`,`shortId`],[`appCell`,`image`],[`appCell`,`ports`],[`appCell`,`cpu`],[`appCell`,`memory`],[`appCell`,`actions`],[3,`openChange`,`confirmed`,`open`,`title`,`description`],[3,`openChange`,`submitted`,`open`,`title`,`description`,`initial`,`suggestions`,`reserved`],[1,`text-[13px]`,`text-ink-200`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`ml-auto`,3,`click`],[`name`,`play`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`,3,`click`],[`name`,`stop`,3,`size`],[`name`,`refresh`,3,`size`],[`type`,`button`,1,`mx-btn`,`mx-focus`],[`type`,`button`,1,`mx-btn`,`mx-focus`,`text-danger`,`hover:text-danger`,3,`click`],[`name`,`trash`,3,`size`],[`name`,`folder`,3,`size`],[1,`flex`,`items-center`,`gap-3`],[`type`,`button`,1,`mx-focus`,`flex`,`min-w-0`,`cursor-pointer`,`items-center`,`gap-2`,`text-left`,3,`click`],[1,`shrink-0`,`text-ink-500`,3,`name`,`size`],[1,`truncate`,`font-medium`,`text-ink-100`],[1,`shrink-0`,`rounded`,`border`,`border-ink-700`,`px-1.5`,`py-0.5`,`text-[11px]`,`text-ink-400`],[1,`shrink-0`,`text-[12px]`,`text-ink-400`],[1,`ml-auto`,`flex`,`shrink-0`,`items-center`],[`data-testid`,`groep-cpu`,1,`w-20`,`shrink-0`,`text-right`,`tabular-nums`,`text-[12px]`,`text-ink-400`],[`data-testid`,`groep-geheugen`,1,`w-[110px]`,`shrink-0`,`text-right`,`tabular-nums`,`text-[12px]`,`text-ink-400`],[1,`flex`,`w-[84px]`,`shrink-0`,`items-center`,`justify-end`],[`compact`,``,3,`picked`,`label`,`items`],[3,`state`,`title`],[1,`flex`,`min-w-0`,`items-center`,`gap-1.5`],[1,`mx-focus`,`block`,`truncate`,`text-ink-100`,`hover:text-accent`,`hover:underline`,3,`routerLink`,`title`],[`data-testid`,`row-missing-network`,1,`mx-focus`,`shrink-0`,`rounded`,`text-danger`,`hover:text-ink-100`,3,`routerLink`,`title`],[`data-testid`,`row-diagnose`,1,`mx-focus`,`shrink-0`,`rounded`,`text-warn`,`hover:text-ink-100`,3,`routerLink`,`queryParams`,`title`],[`name`,`networks`,3,`size`],[`name`,`warning`,3,`size`],[1,`font-mono`,`text-[12px]`,`text-ink-400`],[1,`block`,`truncate`,`text-ink-300`,3,`title`],[1,`text-[11px]`,`text-ink-500`],[1,`text-ink-600`],[`target`,`_blank`,`rel`,`noreferrer`,1,`mx-focus`,`mr-2`,`inline-flex`,`items-center`,`gap-1`,`text-accent`,`hover:underline`,3,`href`],[1,`mr-2`,`text-ink-500`],[`name`,`external`,3,`size`],[1,`tabular-nums`,`text-ink-200`],[1,`flex`,`items-center`,`justify-end`]],template:function(e,n){if(e&1&&(Li(0,`section`,0)(1,`div`,1)(2,`h1`,2),fS(3),Nc(),Li(4,`div`,3)(5,`div`)(6,`div`,4),fS(7),Nc(),Li(8,`div`,5),fS(9),Nc()(),Li(10,`div`)(11,`div`,4),fS(12),Nc(),Li(13,`div`,5),fS(14),Nc()()(),Li(15,`div`,6)(16,`label`,7)(17,`span`,8),Gm(18,`app-icon`,9),Nc(),Li(19,`span`,10),fS(20),Nc(),Li(21,`input`,11),Jm(`input`,function(a){return n.search.set(a.target.value)}),Nc()(),Li(22,`app-filter-switch`,12),vg(`onChange`,function(a){return vS(n.onlyRunning,a)||(n.onlyRunning=a),a}),Nc()(),SE(23,Ue,2,1,`p`,13),SE(24,Ye,16,10,`div`,14),Nc(),Li(25,`div`,15)(26,`app-data-table`,16),vg(`selectedChange`,function(a){return vS(n.selected,a)||(n.selected=a),a}),_m(27,Qe,15,12,`ng-template`,17)(28,Xe,1,3,`ng-template`,18)(29,tt,5,7,`ng-template`,19)(30,nt,2,1,`ng-template`,20)(31,it,2,2,`ng-template`,21)(32,pt,4,2,`ng-template`,22)(33,dt,2,1,`ng-template`,23)(34,ct,2,1,`ng-template`,24)(35,mt,2,2,`ng-template`,25),Nc()()(),Li(36,`app-confirm-dialog`,26),vg(`openChange`,function(a){return vS(n.confirmOpen,a)||(n.confirmOpen=a),a}),Jm(`confirmed`,function(){return n.confirmRemove()}),Nc(),Li(37,`app-group-name-dialog`,27),vg(`openChange`,function(a){return vS(n.groupDialogOpen,a)||(n.groupDialogOpen=a),a}),Jm(`submitted`,function(a){return n.onGroupName(a)}),Nc()),e&2){let o;ec(3),pg(n.t().title),ec(4),pg(n.t().cpuUsage),ec(2),Ac(``,n.totals().cpu.toFixed(2),`%`),ec(3),pg(n.t().memoryUsage),ec(2),pg(n.totals().memory),ec(4),Wm(`size`,15),ec(2),pg(n.t().search),ec(),Wm(`placeholder`,n.t().search)(`value`,n.search()),ec(),Wm(`label`,n.t().onlyRunning),hg(`on`,n.onlyRunning),ec(),kE((o=n.problem())?23:-1,o),ec(),kE(n.selected().size>0?24:-1),ec(2),Wm(`columns`,n.columns())(`rows`,n.visibleRows())(`groups`,n.groups())(`trackKey`,n.trackKey),hg(`selected`,n.selected),Wm(`emptyMessage`,n.t().empty),ec(10),hg(`open`,n.confirmOpen),Wm(`title`,n.t().confirm.title)(`description`,n.removalDescription()),ec(),hg(`open`,n.groupDialogOpen),Wm(`title`,n.groupDialogTitle())(`description`,n.groupDialogDescription())(`initial`,n.groupDialogInitial())(`suggestions`,n.ownGroupNames())(`reserved`,n.composeProjects())}},dependencies:[z,x,h$1,My,W,Yt,P,c,V,U],encapsulation:2})}})();export{Pe as ContainersPage};
@@ -0,0 +1 @@
1
+ import"./chunk-CQJfJJJO.js";import"./chunk-BKqokLUJ.js";import{n as ro,t as Ql}from"./chunk-DyCLoZvj.js";Ql();export{ro as TerminalView};
@@ -1 +1 @@
1
- import{Vn as ok,er as sk,ln as f$1}from"./chunk-BU6WXUxF.js";function d(o){if(!Number.isFinite(o)||o<=0)return`0 B`;let t=o,n=0;for(;t>=1024&&n<c.length-1;)t/=1024,n+=1;let r=t<10&&n>0?1:0;return`${t.toFixed(r)} ${c[n]}`}function N(o){let t=ok().format,n=Math.max(0,Math.floor(Date.now()/1e3)-o);if(n<i)return t.justNow;if(n<a){let s=Math.floor(n/i);return t.hoursAgo(s)}if(n<f){let s=Math.floor(n/a);return s===1?t.yesterday:t.daysAgo(s)}if(n<m){let s=Math.floor(n/f);return s===1?t.lastMonth:t.monthsAgo(s)}let r=Math.floor(n/m);return r===1?t.lastYear:t.yearsAgo(r)}function x(o){let t=Math.max(0,Math.round(o/1e3));if(t<e)return`${String(t)}s`;let n=Math.floor(t/e),r=t%e;return r===0?`${String(n)}m`:`${String(n)}m${String(r)}s`}function A(o){if(o===null)return``;let t=new Date(o);return Number.isNaN(t.getTime())?``:t.toLocaleTimeString()}var c;var e;var i;var a;var f;var m;var h=f$1(()=>{sk();c=[`B`,`KB`,`MB`,`GB`,`TB`];e=60,i=60*e,a=24*i,f=30*a,m=365*a});export{x as a,h as i,N as n,d as r,A as t};
1
+ import{Vn as ok,er as sk,ln as f$1}from"./chunk-CQJfJJJO.js";function d(o){if(!Number.isFinite(o)||o<=0)return`0 B`;let t=o,n=0;for(;t>=1024&&n<c.length-1;)t/=1024,n+=1;let r=t<10&&n>0?1:0;return`${t.toFixed(r)} ${c[n]}`}function N(o){let t=ok().format,n=Math.max(0,Math.floor(Date.now()/1e3)-o);if(n<i)return t.justNow;if(n<a){let s=Math.floor(n/i);return t.hoursAgo(s)}if(n<f){let s=Math.floor(n/a);return s===1?t.yesterday:t.daysAgo(s)}if(n<m){let s=Math.floor(n/f);return s===1?t.lastMonth:t.monthsAgo(s)}let r=Math.floor(n/m);return r===1?t.lastYear:t.yearsAgo(r)}function x(o){let t=Math.max(0,Math.round(o/1e3));if(t<e)return`${String(t)}s`;let n=Math.floor(t/e),r=t%e;return r===0?`${String(n)}m`:`${String(n)}m${String(r)}s`}function A(o){if(o===null)return``;let t=new Date(o);return Number.isNaN(t.getTime())?``:t.toLocaleTimeString()}var c;var e;var i;var a;var f;var m;var h=f$1(()=>{sk();c=[`B`,`KB`,`MB`,`GB`,`TB`];e=60,i=60*e,a=24*i,f=30*a,m=365*a});export{x as a,h as i,N as n,d as r,A as t};
@@ -0,0 +1 @@
1
+ import{Ct as Tc,Dn as kE,Ft as Wm,Gn as pg,H as Li,I as Jm,J as My,O as HE,On as kc,Qn as rg,R as Kr,Sn as hg,T as Gm,Tr as zr,V as Ld,Vn as ok,W as Lt,X as Nc,Zn as rf,_n as gj,_r as wt,cn as ec,er as sk,gt as SE,h as DE,hr as wc,in as dk,ln as f,o as BE,pt as Rm,r as Ac,sr as vS,tt as Od,u as CE,un as fS,ur as vg,ut as RE,vt as Sc}from"./chunk-CQJfJJJO.js";import"./chunk-BKqokLUJ.js";import"./chunk-DNfHCIbw.js";import"./chunk-n7jRjd3_.js";import"./chunk-Ou7gEgt7.js";import{a as fi,i as _e,n as Qt,o as gi,r as Ye,s as we,t as Le}from"./chunk-DBk_NOEo.js";import{n as ro,t as Ql}from"./chunk-DyCLoZvj.js";function te(n,a){if(n&1&&(Li(0,`button`,7),Gm(1,`app-icon`,10),fS(2),Nc()),n&2){let e=a.$implicit,t=HE();Wm(`value`,e),ec(),Wm(`name`,t.tabIcons[e])(`size`,14),ec(),Ac(``,t.tabLabel(e),` `)}}function ae(n,a){if(n&1&&Gm(0,`app-terminal-view`,11),n&2)Wm(`active`,HE().tab()===`terminal`)}function ne(n,a){if(n&1&&(Li(0,`p`,12),fS(1),Nc()),n&2){let e=HE();ec(),pg(e.t().loading)}}function ie(n,a){if(n&1){let e=RE();Li(0,`div`,9)(1,`app-assistant-view`,13),Jm(`commandChosen`,function(g){Od(e);return Ld(HE().insertCommand(g))}),Nc()()}}var ee;var J;f(()=>{Kr();Le();dk();Ye();Ql();sk();Kr();ee=()=>[ro];J=class n{terminal=gj(ro);t=Lt(()=>ok().terminal);tabIcons={terminal:`terminal`,assistant:`sparkle`};assistantConfigured=wt(!1);tabNames=Lt(()=>this.assistantConfigured()?[`terminal`,`assistant`]:[`terminal`]);tab=wt(`terminal`);visited=wt(new Set([`terminal`]));constructor(){rf(()=>{let a=this.tab();this.visited.update(e=>e.has(a)?e:new Set(e).add(a))}),window.electron.assistant.status().then(a=>this.assistantConfigured.set(a.configured)).catch(()=>this.assistantConfigured.set(!1))}tabLabel(a){return this.t().tabs[a]}insertCommand(a){this.tab.set(`terminal`),this.terminal()?.insert(a)}static ɵfac=function(e){return new(e||n)};static ɵcmp=wc({type:n,selectors:[[`app-terminal-page`]],viewQuery:function(e,t){e&1&&rg(t.terminal,ro,5),e&2&&BE()},decls:25,vars:8,consts:[[1,`flex`,`h-full`,`flex-col`],[1,`shrink-0`,`px-6`,`pt-5`,`pb-3`],[1,`text-xl`,`font-semibold`,`tracking-tight`,`text-ink-100`],[1,`mt-1`,`max-w-prose`,`text-[13px]`,`text-ink-400`],[1,`text-ink-200`],[`rdxTabsRoot`,``,1,`flex`,`min-h-0`,`flex-1`,`flex-col`,3,`valueChange`,`value`],[`rdxTabsList`,``,1,`flex`,`shrink-0`,`gap-1`,`border-b`,`border-ink-700`,`px-6`],[`type`,`button`,`rdxTabsTab`,``,1,`mx-focus`,`-mb-px`,`cursor-pointer`,`border-b-2`,`border-transparent`,`px-3`,`py-2`,`text-[13px]`,`text-ink-400`,`transition-colors`,`hover:text-ink-100`,`data-[active]:border-accent`,`data-[active]:text-ink-100`,3,`value`],[`rdxTabsPanel`,``,`value`,`terminal`,1,`min-h-0`,`flex-1`],[`rdxTabsPanel`,``,`value`,`assistant`,1,`min-h-0`,`flex-1`],[1,`mr-1.5`,`-mt-0.5`,`inline-flex`,`align-middle`,3,`name`,`size`],[3,`active`],[1,`px-6`,`py-5`,`text-[13px]`,`text-ink-400`],[3,`commandChosen`]],template:function(e,t){e&1&&(Li(0,`section`,0)(1,`div`,1)(2,`h1`,2),fS(3),Nc(),Li(4,`p`,3),fS(5),Li(6,`code`),fS(7,`docker`),Nc(),fS(8),Li(9,`strong`,4),fS(10,`root`),Nc(),fS(11),Li(12,`code`),fS(13,`alpine`),Nc(),fS(14),Nc()(),Li(15,`div`,5),vg(`valueChange`,function(l){return vS(t.tab,l)||(t.tab=l),l}),Li(16,`div`,6),kc(17,te,3,4,`button`,7,Sc),Nc(),Li(19,`div`,8),Rm(20,ae,1,1)(21,ne,2,1),DE(22,20,ee,21),CE(),Nc(),SE(24,ie,2,0,`div`,9),Nc()()),e&2&&(ec(3),pg(t.t().title),ec(2),Ac(` `,t.t().intro.start,` `),ec(3),pg(t.t().intro.afterDocker),ec(3),pg(t.t().intro.afterRoot),ec(3),Ac(``,t.t().intro.afterAlpine,` `),ec(),hg(`value`,t.tab),ec(),zr(`aria-label`,t.t().tabsLabel),ec(),Tc(t.tabNames()),ec(7),kE(t.assistantConfigured()&&t.visited().has(`assistant`)?24:-1))},dependencies:[we,fi,gi,_e,My,Qt],encapsulation:2})}})();export{J as TerminalPage};