1import{d as st,y as nt,aU as at,bo as ot,E as I,r as it,at as rt,o as e,c as d,u as a,a as m,w as n,g as r,j as f,b as c,$ as R,au as Y,f as lt,ab as pt,F as L,a4 as M,ac as ct,q as S,t as o,a8 as ut,aK as mt,ao as dt,h as _t,e as ft,n as ht,bl as C,ah as gt}from"./core-Cu1dlvv4.js";import{L as yt,_ as vt,d as kt,h as bt}from"./index-mGgJqOFQ.js";import{s as q}from"./date-fns-4jjKl9Wm.js";import{u as $t}from"./useAutoModal-CaK8mTFj.js";import{a as z}from"./appData-B2bTUKZe.js";import"./locales/not-used-C_22OJqP.js";import"./locales/ar-DZ/date-fns-uefcym1R.js";import"./locales/ar/date-fns-BbSi9LdT.js";import"./locales/bn/date-fns-C_iUCXje.js";import"./locales/ca/date-fns-3OpJAUSA.js";import"./locales/cs/date-fns-CT1ySzFw.js";import"./locales/da/date-fns-DPYwfas4.js";import"./locales/de/date-fns-otTz_lh9.js";import"./locales/el/date-fns-DPFISduA.js";import"./locales/en-GB/date-fns-DaHzucfi.js";import"./locales/eo/date-fns-CQTlt1eZ.js";import"./locales/es/date-fns-DK1uJT1V.js";import"./locales/eu/date-fns-DcYEGGbB.js";import"./locales/fa-IR/date-fns-45D_hwVN.js";import"./locales/fi/date-fns-Dev_M3VC.js";import"./locales/fr/date-fns-B5_UC8lf.js";import"./locales/gl/date-fns-87UW_uhU.js";import"./locales/he/date-fns-C-yjP_b_.js";import"./locales/hi/date-fns-9owWwD6d.js";import"./locales/hu/date-fns-Gx7fdoSl.js";import"./locales/id/date-fns-BLVaqLJy.js";import"./locales/it/date-fns-CLRs5bIw.js";import"./locales/lt/date-fns-DyKydRcD.js";import"./locales/mk/date-fns-CMgf35MN.js";import"./locales/nb/date-fns-CKHCqZel.js";import"./locales/nl/date-fns-CNAqgXeM.js";import"./locales/pl/date-fns-C9slAsft.js";import"./locales/pt-BR/date-fns-N75mGB0i.js";import"./locales/pt/date-fns-CKv0lGzD.js";import"./locales/ru/date-fns-BkSoUSTk.js";import"./locales/sk/date-fns-CXU7_rNX.js";import"./locales/sl/date-fns-DudS4SI4.js";import"./locales/sv/date-fns-Dzr-sVTj.js";import"./locales/te/date-fns-CXEZ9Kx8.js";import"./locales/tr/date-fns-CoHs04qJ.js";import"./locales/uk/date-fns-BRGjM6-8.js";import"./locales/zh-CN/date-fns-BSTZOrDH.js";const wt=["innerHTML"],Ct=["innerHTML"],Bt={class:"fw-bold"},At={class:"ms-1"},Ut={class:"mb-0"},Lt={class:"text-secondary"},Mt={class:"text-success"},St={class:"mb-1"},Tt={class:"fw-bold"},Vt={key:0,class:"text-secondary d-block d-sm-inline"},Nt={key:0,class:"text-start text-warning alert alert-warning py-1 my-1"},Dt={key:1,class:"text-start mt-1 mb-0"},Ht={class:"text-success"},It={class:"fw-bold pe-1"},Yt={class:"text-muted"},jt={key:0,class:"mt-4"},xt={class:"fw-bold pe-1"},Et={class:"text-muted"},Se=st({__name:"SystemUpdate",async setup(Ot){let T,j;const{t:g}=nt(),{tryToReconnect:F}=at(),x=$t(),{apps:h,system:V,importantYunohostUpgrade:P,pendingMigrations:K,lastAptUpdate:B,lastAppsCatalogUpdate:A}=([T,j]=ot(()=>C.get({uri:"update"}).then(({apps:t,system:l,important_yunohost_upgrade:_,pending_migrations:s,last_apt_update:v,last_apps_catalog_update:$})=>({apps:I(t.filter(k=>k.upgrade.status!="up_to_date")),system:I(l),importantYunohostUpgrade:_,pendingMigrations:!!s.length,lastAptUpdate:q(v),lastAppsCatalogUpdate:q($)}))),T=await T,j(),T),y=I();async function E(t){const _=(t?[h.value.find(s=>s.id===t)]:h.value.filter(s=>s.upgrade.status=="upgradable")).map(s=>({id:s.id,name:s.name,currentVersion:s.upgrade.current_version,newVersion:s.upgrade.new_version||"",notif:z(s.upgrade.notifications)}));y.value={apps:_,hasNotifs:_.some(s=>s.notif)}}async function W(t){const l=t.map(s=>h.value.find(v=>v.id===s)),_=l[l.length-1].id;for(const s of l)if(!await C.put({uri:`apps/${s.id}/upgrade`}).then($=>{const k=z($.notifications.POST_UPGRADE),U=s.id===_;if(h.value=h.value.filter(b=>s.id!==b.id),k){const b="<small><em>"+g("app.upgrade.notifs.post.alert")+`</em></small> 2 3`+k;return x(b,{title:g("app.upgrade.notifs.post.title",{name:s.name}),okTitle:g(U?"ok":"app.upgrade.continue"),cancelTitle:g("app.upgrade.stop")},{markdown:!0,cancelable:!U})}else return!0}))break}async function J(){C.put({uri:"update/all"}).then(()=>C.refetch())}async function Q(){await x(g("confirm_update_system"))&&C.put({uri:"upgrade/system"}).then(()=>{"yunohost"in V&&F({origin:"upgrade_system",initialDelay:2e3}),C.refetch()})}return(t,l)=>{const _=vt,s=yt,v=ct,$=pt,k=kt,U=ut,b=lt,O=bt,N=it("VueShowdown"),G=ft,X=_t,Z=dt,tt=mt,et=gt,D=rt("t");return e(),d("div",null,[a(K)?(e(),m(_,{key:0,variant:"warning",alert:""},{default:n(()=>[r("span",{innerHTML:t.$t("pending_migrations")},null,8,wt)]),_:1})):f("",!0),a(P)?(e(),m(_,{key:1,variant:"warning",alert:""},{default:n(()=>[r("span",{innerHTML:t.$t("important_yunohost_upgrade")},null,8,Ct)]),_:1})):f("",!0),c(_,{variant:"info",class:"mb-5"},{default:n(()=>[c(s,{label:a(g)("update.refresh_cache"),icon:"refresh",details:a(g)(a(B)>12||a(A)>12?"update.very_stale_cache":a(B)>1||a(A)>1?"update.stale_cache":"update.ok_cache",{lastAptUpdate:a(B),lastAppsCatalogUpdate:a(A)}),variant:"info",onclick:J},null,8,["label","details"])]),_:1}),a(B)<12&&a(A)<12?(e(),m(O,{key:2,title:t.$t("system"),icon:"server","no-body":""},R({default:n(()=>[Object.keys(a(V)).length?(e(),m($,{key:0,flush:"",free:""},{default:n(()=>[(e(!0),d(L,null,M(a(V),(p,u)=>(e(),m(v,{key:u,"header-tag":"h3","button-class":"px-3 py-2"},{title:n(()=>[r("span",Bt,o(u),1),r("small",At,"("+o(p.length)+" "+o(t.$t("items.packages",p.length))+")",1)]),default:n(()=>[r("ul",Ut,[(e(!0),d(L,null,M(p,({name:i,current_version:w,new_version:H})=>(e(),d("li",{key:i},[S(o(i)+" ",1),r("small",Lt,o(t.$t("from_to",[w,H])),1)]))),128))])]),_:2},1024))),128))]),_:1})):(e(),m(U,{key:1},{default:n(()=>[r("span",Mt,[c(k,{iname:"check-circle"}),S(" "+o(t.$t("system_packages_nothing")),1)])]),_:1}))]),_:2},[Object.keys(a(V)).length?{name:"buttons",fn:n(()=>[Y(c(b,{variant:"success",onClick:l[0]||(l[0]=p=>Q())},null,512),[[D,"system_upgrade_all_packages_btn"]])]),key:"0"}:void 0]),1032,["title"])):f("",!0),a(B)<12&&a(A)<12?(e(),m(O,{key:3,title:t.$t("applications"),icon:"cubes","no-body":""},R({default:n(()=>[a(h).length?(e(),m(tt,{key:0,flush:"",free:""},{default:n(()=>[(e(!0),d(L,null,M(a(h),({name:p,id:u,upgrade:i})=>(e(),m(Z,{key:u,class:"d-flex justify-content-between align-items-center ps-3 pe-1"},{default:n(()=>[c(X,{"align-v":"center",class:"w-100"},{default:n(()=>[c(G,{class:"text-center text-md-start"},{default:n(()=>[r("h5",St,[r("span",Tt,o(p),1),r("small",null,[S(" ("+o(u)+") ",1),i.new_version?(e(),d("span",Vt,o(t.$t("from_to",[i.current_version,i.new_version]
3)),1)):f("",!0)])]),i.specific_channel?(e(),d("div",Nt,[c(N,{markdown:i.specific_channel_message},null,8,["markdown"])])):f("",!0),i.status!="upgradable"?(e(),d("div",Dt,[c(N,{markdown:i.message},null,8,["markdown"])])):f("",!0)]),_:2},1024),c(G,{class:"text-center text-md-end pe-0",cols:"12",md:"2"},{default:n(()=>[i.status!="url_required"?Y((e(),m(b,{key:0,variant:i.status!="upgradable"?"outline-secondary":i.specific_channel?"warning":"success",class:ht(i.status!="upgradable"?"disabled":""),size:"sm",onClick:w=>E(u)},null,8,["variant","class","onClick"])),[[D,"system_upgrade_btn"]]):f("",!0)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(e(),m(U,{key:1},{default:n(()=>[r("span",Ht,[c(k,{iname:"check-circle"}),S(" "+o(t.$t("system_apps_nothing")),1)])]),_:1}))]),_:2},[a(h).length?{name:"buttons",fn:n(()=>[Y(c(b,{variant:"success",onClick:l[1]||(l[1]=p=>E())},null,512),[[D,"system_upgrade_all_applications_btn"]])]),key:"0"}:void 0]),1032,["title"])):f("",!0),y.value?(e(),m(et,{key:4,id:"apps-pre-upgrade",centered:"","model-value":!0,title:t.$t("app.upgrade.confirm.title"),"header-variant":"warning","ok-title":t.$t("system_upgrade_btn"),"ok-variant":"success","cancel-title":t.$t("cancel"),onOk:l[2]||(l[2]=p=>W(y.value.apps.map(u=>u.id))),onHide:l[3]||(l[3]=p=>y.value=void 0)},{default:n(()=>[r("h3",null,o(t.$t("app.upgrade.confirm.apps")),1),r("ul",null,[(e(!0),d(L,null,M(y.value.apps,({name:p,id:u,currentVersion:i,newVersion:w})=>(e(),d("li",{key:u},[r("span",It,o(p),1),r("small",Yt," ("+o(u)+") "+o(t.$t("from_to",[i,w])),1)]))),128))]),y.value.hasNotifs?(e(),d("div",jt,[r("h3",null,o(t.$t("app.upgrade.notifs.pre.title")),1),c(_,{variant:"warning"},{default:n(()=>[S(o(t.$t("app.upgrade.notifs.pre.alert")),1)]),_:1}),c($,{visible:"",free:""},{default:n(()=>[(e(!0),d(L,null,M(y.value.apps,({id:p,name:u,currentVersion:i,newVersion:w,notif:H})=>(e(),m(v,{key:`${p}-notifs`,"header-tag":"h3","button-class":"px-3 py-2",visible:""},{title:n(()=>[r("span",xt,o(u),1),r("small",Et," ("+o(p)+") "+o(t.$t("from_to",[i,w])),1)]),default:n(()=>[c(N,{markdown:H,options:{headerLevelStart:6}},null,8,["markdown"])]),_:2},1024))),128))]),_:1})])):f("",!0)]),_:1},8,["title","ok-title","cancel-title"])):f("",!0)])}}});export{Se as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.