Files
intotheeast-com-content/plugins/admin2/app/_app/immutable/nodes/5.BFVOcj6f.js
T

4 lines
60 KiB
JavaScript

import"../chunks/DsnmJJEf.js";import{o as ht}from"../chunks/DukJHxi2.js";import{p as pe,e as Le,f as ie,a as o,b as ge,t as b,c as v,v as It,D as wt,u as Fe,g as e,j as T,h as F,i as re,d as r,r as t,s as a,n as Ze,l as Et,am as At,q as kt,m as He,k as Mt,$ as Pt}from"../chunks/krC2xWPP.js";import{s as d,w as Rt,d as Qe,a as ke,e as Ke}from"../chunks/CddAxf8c.js";import{p as he,i as $,a as zt,b as Ot}from"../chunks/DjsWWzyL.js";import{s as $e,h as Gt}from"../chunks/j_DJpx8B.js";import{b as Ve,i as p,g as Tt,c as Me,a as tt}from"../chunks/Cu5ilWky.js";import{g as Ut,a as Ct,b as Lt,c as Xt,d as Bt,e as Wt,f as Ht,h as $t}from"../chunks/BDkfn6gG.js";import{t as jt,x as Yt}from"../chunks/18iuIwwJ.js";import{r as Ft}from"../chunks/CQDj4r_w.js";import{A as Vt,c as Kt}from"../chunks/mRQytvOt.js";import{c as pt}from"../chunks/CuDfWLaU.js";import{d as at}from"../chunks/DtZdUUoV.js";import{h as Jt}from"../chunks/CuL3Sd6G.js";import{s as se,e as Ne,i as Re,b as ut,B as Ye,t as be}from"../chunks/Lvd_r9sp.js";import{u as qt}from"../chunks/DI9dxHnF.js";import{S as Zt}from"../chunks/K87jKp17.js";import{b as Je}from"../chunks/BSopV7IU.js";import{B as Qt}from"../chunks/CkCDfBZD.js";import{F as er}from"../chunks/BZUPCn-g.js";import{U as tr}from"../chunks/DwS2ehmU.js";import{P as rr}from"../chunks/Bi6PtFz0.js";import{P as ar}from"../chunks/IgssrPG4.js";import{T as sr,H as ir,A as or,R as nr,c as dr,i as lr}from"../chunks/Dnp5jjtA.js";import{D as lt}from"../chunks/nlum2O0L.js";import{S as vr}from"../chunks/hE_Oj9Ry.js";import{S as ur}from"../chunks/Cr0Hb3fo.js";import{C as cr}from"../chunks/BVZX0JD2.js";import{a as nt}from"../chunks/CD06zTmh.js";import{T as Dt}from"../chunks/zdwqcrP5.js";import{L as qe}from"../chunks/C_E2vM9U.js";import{C as fr}from"../chunks/1ntGG_wQ.js";import{a as mr,E as _r}from"../chunks/DKn7_j4m.js";import{D as pr}from"../chunks/DBVjMAyX.js";import{P as ct}from"../chunks/C1jLV8_5.js";import{h as ft}from"../chunks/DSIsCMt7.js";import{b as gr}from"../chunks/CpuCZOqP.js";import{G as xr}from"../chunks/9QV-A355.js";import{X as mt}from"../chunks/CiIMiELt.js";import{C as br}from"../chunks/DEuEFefA.js";import{P as hr}from"../chunks/mXADw150.js";import{R as Er}from"../chunks/CRjkBTWq.js";import{G as Ar}from"../chunks/6XVG9yYt.js";import{c as Tr}from"../chunks/BcwIk3O9.js";import{S as Dr}from"../chunks/Efbhffrv.js";import{R as yr}from"../chunks/DmaMvHCd.js";const Nr=()=>performance.now(),Ce={tick:i=>requestAnimationFrame(i),now:()=>Nr(),tasks:new Set};function yt(){const i=Ce.now();Ce.tasks.forEach(s=>{s.c(i)||(Ce.tasks.delete(s),s.f())}),Ce.tasks.size!==0&&Ce.tick(yt)}function Sr(i){let s;return Ce.tasks.size===0&&Ce.tick(yt),{promise:new Promise(_=>{Ce.tasks.add(s={c:i,f:_})}),abort(){Ce.tasks.delete(s)}}}async function Ir(){return Ve.get("/dashboard/widgets")}async function gt(i){return Ve.patch("/dashboard/layout",i)}async function wr(i){return Ve.patch("/dashboard/site-layout",i)}async function kr(i){await Ve.post(`/dashboard/notifications/${i}/hide`,{})}async function Mr(){return Ve.get("/system/info")}var Pr=v('<div class="pointer-events-none fixed inset-x-0 top-0 z-50 h-[2px] overflow-hidden" role="progressbar" aria-busy="true"><div class="top-progress-bar h-full bg-primary svelte-t115pm"></div></div>');function Rr(i,s){pe(s,!0);let _=he(s,"active",3,!1);var R=Le(),D=ie(R);{var c=m=>{var A=Pr();b(y=>se(A,"aria-label",y),[()=>p.t("ADMIN_NEXT.TOP_PROGRESS_BAR.WORKING")]),o(m,A)};$(D,m=>{_()&&m(c)})}o(i,R),ge()}const Nt=Symbol("dashboard-data");function zr(i){It(Nt,i)}function je(){const i=wt(Nt);if(!i)throw new Error("getDashboardData must be called inside a <DashboardGrid> tree");return i}var Or=v('<div><a class="group flex items-center gap-4 rounded-lg border border-border bg-card px-4 py-3 transition-all hover:border-primary/30 hover:shadow-sm"><div class="flex h-14 w-14 shrink-0 items-center justify-center rounded-xl bg-blue-500/10 text-blue-500"><!></div> <div class="min-w-0"><div class="text-3xl font-semibold tabular-nums leading-tight text-foreground"> </div> <div class="text-[0.75rem] text-muted-foreground"> </div></div></a> <a class="group flex items-center gap-4 rounded-lg border border-border bg-card px-4 py-3 transition-all hover:border-primary/30 hover:shadow-sm"><div class="flex h-14 w-14 shrink-0 items-center justify-center rounded-xl bg-violet-500/10 text-violet-500"><!></div> <div class="min-w-0"><div class="text-3xl font-semibold tabular-nums leading-tight text-foreground"> </div> <div class="text-[0.75rem] text-muted-foreground"> </div></div></a> <a class="group flex items-center gap-4 rounded-lg border border-border bg-card px-4 py-3 transition-all hover:border-primary/30 hover:shadow-sm"><div class="flex h-14 w-14 shrink-0 items-center justify-center rounded-xl bg-teal-500/10 text-teal-500"><!></div> <div class="min-w-0 flex-1"><div class="flex items-center gap-2"><span class="text-3xl font-semibold tabular-nums leading-tight text-foreground"> </span> <!></div> <div class="text-[0.75rem] text-muted-foreground"> <span class="text-foreground/50"> </span></div></div></a> <a class="group flex items-center gap-4 rounded-lg border border-border bg-card px-4 py-3 transition-all hover:border-primary/30 hover:shadow-sm"><div class="flex h-14 w-14 shrink-0 items-center justify-center rounded-xl bg-amber-500/10 text-amber-500"><!></div> <div class="min-w-0"><div class="text-lg font-semibold leading-tight text-foreground"> </div> <div class="text-[0.75rem] text-muted-foreground"> </div></div></a></div>');function Gr(i,s){pe(s,!0);let _=he(s,"size",3,"xl");const R=je(),D=F(()=>R().stats),c=F(()=>R().updates),m=F(()=>R().animated),A=F(()=>e(c)?.total??0);let y=re(0),V=re(0),K=re(0);function U(h,l,E=700){const X=performance.now();function x(f){const N=f-X,u=Math.min(N/E,1),k=1-Math.pow(1-u,3);l(Math.round(h*k)),u<1&&requestAnimationFrame(x)}requestAnimationFrame(x)}Fe(()=>{if(!e(m)){T(y,0),T(V,0),T(K,0);return}U(e(D)?.pages.total??0,h=>T(y,h,!0)),U(e(D)?.users.total??0,h=>T(V,h,!0)),U(e(D)?.plugins.total??0,h=>T(K,h,!0))});const w=F(()=>_()==="xl"?"grid-cols-2 lg:grid-cols-4":"grid-cols-2");var g=Le(),n=ie(g);{var z=h=>{var l=Or(),E=r(l),X=r(E),x=r(X);er(x,{size:36}),t(X);var f=a(X,2),N=r(f),u=r(N,!0);t(N);var k=a(N,2),S=r(k,!0);t(k),t(f),t(E);var P=a(E,2),G=r(P),q=r(G);tr(q,{size:36}),t(G);var C=a(G,2),L=r(C),O=r(L,!0);t(L);var I=a(L,2),J=r(I,!0);t(I),t(C),t(P);var Q=a(P,2),ee=r(Q),B=r(ee);rr(B,{size:36}),t(ee);var j=a(ee,2),Y=r(j),Z=r(Y),oe=r(Z,!0);t(Z);var Ee=a(Z,2);{var ne=fe=>{Qt(fe,{variant:"default",children:(De,ze)=>{Ze();var Ie=Et();b(we=>d(Ie,we),[()=>p.t("ADMIN_NEXT.STATS_WIDGET.UPDATE_COUNT",{n:e(A)})]),o(De,Ie)},$$slots:{default:!0}})};$(Ee,fe=>{e(A)>0&&fe(ne)})}t(Y);var ae=a(Y,2),W=r(ae),H=a(W),te=r(H,!0);t(H),t(ae),t(j),t(Q);var M=a(Q,2),de=r(M),Ae=r(de);ar(Ae,{size:36}),t(de);var ye=a(de,2),Te=r(ye),Se=r(Te,!0);t(Te);var Xe=a(Te,2),Be=r(Xe,!0);t(Xe),t(ye),t(M),t(l),b((fe,De,ze,Ie,we)=>{$e(l,1,`grid gap-3 ${e(w)??""}`),se(E,"href",`${Je??""}/pages`),d(u,e(y)),d(S,fe),se(P,"href",`${Je??""}/users`),d(O,e(V)),d(J,De),se(Q,"href",`${Je??""}/plugins`),d(oe,e(K)),d(W,`${ze??""} `),d(te,Ie),se(M,"href",`${Je??""}/themes`),d(Se,e(D).theme),d(Be,we)},[()=>p.t("ADMIN_NEXT.NAV.PAGES"),()=>p.t("ADMIN_NEXT.NAV.USERS"),()=>p.t("ADMIN_NEXT.NAV.PLUGINS"),()=>p.t("ADMIN_NEXT.STATS_WIDGET.ACTIVE_COUNT",{n:e(D).plugins.active}),()=>p.t("ADMIN_NEXT.STATS_WIDGET.ACTIVE_THEME")]),o(h,l)};$(n,h=>{e(D)&&h(z)})}o(i,g),ge()}function xt(i){return Object.prototype.toString.call(i)==="[object Date]"}function Ur(i){return i}function Cr(i){const s=i-1;return s*s*s+1}function vt(i,s){if(i===s||i!==i)return()=>i;const _=typeof i;if(_!==typeof s||Array.isArray(i)!==Array.isArray(s))throw new Error("Cannot interpolate values of different type");if(Array.isArray(i)){const R=s.map((D,c)=>vt(i[c],D));return D=>R.map(c=>c(D))}if(_==="object"){if(!i||!s)throw new Error("Object cannot be null");if(xt(i)&&xt(s)){const c=i.getTime(),A=s.getTime()-c;return y=>new Date(c+y*A)}const R=Object.keys(s),D={};return R.forEach(c=>{D[c]=vt(i[c],s[c])}),c=>{const m={};return R.forEach(A=>{m[A]=D[A](c)}),m}}if(_==="number"){const R=s-i;return D=>i+D*R}return()=>s}function Lr(i,s={}){const _=Rt(i);let R,D=i;function c(m,A){if(D=m,i==null)return _.set(i=m),Promise.resolve();let y=R,V=!1,{delay:K=0,duration:U=400,easing:w=Ur,interpolate:g=vt}={...s,...A};if(U===0)return y&&(y.abort(),y=null),_.set(i=D),Promise.resolve();const n=Ce.now()+K;let z;return R=Sr(h=>{if(h<n)return!0;V||(z=g(i,m),typeof U=="function"&&(U=U(i,m)),V=!0),y&&(y.abort(),y=null);const l=h-n;return l>U?(_.set(i=m),!1):(_.set(i=z(w(l/U))),!0)}),R.promise}return{set:c,update:(m,A)=>c(m(D,i),A),subscribe:_.subscribe}}function it(i){const s=new Date(i),R=new Date().getTime()-s.getTime(),D=Math.floor(R/6e4),c=Math.floor(R/36e5),m=Math.floor(R/864e5);return D<1?"just now":D<60?`${D}m ago`:c<24?`${c}h ago`:m<7?`${m}d ago`:s.toLocaleDateString()}function st(i){return i<1024?`${i} B`:i<1024*1024?`${(i/1024).toFixed(0)} KB`:i<1024*1024*1024?`${(i/(1024*1024)).toFixed(1)} MB`:`${(i/(1024*1024*1024)).toFixed(1)} GB`}function dt(i){return i>=1e3?`${(i/1e3).toFixed(1)}k`:String(i)}const St=new Tt.Renderer;St.link=({href:i,title:s,text:_})=>`<a href="${i}" target="_blank" rel="noopener noreferrer"${s?` title="${s}"`:""}>${_}</a>`;function _t(i){return i?Tt.parseInline(i,{async:!1,renderer:St}):""}var Xr=v('<div class="flex items-center gap-4"><div class="text-end"><div class="text-lg font-semibold tabular-nums text-foreground"> </div> <div class="text-[0.6875rem] text-muted-foreground">Today</div></div> <div class="h-8 w-px bg-border"></div> <div class="text-end"><div class="text-lg font-semibold tabular-nums text-foreground"> </div> <div class="text-[0.6875rem] text-muted-foreground"> </div></div> <div class="h-8 w-px bg-border"></div> <div class="text-end"><div class="text-lg font-semibold tabular-nums text-foreground"> </div> <div class="text-[0.6875rem] text-muted-foreground"> </div></div></div>'),Br=At('<line x1="40" x2="695" stroke="currentColor" stroke-opacity="0.08" stroke-dasharray="3 3"></line>'),Wr=At('<circle r="3" fill="var(--primary)"><title> </title></circle>'),Hr=v('<div class="relative mt-2 flex-1"><svg viewBox="0 0 700 275" class="h-full w-full" preserveAspectRatio="none"><defs><linearGradient x1="0" x2="0" y1="0" y2="1"><stop offset="0%" class="[stop-color:var(--primary)]" stop-opacity="0.3"></stop><stop offset="100%" class="[stop-color:var(--primary)]" stop-opacity="0.02"></stop></linearGradient></defs><!><path></path><path fill="none" stroke="var(--primary)" stroke-width="2"></path><!></svg></div>'),$r=v('<div class="flex h-full min-h-[300px] flex-col rounded-lg border border-border bg-card p-5"><div class="mb-4 flex items-center justify-between"><div><h2 class="flex items-center gap-2 text-sm font-semibold text-foreground"><!> </h2> <p class="mt-0.5 text-[0.6875rem] text-muted-foreground"> </p></div> <!></div> <!></div>');function jr(i,s){pe(s,!0);const _=()=>Ot(K,"$progress",R),[R,D]=zt();let c=he(s,"size",3,"lg");const m=je(),A=F(()=>m().popularity),y=F(()=>m().animated),V=F(()=>e(A)?.chart?Math.max(...e(A).chart.map(u=>u.views),1):1),K=Lr(0,{duration:900,easing:Cr});Fe(()=>{K.set(e(y)?1:0)});var U=$r(),w=r(U),g=r(w),n=r(g),z=r(n);sr(z,{size:15});var h=a(z);t(n);var l=a(n,2),E=r(l,!0);t(l),t(g);var X=a(g,2);{var x=u=>{var k=Xr(),S=r(k),P=r(S),G=r(P,!0);t(P),Ze(2),t(S);var q=a(S,4),C=r(q),L=r(C,!0);t(C);var O=a(C,2),I=r(O,!0);t(O),t(q);var J=a(q,4),Q=r(J),ee=r(Q,!0);t(Q);var B=a(Q,2),j=r(B,!0);t(B),t(J),t(k),b((Y,Z,oe,Ee,ne)=>{d(G,Y),d(L,Z),d(I,oe),d(ee,Ee),d(j,ne)},[()=>dt(e(A).summary.today),()=>dt(e(A).summary.week),()=>p.t("ADMIN_NEXT.POPULARITY_WIDGET.THIS_WEEK"),()=>dt(e(A).summary.month),()=>p.t("ADMIN_NEXT.POPULARITY_WIDGET.THIS_MONTH")]),o(u,k)};$(X,u=>{e(A)&&u(x)})}t(w);var f=a(w,2);{var N=u=>{const k=F(()=>e(A).chart),S=F(()=>e(k).map((B,j)=>{const Y=650/Math.max(e(k).length-1,1),Z=250-(e(V)>0?B.views/e(V)*220:0);return{x:45+j*Y,y:250+(Z-250)*_()}})),P=F(()=>e(S).map((B,j)=>{if(j===0)return`M ${B.x},${B.y}`;const Y=e(S)[j-1],Z=(Y.x+B.x)/2;return`C ${Z},${Y.y} ${Z},${B.y} ${B.x},${B.y}`}).join(" ")),G=F(()=>`${e(P)} L ${e(S)[e(S).length-1].x},250 L ${e(S)[0].x},250 Z`);var q=Hr(),C=r(q),L=r(C),O=r(L);t(L);var I=a(L);Ne(I,16,()=>[0,.25,.5,.75,1],Re,(B,j)=>{var Y=Br();b(()=>{se(Y,"y1",250-j*220),se(Y,"y2",250-j*220)}),o(B,Y)});var J=a(I),Q=a(J),ee=a(Q);Ne(ee,17,()=>e(S),Re,(B,j,Y)=>{var Z=Wr(),oe=r(Z),Ee=r(oe);t(oe),t(Z),b(()=>{se(Z,"cx",e(j).x),se(Z,"cy",e(j).y),d(Ee,`${e(k)[Y].date??""}: ${e(k)[Y].views??""} views`)}),o(B,Z)}),t(C),t(q),b(()=>{se(O,"id",`areaGradient-${c()??""}`),se(J,"d",e(G)),se(J,"fill",`url(#areaGradient-${c()??""})`),se(Q,"d",e(P))}),o(u,q)};$(f,u=>{e(A)?.chart&&u(N)})}t(U),b((u,k)=>{d(h,` ${u??""}`),d(E,k)},[()=>p.t("ADMIN_NEXT.DASHBOARD.WIDGETS.POPULARITY"),()=>p.t("ADMIN_NEXT.POPULARITY_WIDGET.LAST_14_DAYS")]),o(i,U),ge(),D()}var Yr=v('<span class="rounded-full bg-amber-500/15 px-2 py-0.5 text-[0.6875rem] font-semibold text-amber-600 dark:text-amber-400"> </span>'),Fr=v('<div class="flex items-center gap-2 text-[0.8125rem] text-emerald-600 dark:text-emerald-400"><!> </div>'),Vr=v('<div class="mt-2 text-[0.6875rem] italic text-muted-foreground"> </div>'),Kr=v('<button type="button" class="mt-2.5 inline-flex h-8 items-center gap-1.5 rounded-md bg-purple-600 px-3 text-[0.75rem] font-semibold text-white shadow-sm transition-colors hover:bg-purple-700 disabled:opacity-60 dark:bg-purple-500 dark:hover:bg-purple-600"><!> </button>'),Jr=v('<div class="relative mb-3 overflow-hidden rounded-lg border border-purple-500/30 bg-gradient-to-br from-purple-500/10 via-purple-500/5 to-transparent p-3 shadow-sm"><div class="absolute -right-4 -top-4 h-20 w-20 rounded-full bg-purple-500/10 blur-2xl"></div> <div class="relative"><div class="flex items-center gap-2 text-[0.8125rem] font-semibold text-purple-600 dark:text-purple-400"><!> </div> <div class="mt-1.5 flex items-center gap-1.5 text-[0.75rem] text-muted-foreground"><span class="tabular-nums"> </span> <!> <span class="font-semibold tabular-nums text-purple-600 dark:text-purple-400"> </span></div> <!></div></div>'),qr=v('<li class="flex items-center justify-between gap-2"><span class="truncate"> </span> <span class="shrink-0 font-medium tabular-nums text-amber-600/80 dark:text-amber-400/80"> </span></li>'),Zr=v('<li class="flex items-center justify-between gap-2"><span class="truncate"> </span> <span class="shrink-0 font-medium tabular-nums text-amber-600/80 dark:text-amber-400/80"> </span></li>'),Qr=v('<li class="text-[0.6875rem] italic text-muted-foreground/70"> </li>'),ea=v('<button type="button" class="mt-2.5 inline-flex h-8 items-center gap-1.5 rounded-md bg-amber-500 px-3 text-[0.75rem] font-semibold text-white shadow-sm transition-colors hover:bg-amber-600 disabled:opacity-60"><!> </button>'),ta=v('<div class="rounded-lg border border-amber-500/20 bg-amber-500/5 p-3"><div class="flex items-center gap-2 text-[0.8125rem] font-medium text-amber-600 dark:text-amber-400"><!> </div> <ul class="mt-2 space-y-0.5 text-[0.75rem] text-muted-foreground"><!> <!> <!></ul> <!></div>'),ra=v("<!> <!>",1),aa=v('<div class="rounded-lg border border-border bg-card p-4"><div class="mb-2 flex items-center justify-between"><h2 class="flex items-center gap-2 text-sm font-semibold text-foreground"><!> </h2> <!></div> <!></div>'),sa=v('<div class="flex items-center justify-between"><dt class="text-muted-foreground">Grav</dt> <dd class="font-medium tabular-nums text-foreground"> </dd></div> <div class="flex items-center justify-between"><dt class="text-muted-foreground">PHP</dt> <dd class="font-medium tabular-nums text-foreground"> </dd></div>',1),ia=v('<div class="flex items-center justify-between"><dt class="text-muted-foreground"> </dt> <dd class="max-w-[140px] truncate text-end font-medium text-foreground"> </dd></div>'),oa=v('<span class="text-emerald-500"> </span>'),na=v('<span class="text-amber-500"> </span>'),da=v('<div class="flex items-center justify-between"><dt class="text-muted-foreground"> </dt> <dd class="font-medium text-foreground"><!></dd></div>'),la=v('<div class="rounded-lg border border-border bg-card p-4"><div class="flex items-center justify-between"><h2 class="flex items-center gap-2 text-sm font-semibold text-foreground"><!> </h2> <span class="text-[0.6875rem] tabular-nums text-muted-foreground"> </span></div> <div class="mt-3 h-2 overflow-hidden rounded-full bg-secondary"><div></div></div> <div class="mt-2 flex justify-between text-[0.6875rem] text-muted-foreground"><span> </span> <span> </span></div></div>'),va=v('<div class="flex h-full flex-col gap-3"><!> <div class="rounded-lg border border-border bg-card p-4"><h2 class="mb-3 flex items-center gap-2 text-sm font-semibold text-foreground"><!> </h2> <dl class="space-y-2.5 text-[0.8125rem]"><!> <!> <!></dl></div> <!></div>');function ua(i,s){pe(s,!0);const _=je(),R=F(()=>_().stats),D=F(()=>_().systemInfo),c=F(()=>_().reports),m=F(()=>_().updates),A=F(()=>_().animated),y=F(()=>_().canWriteGpm),V=F(()=>_().updatingAll),K=F(()=>_().upgradingGrav),U=F(()=>e(m)?.total??0),w=F(()=>e(c)?.disk?Math.round((e(c).disk.total_space-e(c).disk.free_space)/e(c).disk.total_space*100):0);var g=va(),n=r(g);{var z=C=>{const L=F(()=>e(m).plugins.filter(ae=>ae.updatable)),O=F(()=>e(m).themes.filter(ae=>ae.updatable)),I=F(()=>e(L).length+e(O).length);var J=aa(),Q=r(J),ee=r(Q),B=r(ee);ur(B,{size:15});var j=a(B);t(ee);var Y=a(ee,2);{var Z=ae=>{var W=Yr(),H=r(W,!0);t(W),b(te=>d(H,te),[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.UPDATES_AVAILABLE_COUNT",{n:e(U)})]),o(ae,W)};$(Y,ae=>{e(U)>0&&ae(Z)})}t(Q);var oe=a(Q,2);{var Ee=ae=>{var W=Fr(),H=r(W);cr(H,{size:14});var te=a(H);t(W),b(M=>d(te,` ${M??""}`),[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.EVERYTHING_UP_TO_DATE")]),o(ae,W)},ne=ae=>{var W=ra(),H=ie(W);{var te=Ae=>{var ye=Jr(),Te=a(r(ye),2),Se=r(Te),Xe=r(Se);nt(Xe,{size:13});var Be=a(Xe);t(Se);var fe=a(Se,2),De=r(fe),ze=r(De);t(De);var Ie=a(De,2);lt(Ie,{name:"arrow-forward",size:11,class:"text-purple-500"});var we=a(Ie,2),et=r(we);t(we),t(fe);var me=a(fe,2);{var ce=ue=>{var _e=Le(),Oe=ie(_e);{var Pe=le=>{var ve=Vr(),We=r(ve,!0);t(ve),b(Ge=>d(We,Ge),[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.GRAV_IS_INSTALLED_VIA_SYMLINK_UPGRADE")]),o(le,ve)},xe=le=>{var ve=Kr(),We=r(ve);{var Ge=Ue=>{qe(Ue,{size:12,class:"animate-spin"})},rt=Ue=>{nt(Ue,{size:12})};$(We,Ue=>{e(K)?Ue(Ge):Ue(rt,-1)})}var ot=a(We);t(ve),b(Ue=>{ve.disabled=e(V)||e(K),d(ot,` ${Ue??""}`)},[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.UPGRADE_GRAV")]),ke("click",ve,()=>_().onUpgradeGrav()),o(le,ve)};$(Oe,le=>{e(m).grav.is_symlink?le(Pe):le(xe,-1)})}o(ue,_e)};$(me,ue=>{e(y)&&ue(ce)})}t(Te),t(ye),b(ue=>{d(Be,` ${ue??""}`),d(ze,`v${e(m).grav.current??""}`),d(et,`v${e(m).grav.available??""}`)},[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.GRAV_UPDATE_AVAILABLE")]),o(Ae,ye)};$(H,Ae=>{e(m).grav.updatable&&Ae(te)})}var M=a(H,2);{var de=Ae=>{var ye=ta(),Te=r(ye),Se=r(Te);Dt(Se,{size:13});var Xe=a(Se);t(Te);var Be=a(Te,2),fe=r(Be);Ne(fe,17,()=>e(L).slice(0,4),Re,(me,ce)=>{var ue=qr(),_e=r(ue),Oe=r(_e,!0);t(_e);var Pe=a(_e,2),xe=r(Pe);t(Pe),t(ue),b(()=>{d(Oe,e(ce).name),d(xe,`v${e(ce).available_version??""}`)}),o(me,ue)});var De=a(fe,2);Ne(De,17,()=>e(O).slice(0,Math.max(0,4-e(L).length)),Re,(me,ce)=>{var ue=Zr(),_e=r(ue),Oe=r(_e,!0);t(_e);var Pe=a(_e,2),xe=r(Pe);t(Pe),t(ue),b(()=>{d(Oe,e(ce).name),d(xe,`v${e(ce).available_version??""}`)}),o(me,ue)});var ze=a(De,2);{var Ie=me=>{var ce=Qr(),ue=r(ce,!0);t(ce),b(_e=>d(ue,_e),[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.MORE_COUNT",{n:e(I)-4})]),o(me,ce)};$(ze,me=>{e(I)>4&&me(Ie)})}t(Be);var we=a(Be,2);{var et=me=>{var ce=ea(),ue=r(ce);{var _e=xe=>{qe(xe,{size:12,class:"animate-spin"})},Oe=xe=>{nt(xe,{size:12})};$(ue,xe=>{e(V)?xe(_e):xe(Oe,-1)})}var Pe=a(ue);t(ce),b(xe=>{ce.disabled=e(V)||e(K),d(Pe,` ${xe??""}`)},[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.UPDATE_ALL")]),ke("click",ce,()=>_().onUpdateAll()),o(me,ce)};$(we,me=>{e(y)&&me(et)})}t(ye),b(me=>d(Xe,` ${me??""}`),[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.PACKAGES_OUTDATED",{n:e(I)})]),o(Ae,ye)};$(M,Ae=>{e(I)>0&&Ae(de)})}o(ae,W)};$(oe,ae=>{e(U)===0?ae(Ee):ae(ne,-1)})}t(J),b(ae=>d(j,` ${ae??""}`),[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.UPDATES")]),o(C,J)};$(n,C=>{e(m)&&C(z)})}var h=a(n,2),l=r(h),E=r(l);vr(E,{size:15});var X=a(E);t(l);var x=a(l,2),f=r(x);{var N=C=>{var L=sa(),O=ie(L),I=a(r(O),2),J=r(I);t(I),t(O);var Q=a(O,2),ee=a(r(Q),2),B=r(ee);t(ee),t(Q),b(()=>{d(J,`v${e(R).grav_version??""}`),d(B,`v${e(R).php_version??""}`)}),o(C,L)};$(f,C=>{e(R)&&C(N)})}var u=a(f,2);{var k=C=>{var L=ia(),O=r(L),I=r(O,!0);t(O);var J=a(O,2),Q=r(J,!0);t(J),t(L),b(ee=>{d(I,ee),se(J,"title",e(D).server_software),d(Q,e(D).server_software)},[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.SERVER")]),o(C,L)};$(u,C=>{e(D)&&C(k)})}var S=a(u,2);{var P=C=>{var L=da(),O=r(L),I=r(O,!0);t(O);var J=a(O,2),Q=r(J);{var ee=j=>{var Y=oa(),Z=r(Y,!0);t(Y),b(()=>d(Z,e(c).cache.driver)),o(j,Y)},B=j=>{var Y=na(),Z=r(Y,!0);t(Y),b(oe=>d(Z,oe),[()=>p.t("ADMIN_NEXT.DISABLED")]),o(j,Y)};$(Q,j=>{e(c).cache.enabled?j(ee):j(B,-1)})}t(J),t(L),b(j=>d(I,j),[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.CACHE")]),o(C,L)};$(S,C=>{e(c)&&C(P)})}t(x),t(h);var G=a(h,2);{var q=C=>{var L=la(),O=r(L),I=r(O),J=r(I);ir(J,{size:15});var Q=a(J);t(I);var ee=a(I,2),B=r(ee,!0);t(ee),t(O);var j=a(O,2),Y=r(j);t(j);var Z=a(j,2),oe=r(Z),Ee=r(oe,!0);t(oe);var ne=a(oe,2),ae=r(ne,!0);t(ne),t(Z),t(L),b((W,H,te,M)=>{d(Q,` ${W??""}`),d(B,H),$e(Y,1,`h-full rounded-full ${e(w)>90?"bg-red-500":e(w)>70?"bg-amber-500":"bg-primary"}`),ut(Y,`width: ${(e(A)?e(w):0)??""}%; transition: width 0.8s cubic-bezier(0.16,1,0.3,1);`),d(Ee,te),d(ae,M)},[()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.DISK"),()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.PERCENT_USED",{percent:e(w)}),()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.BYTES_USED",{size:st(e(c).disk.total_space-e(c).disk.free_space)}),()=>p.t("ADMIN_NEXT.SYSTEM_HEALTH_WIDGET.BYTES_FREE",{size:st(e(c).disk.free_space)})]),o(C,L)};$(G,C=>{e(c)?.disk&&C(q)})}t(g),b(C=>d(X,` ${C??""}`),[()=>p.t("ADMIN_NEXT.NAV.SYSTEM")]),o(i,g),ge()}Qe(["click"]);var ca=v('<div class="h-1.5 w-1.5 rounded-full bg-emerald-500"></div>'),fa=v('<div class="h-1.5 w-1.5 rounded-full bg-amber-400"></div>'),ma=v('<a class="group flex items-center justify-between gap-2 rounded-md px-2 py-1.5 transition-colors hover:bg-accent"><div class="min-w-0 flex-1"><div class="truncate text-[0.8125rem] font-medium text-foreground group-hover:text-primary"> </div> <div class="truncate text-[0.6875rem] text-muted-foreground"> </div></div> <div class="flex shrink-0 items-center gap-2"><span class="text-[0.6875rem] tabular-nums text-muted-foreground"> </span> <!></div></a>'),_a=v('<div class="space-y-0.5"></div>'),pa=v('<p class="py-6 text-center text-sm text-muted-foreground"> </p>'),ga=v('<div class="h-full rounded-lg border border-border bg-card p-4"><div class="mb-3 flex items-center justify-between"><h2 class="flex items-center gap-2 text-sm font-semibold text-foreground"><!> </h2> <a class="text-[0.6875rem] text-primary hover:underline"> </a></div> <!></div>');function xa(i,s){pe(s,!0);let _=he(s,"size",3,"sm");const R=je(),D=F(()=>R().recentPages),c=F(()=>_()==="md"?8:6);var m=ga(),A=r(m),y=r(A),V=r(y);fr(V,{size:15});var K=a(V);t(y);var U=a(y,2),w=r(U,!0);t(U),t(A);var g=a(A,2);{var n=h=>{var l=_a();Ne(l,21,()=>e(D).slice(0,e(c)),Re,(E,X)=>{var x=ma(),f=r(x),N=r(f),u=r(N,!0);t(N);var k=a(N,2),S=r(k,!0);t(k),t(f);var P=a(f,2),G=r(P),q=r(G,!0);t(G);var C=a(G,2);{var L=I=>{var J=ca();o(I,J)},O=I=>{var J=fa();o(I,J)};$(C,I=>{e(X).published?I(L):I(O,-1)})}t(P),t(x),b(I=>{se(x,"href",`${Je??""}/pages/edit${e(X).route??""}`),d(u,e(X).title),d(S,e(X).route),d(q,I)},[()=>it(e(X).modified)]),o(E,x)}),t(l),o(h,l)},z=h=>{var l=pa(),E=r(l,!0);t(l),b(X=>d(E,X),[()=>p.t("ADMIN_NEXT.PAGES.NO_PAGES")]),o(h,l)};$(g,h=>{e(D).length>0?h(n):h(z,-1)})}t(m),b((h,l)=>{d(K,` ${h??""}`),se(U,"href",`${Je??""}/pages`),d(w,l)},[()=>p.t("ADMIN_NEXT.DASHBOARD.WIDGETS.RECENT_PAGES"),()=>p.t("ADMIN_NEXT.RECENT_PAGES_WIDGET.VIEW_ALL")]),o(i,m),ge()}var ba=v('<div class="group"><div class="flex items-center justify-between text-[0.75rem]"><span class="min-w-0 flex-1 truncate font-medium text-foreground"> </span> <span class="ms-2 shrink-0 tabular-nums text-muted-foreground"> </span></div> <div class="mt-1 h-1 overflow-hidden rounded-full bg-secondary"><div class="h-full rounded-full bg-primary/60"></div></div></div>'),ha=v('<div class="space-y-2"></div>'),Ea=v('<p class="py-4 text-center text-[0.8125rem] text-muted-foreground"> </p>'),Aa=v('<div class="h-full rounded-lg border border-border bg-card p-4"><h2 class="mb-3 flex items-center gap-2 text-sm font-semibold text-foreground"><!> </h2> <!></div>');function Ta(i,s){pe(s,!0);let _=he(s,"size",3,"sm");const R=je(),D=F(()=>R().popularity),c=F(()=>R().animated),m=F(()=>_()==="md"?10:6);var A=Aa(),y=r(A),V=r(y);mr(V,{size:15});var K=a(V);t(y);var U=a(y,2);{var w=n=>{const z=F(()=>e(D).top_pages[0].views);var h=ha();Ne(h,21,()=>e(D).top_pages.slice(0,e(m)),Re,(l,E)=>{var X=ba(),x=r(X),f=r(x),N=r(f,!0);t(f);var u=a(f,2),k=r(u,!0);t(u),t(x);var S=a(x,2),P=r(S);t(S),t(X),b(()=>{d(N,e(E).route),d(k,e(E).views),ut(P,`width: ${e(c)?e(E).views/e(z)*100:0}%; transition: width 0.8s cubic-bezier(0.16,1,0.3,1);`)}),o(l,X)}),t(h),o(n,h)},g=n=>{var z=Ea(),h=r(z,!0);t(z),b(l=>d(h,l),[()=>p.t("ADMIN_NEXT.TOP_PAGES_WIDGET.NO_VIEW_DATA_YET")]),o(n,z)};$(U,n=>{e(D)?.top_pages&&e(D).top_pages.length>0?n(w):n(g,-1)})}t(A),b(n=>d(K,` ${n??""}`),[()=>p.t("ADMIN_NEXT.DASHBOARD.WIDGETS.TOP_PAGES")]),o(i,A),ge()}var Da=v("<!> ",1),ya=v("<!> ",1),Na=v('<button type="button" class="inline-flex h-6 items-center gap-1 rounded-md bg-primary px-2 text-[0.6875rem] font-semibold text-primary-foreground shadow-sm transition-colors hover:bg-primary/90 disabled:opacity-60"><!></button>'),Sa=v('<div class="flex items-center gap-3 px-4 py-2"><div class="min-w-0 flex-1"><div class="text-[0.75rem] font-medium text-foreground"> </div> <div class="text-[0.6875rem] text-muted-foreground"> </div></div> <a class="flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground" target="_blank"><!></a></div>'),Ia=v('<div class="-mx-4 divide-y divide-border"></div>'),wa=v('<p class="py-4 text-center text-[0.8125rem] text-muted-foreground"> </p>'),ka=v('<div class="h-full rounded-lg border border-border bg-card p-4"><div class="mb-3 flex items-center justify-between gap-2"><h2 class="flex items-center gap-2 text-sm font-semibold text-foreground"><!> </h2> <!></div> <!></div>');function Ma(i,s){pe(s,!0);let _=he(s,"size",3,"sm");const R=je(),D=F(()=>R().backups),c=F(()=>_()==="md"?8:5);var m=ka(),A=r(m),y=r(A),V=r(y);or(V,{size:15});var K=a(V);t(y);var U=a(y,2);{var w=l=>{var E=Na(),X=r(E);{var x=u=>{var k=Da(),S=ie(k);qe(S,{size:11,class:"animate-spin"});var P=a(S);b(G=>d(P,` ${G??""}`),[()=>p.t("ADMIN_NEXT.BACKUPS_WIDGET.BACKING_UP")]),o(u,k)},f=F(()=>R().creatingBackup),N=u=>{var k=ya(),S=ie(k);ct(S,{size:11});var P=a(S);b(G=>d(P,` ${G??""}`),[()=>p.t("ADMIN_NEXT.BACKUPS_WIDGET.BACKUP_NOW")]),o(u,k)};$(X,u=>{e(f)?u(x):u(N,-1)})}t(E),b((u,k)=>{E.disabled=u,se(E,"title",k)},[()=>R().creatingBackup,()=>p.t("ADMIN_NEXT.BACKUPS_WIDGET.CREATE_A_NEW_BACKUP_NOW")]),ke("click",E,()=>R().onCreateBackup()),o(l,E)},g=F(()=>R().canWriteSystem);$(U,l=>{e(g)&&l(w)})}t(A);var n=a(A,2);{var z=l=>{var E=Ia();Ne(E,21,()=>e(D).slice(0,e(c)),Re,(X,x)=>{var f=Sa(),N=r(f),u=r(N),k=r(u,!0);t(u);var S=a(u,2),P=r(S,!0);t(S),t(N);var G=a(N,2),q=r(G);pr(q,{size:14}),t(G),t(f),b((C,L,O,I)=>{d(k,C),d(P,L),se(G,"href",`${Me.serverUrl??""}${Me.apiPrefix??""}/system/backups/${O??""}/download?token=${Me.accessToken??""}`),se(G,"title",I)},[()=>it(e(x).date),()=>st(e(x).size),()=>encodeURIComponent(e(x).filename),()=>p.t("ADMIN_NEXT.BACKUPS_WIDGET.DOWNLOAD_FILE",{filename:e(x).filename})]),o(X,f)}),t(E),o(l,E)},h=l=>{var E=wa(),X=r(E,!0);t(E),b(x=>d(X,x),[()=>p.t("ADMIN_NEXT.BACKUPS_WIDGET.NO_BACKUPS_FOUND")]),o(l,E)};$(n,l=>{e(D).length>0?l(z):l(h,-1)})}t(m),b(l=>d(K,` ${l??""}`),[()=>p.t("ADMIN_NEXT.DASHBOARD.WIDGETS.BACKUPS")]),o(i,m),ge()}Qe(["click"]);const bt=(i,s=kt)=>{var _=za(),R=ie(_);{var D=U=>{var w=Pa(),g=r(w,!0);t(w),b(()=>d(g,s().icon)),o(U,w)};$(R,U=>{s().icon&&U(D)})}var c=a(R,2),m=r(c);{var A=U=>{var w=Ra(),g=r(w,!0);t(w),b(()=>d(g,s().title)),o(U,w)};$(m,U=>{s().title&&U(A)})}var y=a(m,2);ft(y,()=>_t(s().message),!0),t(y),t(c);var V=a(c,2),K=r(V,!0);t(V),b(U=>d(K,U),[()=>it(s().date)]),o(i,_)};var Pa=v('<span class="shrink-0 text-base leading-tight"> </span>'),Ra=v('<div class="text-[0.75rem] font-semibold text-foreground group-hover:text-primary"> </div>'),za=v('<!> <div class="min-w-0 flex-1"><!> <p class="text-[0.75rem] leading-relaxed text-foreground/80 group-hover:text-primary"></p></div> <span class="shrink-0 text-[0.6875rem] tabular-nums text-muted-foreground"> </span>',1),Oa=v('<p class="py-4 text-center text-[0.8125rem] text-muted-foreground"> </p>'),Ga=v('<img alt="" class="mb-3 h-7"/>'),Ua=v('<div class="mb-2 text-base font-semibold"> </div>'),Ca=v('<a target="_blank" rel="noopener noreferrer" class="inline-block rounded-md border border-white/40 px-3.5 py-1.5 text-[0.75rem] font-semibold text-white transition-colors hover:bg-white/10"> </a>'),La=v('<div><!> <p class="mb-4 text-[0.8125rem] leading-relaxed text-white/90"></p> <!></div>'),Xa=v('<a target="_blank" rel="noopener noreferrer" class="group flex items-start gap-3"><!></a>'),Ba=v('<div class="flex items-start gap-3"><!></div>'),Wa=v('<li class="border-b border-border/50 pb-2 last:border-0 last:pb-0"><!></li>'),Ha=v('<ul class="space-y-2.5"></ul>'),$a=v("<!> <!>",1),ja=v('<div class="h-full rounded-lg border border-border bg-card p-4"><h2 class="mb-3 flex items-center gap-2 text-sm font-semibold text-foreground"><!> </h2> <!></div>');function Ya(i,s){pe(s,!0);let _=he(s,"size",3,"md");const R=je(),D=F(()=>R().notifications),c=F(()=>_()==="xl"?16:_()==="lg"?12:_()==="md"?8:6),m=F(()=>e(D).filter(l=>l.type==="promo")),A=F(()=>e(D).filter(l=>l.type!=="promo").slice(0,e(c))),y={purple:"from-purple-700 via-purple-800 to-indigo-900",blue:"from-blue-700 via-blue-800 to-indigo-900",teal:"from-teal-700 via-teal-800 to-emerald-900",amber:"from-amber-600 via-orange-700 to-red-800",rose:"from-rose-600 via-pink-700 to-fuchsia-800"};function V(l){return y[l??""]??y.purple}var K=ja(),U=r(K),w=r(U);Vt(w,{size:15});var g=a(w);t(U);var n=a(U,2);{var z=l=>{var E=Oa(),X=r(E,!0);t(E),b(x=>d(X,x),[()=>p.t("ADMIN_NEXT.NOTIFICATIONS_WIDGET.NO_NOTIFICATIONS")]),o(l,E)},h=l=>{var E=$a(),X=ie(E);Ne(X,17,()=>e(m),N=>N.id,(N,u)=>{var k=La(),S=r(k);{var P=O=>{var I=Ga();b(()=>se(I,"src",e(u).image)),o(O,I)},G=O=>{var I=Ua(),J=r(I,!0);t(I),b(()=>d(J,e(u).title)),o(O,I)};$(S,O=>{e(u).image?O(P):e(u).title&&O(G,1)})}var q=a(S,2);ft(q,()=>_t(e(u).message),!0),t(q);var C=a(q,2);{var L=O=>{var I=Ca(),J=r(I,!0);t(I),b(()=>{se(I,"href",e(u).action.url),d(J,e(u).action.label)}),o(O,I)};$(C,O=>{e(u).action&&O(L)})}t(k),b(O=>$e(k,1,`mb-3 overflow-hidden rounded-lg bg-gradient-to-br ${O??""} p-5 text-white shadow-sm`),[()=>V(e(u).accent)]),o(N,k)});var x=a(X,2);{var f=N=>{var u=Ha();Ne(u,21,()=>e(A),k=>k.id,(k,S)=>{var P=Wa(),G=r(P);{var q=L=>{var O=Xa(),I=r(O);bt(I,()=>e(S)),t(O),b(()=>se(O,"href",e(S).link)),o(L,O)},C=L=>{var O=Ba(),I=r(O);bt(I,()=>e(S)),t(O),o(L,O)};$(G,L=>{e(S).link?L(q):L(C,-1)})}t(P),o(k,P)}),t(u),o(N,u)};$(x,N=>{e(A).length>0&&N(f)})}o(l,E)};$(n,l=>{e(m).length===0&&e(A).length===0?l(z):l(h,-1)})}t(K),b(l=>d(g,` ${l??""}`),[()=>p.t("ADMIN_NEXT.DASHBOARD.WIDGETS.NOTIFICATIONS")]),o(i,K),ge()}var Fa=v('<a target="_blank" rel="noopener noreferrer" class="group flex items-start justify-between gap-3 border-b border-border/50 pb-2 last:border-0 last:pb-0"><div class="min-w-0 flex-1"><p class="text-[0.75rem] font-medium text-foreground group-hover:text-primary"> </p></div> <span class="shrink-0 text-[0.6875rem] tabular-nums text-muted-foreground"> </span></a>'),Va=v('<div class="space-y-2.5"></div>'),Ka=v('<p class="py-4 text-center text-[0.8125rem] text-muted-foreground"> </p>'),Ja=v('<div class="h-full rounded-lg border border-border bg-card p-4"><h2 class="mb-3 flex items-center gap-2 text-sm font-semibold text-foreground"><!> </h2> <!></div>');function qa(i,s){pe(s,!0);let _=he(s,"size",3,"md");const R=je(),D=F(()=>R().feed),c=F(()=>_()==="xl"?16:_()==="lg"?12:_()==="md"?8:5);var m=Ja(),A=r(m),y=r(A);nr(y,{size:15});var V=a(y);t(A);var K=a(A,2);{var U=g=>{var n=Va();Ne(n,21,()=>e(D).slice(0,e(c)),Re,(z,h)=>{var l=Fa(),E=r(l),X=r(E),x=r(X,!0);t(X),t(E);var f=a(E,2),N=r(f,!0);t(f),t(l),b(u=>{se(l,"href",e(h).url),d(x,e(h).title),d(N,u)},[()=>it(e(h).date)]),o(z,l)}),t(n),o(g,n)},w=g=>{var n=Ka(),z=r(n,!0);t(n),b(h=>d(z,h),[()=>p.t("ADMIN_NEXT.NEWS_FEED_WIDGET.NO_FEED_ITEMS")]),o(g,n)};$(K,g=>{e(D).length>0?g(U):g(w,-1)})}t(m),b(g=>d(V,` ${g??""}`),[()=>p.t("ADMIN_NEXT.DASHBOARD.WIDGETS.NEWS_FEED")]),o(i,m),ge()}var Za=v('<div class="flex h-full items-center justify-center rounded-lg border border-border bg-card p-4"><!></div>'),Qa=v('<div class="flex h-full flex-col items-center justify-center gap-2 rounded-lg border border-amber-500/30 bg-amber-500/5 p-4 text-center"><!> <p class="text-[0.75rem] font-medium text-amber-600 dark:text-amber-400"> </p> <p class="text-[0.625rem] text-muted-foreground"> </p></div>'),es=v('<div class="h-full"><!></div>');function ts(i,s){pe(s,!0);let _=re(void 0),R=re("idle"),D=re(null);const c=window.__GRAV_DASHBOARD_WIDGET_LOADING??={};function m(g){return`grav-widget-${g.id.replace(/[^a-z0-9]+/gi,"-").toLowerCase()}`}async function A(g){const n=m(g);if(!customElements.get(n)){if(!g.scriptUrl)throw new Error(`Plugin widget ${g.id} has no scriptUrl`);if(c[n]){await c[n];return}c[n]=(async()=>{const z=await Ve.fetchScript(g.scriptUrl);window.__GRAV_API_SERVER_URL=Me.serverUrl,window.__GRAV_API_PREFIX=Me.apiPrefix||"/api/v1",window.__GRAV_API_TOKEN=Me.accessToken;const h=new Blob([`window.__GRAV_WIDGET_TAG = ${JSON.stringify(n)};
${z}`],{type:"application/javascript"}),l=URL.createObjectURL(h);try{await import(l),await customElements.whenDefined(n)}finally{URL.revokeObjectURL(l)}})();try{await c[n]}catch(z){throw delete c[n],z}}}function y(g){if(!e(_))return;const n=m(g);e(_).innerHTML="";const z=document.createElement(n);z.setAttribute("size",g.size),g.dataEndpoint&&z.setAttribute("data-endpoint",g.dataEndpoint),g.plugin&&z.setAttribute("plugin",g.plugin),z.setAttribute("widget-id",g.id),e(_).appendChild(z)}Fe(()=>{const g=s.widget;e(_)&&(T(R,"loading"),A(g).then(()=>{T(R,"ready"),y(g)}).catch(n=>{T(D,n instanceof Error?n.message:String(n),!0),T(R,"error")}))}),Fe(()=>{window.__GRAV_API_SERVER_URL=Me.serverUrl,window.__GRAV_API_PREFIX=Me.apiPrefix||"/api/v1",window.__GRAV_API_TOKEN=Me.accessToken});var V=es(),K=r(V);{var U=g=>{var n=Za(),z=r(n);qe(z,{size:16,class:"animate-spin text-muted-foreground"}),t(n),o(g,n)},w=g=>{var n=Qa(),z=r(n);Dt(z,{size:16,class:"text-amber-500"});var h=a(z,2),l=r(h,!0);t(h);var E=a(h,2),X=r(E,!0);t(E),t(n),b(x=>{d(l,x),d(X,e(D))},[()=>p.t("ADMIN_NEXT.PLUGIN_WIDGET_LOADER.WIDGET_FAILED_TO_LOAD")]),o(g,n)};$(K,g=>{e(R)==="loading"?g(U):e(R)==="error"&&g(w,1)})}t(V),gr(V,g=>T(_,g),()=>e(_)),o(i,V),ge()}var rs=v('<div class="rounded-lg border border-dashed border-amber-500/30 bg-amber-500/5 p-4 text-center text-[0.75rem] text-amber-600 dark:text-amber-400"> </div>');function as(i,s){pe(s,!0);var _=Le(),R=ie(_);{var D=n=>{Gr(n,{get size(){return s.widget.size}})},c=n=>{jr(n,{get size(){return s.widget.size}})},m=n=>{ua(n,{})},A=n=>{xa(n,{get size(){return s.widget.size}})},y=n=>{Ta(n,{get size(){return s.widget.size}})},V=n=>{Ma(n,{get size(){return s.widget.size}})},K=n=>{Ya(n,{get size(){return s.widget.size}})},U=n=>{qa(n,{get size(){return s.widget.size}})},w=n=>{ts(n,{get widget(){return s.widget}})},g=n=>{var z=rs(),h=r(z,!0);t(z),b(l=>d(h,l),[()=>p.t("ADMIN_NEXT.WIDGET_HOST.UNKNOWN_WIDGET",{id:s.widget.id})]),o(n,z)};$(R,n=>{s.widget.id==="core.stats"?n(D):s.widget.id==="core.popularity"?n(c,1):s.widget.id==="core.system-health"?n(m,2):s.widget.id==="core.recent-pages"?n(A,3):s.widget.id==="core.top-pages"?n(y,4):s.widget.id==="core.backups"?n(V,5):s.widget.id==="core.notifications"?n(K,6):s.widget.id==="core.news-feed"?n(U,7):s.widget.source==="plugin"?n(w,8):n(g,-1)})}o(i,_),ge()}var ss=v('<button type="button"> </button>'),is=v('<div class="flex items-center rounded-sm bg-muted/40 p-0.5"></div>'),os=v('<div class="absolute right-2 top-2 z-10 flex items-center gap-1 rounded-md border border-border bg-background/95 p-1 shadow-sm backdrop-blur"><span class="flex h-7 w-6 cursor-grab items-center justify-center text-muted-foreground"><!></span> <!> <button type="button" class="flex h-7 w-7 items-center justify-center rounded-sm text-muted-foreground hover:bg-accent hover:text-foreground"><!></button></div> <div class="pointer-events-none absolute inset-0 z-[1] rounded-lg ring-1 ring-dashed ring-primary/30"></div>',1),ns=v("<div><!> <!></div>"),ds=v('<button type="button" class="col-span-2 row-span-1 flex min-h-[140px] flex-col items-center justify-center gap-1.5 rounded-lg border border-dashed border-border bg-muted/20 p-6 text-muted-foreground transition-colors hover:border-primary/40 hover:bg-muted/40 hover:text-foreground"><!> <span class="text-[0.75rem] font-medium"> </span></button>'),ls=v('<div class="flex flex-col items-center justify-center rounded-lg border border-dashed border-border bg-muted/20 py-16 text-center"><p class="text-sm font-medium text-foreground"> </p> <p class="mt-1 text-xs text-muted-foreground"> </p></div>'),vs=v('<div class="grid grid-cols-2 gap-5 lg:grid-cols-4 auto-rows-min"><!> <!></div> <!>',1);function us(i,s){pe(s,!0);let _=he(s,"editMode",3,!1);function R(x){switch(x){case"xs":return"col-span-2 md:col-span-1";case"sm":return"col-span-2 md:col-span-2 lg:col-span-1";case"md":return"col-span-2 md:col-span-2";case"lg":return"col-span-2 md:col-span-2 lg:col-span-3";case"xl":return"col-span-2 md:col-span-2 lg:col-span-4"}}const D=F(()=>s.widgets.filter(x=>x.visible));let c=re(null),m=re(null);function A(x,f){_()&&(T(c,f,!0),x.dataTransfer?.setData("text/plain",f),x.dataTransfer.effectAllowed="move")}function y(x,f){!_()||!e(c)||e(c)===f||(x.preventDefault(),T(m,f,!0))}function V(x,f){if(!_()||!e(c)||e(c)===f){T(c,null),T(m,null);return}x.preventDefault();const N=s.widgets.findIndex(P=>P.id===e(c)),u=s.widgets.findIndex(P=>P.id===f);if(N===-1||u===-1)return;const k=[...s.widgets],[S]=k.splice(N,1);k.splice(u,0,S),k.forEach((P,G)=>{P.order=G+1}),s.onChange?.(k),T(c,null),T(m,null)}function K(){T(c,null),T(m,null)}function U(x,f){const N=s.widgets.map(u=>u.id===x?{...u,size:f}:u);s.onChange?.(N)}function w(x){const f=s.widgets.map(N=>N.id===x?{...N,visible:!1}:N);s.onChange?.(f)}var g=vs(),n=ie(g),z=r(n);Ne(z,17,()=>e(D),x=>x.id,(x,f)=>{var N=ns(),u=r(N);{var k=P=>{var G=os(),q=ie(G),C=r(q),L=r(C);xr(L,{size:14}),t(C);var O=a(C,2);{var I=ee=>{var B=is();Ne(B,21,()=>e(f).sizes,Re,(j,Y)=>{var Z=ss(),oe=r(Z,!0);t(Z),b(()=>{$e(Z,1,`h-5 px-1.5 text-[0.625rem] font-semibold uppercase ${e(f).size===e(Y)?"bg-primary text-primary-foreground rounded-sm":"text-muted-foreground hover:text-foreground"}`),d(oe,e(Y))}),ke("click",Z,()=>U(e(f).id,e(Y))),o(j,Z)}),t(B),o(ee,B)};$(O,ee=>{e(f).sizes.length>1&&ee(I)})}var J=a(O,2),Q=r(J);_r(Q,{size:13}),t(J),t(q),Ze(2),b((ee,B)=>{se(C,"title",ee),se(J,"title",B)},[()=>p.t("ADMIN_NEXT.DASHBOARD_GRID.DRAG_TO_REORDER"),()=>p.t("ADMIN_NEXT.DASHBOARD.HIDE_WIDGET")]),ke("click",J,()=>w(e(f).id)),o(P,G)};$(u,P=>{_()&&P(k)})}var S=a(u,2);as(S,{get widget(){return e(f)}}),t(N),b(P=>{$e(N,1,`${P??""} relative ${_()?"cursor-grab":""} ${e(c)===e(f).id?"opacity-40":""} ${e(m)===e(f).id?"ring-2 ring-primary ring-offset-2 ring-offset-background rounded-lg":""}`),se(N,"draggable",_())},[()=>R(e(f).size)]),Ke("dragstart",N,P=>A(P,e(f).id)),Ke("dragover",N,P=>y(P,e(f).id)),Ke("drop",N,P=>V(P,e(f).id)),Ke("dragend",N,K),o(x,N)});var h=a(z,2);{var l=x=>{var f=ds(),N=r(f);ct(N,{size:20});var u=a(N,2),k=r(u,!0);t(u),t(f),b(S=>d(k,S),[()=>p.t("ADMIN_NEXT.DASHBOARD.ADD_WIDGET")]),ke("click",f,()=>s.onAddClick?.()),o(x,f)};$(h,x=>{_()&&s.onAddClick&&x(l)})}t(n);var E=a(n,2);{var X=x=>{var f=ls(),N=r(f),u=r(N,!0);t(N);var k=a(N,2),S=r(k,!0);t(k),t(f),b((P,G)=>{d(u,P),d(S,G)},[()=>p.t("ADMIN_NEXT.DASHBOARD.EMPTY"),()=>p.t("ADMIN_NEXT.DASHBOARD.EMPTY_HINT")]),o(x,f)};$(E,x=>{e(D).length===0&&!_()&&x(X)})}o(i,g),ge()}Qe(["click"]);const cs=[{id:"default",label:"Default",description:"Balanced layout with all main widgets visible.",apply(){return{preset:"default",widgets:[{id:"core.stats",visible:!0,size:"xl",order:1},{id:"core.popularity",visible:!0,size:"lg",order:2},{id:"core.system-health",visible:!0,size:"sm",order:3},{id:"core.recent-pages",visible:!0,size:"md",order:4},{id:"core.top-pages",visible:!0,size:"sm",order:5},{id:"core.backups",visible:!0,size:"sm",order:6},{id:"core.notifications",visible:!0,size:"md",order:7},{id:"core.news-feed",visible:!0,size:"md",order:8}]}}},{id:"minimal",label:"Minimal",description:"Stats and recent pages only.",apply(){return{preset:"minimal",widgets:[{id:"core.stats",visible:!0,size:"xl",order:1},{id:"core.recent-pages",visible:!0,size:"md",order:2},{id:"core.popularity",visible:!1,order:99},{id:"core.system-health",visible:!1,order:99},{id:"core.top-pages",visible:!1,order:99},{id:"core.backups",visible:!1,order:99},{id:"core.notifications",visible:!1,order:99},{id:"core.news-feed",visible:!1,order:99}]}}},{id:"compact",label:"Compact",description:"All widgets at the smallest size each supports.",apply(){return{preset:"compact",widgets:[{id:"core.stats",visible:!0,size:"md",order:1},{id:"core.popularity",visible:!0,size:"md",order:2},{id:"core.system-health",visible:!0,size:"md",order:3},{id:"core.recent-pages",visible:!0,size:"sm",order:4},{id:"core.top-pages",visible:!0,size:"sm",order:5},{id:"core.backups",visible:!0,size:"sm",order:6},{id:"core.notifications",visible:!0,size:"sm",order:7},{id:"core.news-feed",visible:!0,size:"sm",order:8}]}}}];var fs=v("<!> ",1),ms=v('<button type="button" class="block w-full rounded-sm px-2 py-1.5 text-start transition-colors hover:bg-accent"><div class="text-[0.8125rem] font-medium text-foreground"> </div> <div class="text-[0.6875rem] text-muted-foreground"> </div></button>'),_s=v('<div id="preset-menu" class="absolute right-0 top-full z-50 mt-1 w-72 rounded-md border border-border bg-popover p-1 shadow-lg"><div class="px-2 py-1.5 text-[0.625rem] font-semibold uppercase tracking-wide text-muted-foreground"> </div> <!> <div class="my-1 h-px bg-border"></div> <button type="button" class="flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-start text-[0.8125rem] text-foreground transition-colors hover:bg-accent"><!> </button></div>'),ps=v("<!> ",1),gs=v("<!> ",1),xs=v("<!> Save",1),bs=v('<div class="flex items-center gap-2"><div class="relative"><!> <!></div> <!> <!> <!></div>'),hs=v("<!> ",1);function Es(i,s){pe(s,!0);let _=he(s,"editMode",15,!1),R=he(s,"dirty",3,!1),D=he(s,"saving",3,!1),c=he(s,"canEditSite",3,!1),m=re(!1),A=re(void 0);function y(z){T(m,!1),s.onApplyPreset(z)}function V(){T(m,!1),s.onResetToDefault()}function K(z){if(!e(m))return;const h=z.target;e(A)&&!e(A).contains(h)&&!document.getElementById("preset-menu")?.contains(h)&&T(m,!1)}Fe(()=>{if(e(m))return document.addEventListener("mousedown",K),()=>document.removeEventListener("mousedown",K)});var U=Le(),w=ie(U);{var g=z=>{var h=bs(),l=r(h),E=r(l);Ye(E,{variant:"outline",size:"sm",onclick:()=>T(m,!e(m)),get ref(){return e(A)},set ref(S){T(A,S,!0)},children:(S,P)=>{var G=fs(),q=ie(G);dr(q,{size:13});var C=a(q);b(L=>d(C,` ${L??""}`),[()=>p.t("ADMIN_NEXT.DASHBOARD.PRESETS")]),o(S,G)},$$slots:{default:!0}});var X=a(E,2);{var x=S=>{var P=_s(),G=r(P),q=r(G,!0);t(G);var C=a(G,2);Ne(C,17,()=>cs,Re,(J,Q)=>{var ee=ms(),B=r(ee),j=r(B,!0);t(B);var Y=a(B,2),Z=r(Y,!0);t(Y),t(ee),b(()=>{d(j,e(Q).label),d(Z,e(Q).description)}),ke("click",ee,()=>y(e(Q))),o(J,ee)});var L=a(C,4),O=r(L);Er(O,{size:12});var I=a(O);t(L),t(P),b((J,Q)=>{d(q,J),d(I,` ${Q??""}`)},[()=>p.t("ADMIN_NEXT.EDIT_MODE_TOOLBAR.LAYOUT_PRESETS"),()=>p.t("ADMIN_NEXT.DASHBOARD.RESET_LAYOUT")]),ke("click",L,V),o(S,P)};$(X,S=>{e(m)&&S(x)})}t(l);var f=a(l,2);{var N=S=>{{let P=F(()=>p.t("ADMIN_NEXT.EDIT_MODE_TOOLBAR.SAVE_AS_SITE_DEFAULT_FOR_ALL_USERS"));Ye(S,{variant:"outline",size:"sm",onclick:()=>s.onSaveSite(),get disabled(){return D()},get title(){return e(P)},children:(G,q)=>{var C=ps(),L=ie(C);Ar(L,{size:13});var O=a(L);b(I=>d(O,` ${I??""}`),[()=>p.t("ADMIN_NEXT.DASHBOARD.SAVE_SITE_DEFAULT")]),o(G,C)},$$slots:{default:!0}})}};$(f,S=>{c()&&s.onSaveSite&&S(N)})}var u=a(f,2);Ye(u,{variant:"outline",size:"sm",get onclick(){return s.onCancel},get disabled(){return D()},children:(S,P)=>{var G=gs(),q=ie(G);mt(q,{size:13});var C=a(q);b(L=>d(C,` ${L??""}`),[()=>p.t("ADMIN_NEXT.CANCEL")]),o(S,G)},$$slots:{default:!0}});var k=a(u,2);{let S=F(()=>D()||!R());Ye(k,{variant:"default",size:"sm",onclick:()=>s.onSaveUser(),get disabled(){return e(S)},children:(P,G)=>{var q=xs(),C=ie(q);{var L=I=>{qe(I,{size:13,class:"animate-spin"})},O=I=>{br(I,{size:13})};$(C,I=>{D()?I(L):I(O,-1)})}Ze(),o(P,q)},$$slots:{default:!0}})}t(h),o(z,h)},n=z=>{{let h=F(()=>p.t("ADMIN_NEXT.DASHBOARD.CUSTOMIZE_TITLE"));Ye(z,{variant:"outline",size:"sm",onclick:()=>_(!0),get title(){return e(h)},children:(l,E)=>{var X=hs(),x=ie(X);hr(x,{size:13});var f=a(x);b(N=>d(f,` ${N??""}`),[()=>p.t("ADMIN_NEXT.DASHBOARD.CUSTOMIZE")]),o(l,X)},$$slots:{default:!0}})}};$(w,z=>{_()?z(g):z(n,-1)})}o(i,U),ge()}Qe(["click"]);var As=v('<p class="py-8 text-center text-sm text-muted-foreground"> </p>'),Ts=v('<button type="button" class="flex w-full items-center justify-between gap-3 rounded-md border border-transparent px-3 py-2 text-start transition-colors hover:border-border hover:bg-accent"><div class="min-w-0"><div class="text-[0.8125rem] font-medium text-foreground"> </div> <div class="text-[0.6875rem] text-muted-foreground"> </div></div> <!></button>'),Ds=v('<div class="space-y-1"></div>'),ys=v('<div class="fixed inset-0 z-50 flex items-center justify-center bg-background/80 backdrop-blur-sm" role="dialog"><div class="w-full max-w-lg rounded-xl border border-border bg-card p-5 shadow-xl"><div class="mb-4 flex items-center justify-between"><div><h2 class="text-base font-semibold text-foreground"> </h2> <p class="mt-0.5 text-xs text-muted-foreground"> </p></div> <button type="button" class="rounded-md p-1 text-muted-foreground hover:bg-accent"><!></button></div> <!> <div class="mt-5 flex justify-end"><!></div></div></div>');function Ns(i,s){pe(s,!0);let _=he(s,"open",15,!1);const R=F(()=>s.widgets.filter(A=>!A.visible));var D=Le(),c=ie(D);{var m=A=>{var y=ys(),V=r(y),K=r(V),U=r(K),w=r(U),g=r(w,!0);t(w);var n=a(w,2),z=r(n,!0);t(n),t(U);var h=a(U,2),l=r(h);mt(l,{size:16}),t(h),t(K);var E=a(K,2);{var X=u=>{var k=As(),S=r(k,!0);t(k),b(P=>d(S,P),[()=>p.t("ADMIN_NEXT.DASHBOARD.PICKER_EMPTY")]),o(u,k)},x=u=>{var k=Ds();Ne(k,21,()=>e(R),Re,(S,P)=>{var G=Ts(),q=r(G),C=r(q),L=r(C,!0);t(C);var O=a(C,2),I=r(O,!0);t(O),t(q);var J=a(q,2);ct(J,{size:14,class:"shrink-0 text-muted-foreground"}),t(G),b(Q=>{d(L,Q),d(I,e(P).id)},[()=>p.t(e(P).label)]),ke("click",G,()=>{s.onAdd(e(P).id),_(!1)}),o(S,G)}),t(k),o(u,k)};$(E,u=>{e(R).length===0?u(X):u(x,-1)})}var f=a(E,2),N=r(f);Ye(N,{variant:"outline",size:"sm",onclick:()=>_(!1),children:(u,k)=>{Ze();var S=Et("Done");o(u,S)},$$slots:{default:!0}}),t(f),t(V),t(y),b((u,k,S)=>{d(g,u),d(z,k),se(h,"aria-label",S)},[()=>p.t("ADMIN_NEXT.DASHBOARD.PICKER_TITLE"),()=>p.t("ADMIN_NEXT.DASHBOARD.PICKER_SUBTITLE"),()=>p.t("ADMIN_NEXT.CLOSE")]),ke("click",h,()=>_(!1)),o(A,y)};$(c,A=>{_()&&A(m)})}o(i,D),ge()}Qe(["click"]);var Ss=v('<span class="shrink-0 text-lg leading-none"> </span>'),Is=v('<span class="font-semibold"> </span> <span class="mx-1 text-muted-foreground">—</span>',1),ws=v('<a target="_blank" rel="noopener noreferrer" class="shrink-0 rounded-md border border-purple-500/40 bg-purple-500/10 px-3 py-1 text-[0.75rem] font-semibold text-foreground transition-colors hover:bg-purple-500/20"> </a>'),ks=v('<div class="flex items-center gap-0.5 me-1"><button type="button" class="flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><!></button> <span class="text-[0.625rem] tabular-nums text-muted-foreground px-1"> </span> <button type="button" class="flex h-6 w-6 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground" title="Next"><!></button></div>'),Ms=v('<div class="absolute bottom-0 left-0 h-0.5 w-full bg-purple-500/10"><div class="h-full bg-purple-500/40"></div></div>'),Ps=v('<div class="relative mb-5 overflow-hidden rounded-lg border border-purple-500/30 bg-gradient-to-br from-purple-500/10 via-fuchsia-500/5 to-transparent p-1" role="region"><div class="relative flex items-center gap-3 px-4 py-3 pe-24"><!> <div class="min-w-0 flex-1 text-[0.8125rem] leading-relaxed text-foreground"><!> <span></span></div> <!> <div class="absolute right-2 top-1/2 flex -translate-y-1/2 items-center gap-1"><!> <button type="button" class="flex h-7 w-7 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-foreground"><!></button></div></div> <!></div>');function Rs(i,s){pe(s,!0);let _=he(s,"notifications",19,()=>[]);function R(l){const E=l.replace(/(^|-)([a-z])/g,(X,x,f)=>f.toUpperCase());return lr[E]}const D=8e3;let c=re(0),m=re(He(new Set)),A=null;const y=F(()=>_().filter(l=>!e(m).has(l.id)));function V(){e(y).length>1&&T(c,(e(c)+1)%e(y).length)}function K(){e(y).length>1&&T(c,(e(c)-1+e(y).length)%e(y).length)}function U(){w(),e(y).length>1&&(A=setInterval(V,D))}function w(){A&&(clearInterval(A),A=null)}Fe(()=>(e(c)>=e(y).length&&T(c,0),U(),w));async function g(l){T(m,new Set([...e(m),l.id]),!0);try{await kr(l.id)}catch{}}ht(()=>w);var n=Le(),z=ie(n);{var h=l=>{const E=F(()=>e(y)[e(c)]);var X=Ps(),x=r(X),f=r(x);{var N=B=>{const j=F(()=>R(e(E).icon));var Y=Le(),Z=ie(Y);{var oe=ne=>{var ae=Le(),W=ie(ae);Tr(W,()=>e(j),(H,te)=>{te(H,{size:18,class:"shrink-0 text-purple-500"})}),o(ne,ae)},Ee=ne=>{var ae=Ss(),W=r(ae,!0);t(ae),b(()=>d(W,e(E).icon)),o(ne,ae)};$(Z,ne=>{e(j)?ne(oe):ne(Ee,-1)})}o(B,Y)};$(f,B=>{e(E).icon&&B(N)})}var u=a(f,2),k=r(u);{var S=B=>{var j=Is(),Y=ie(j),Z=r(Y,!0);t(Y),Ze(2),b(()=>d(Z,e(E).title)),o(B,j)};$(k,B=>{e(E).title&&B(S)})}var P=a(k,2);ft(P,()=>_t(e(E).message),!0),t(P),t(u);var G=a(u,2);{var q=B=>{var j=ws(),Y=r(j,!0);t(j),b(()=>{se(j,"href",e(E).action.url),d(Y,e(E).action.label)}),o(B,j)};$(G,B=>{e(E).action&&B(q)})}var C=a(G,2),L=r(C);{var O=B=>{var j=ks(),Y=r(j),Z=r(Y);lt(Z,{name:"chevron-back",size:14}),t(Y);var oe=a(Y,2),Ee=r(oe);t(oe);var ne=a(oe,2),ae=r(ne);lt(ae,{name:"chevron-forward",size:14}),t(ne),t(j),b(W=>{se(Y,"title",W),d(Ee,`${e(c)+1}/${e(y).length??""}`)},[()=>p.t("ADMIN_NEXT.TOP_BANNER.PREVIOUS")]),ke("click",Y,K),ke("click",ne,V),o(B,j)};$(L,B=>{e(y).length>1&&B(O)})}var I=a(L,2),J=r(I);mt(J,{size:14}),t(I),t(C),t(x);var Q=a(x,2);{var ee=B=>{var j=Ms(),Y=r(j);t(j),b(()=>ut(Y,`width: ${(e(c)+1)/e(y).length*100}%; transition: width 0.3s`)),o(B,j)};$(Q,B=>{e(y).length>1&&B(ee)})}t(X),b((B,j)=>{se(X,"aria-label",B),se(I,"title",j)},[()=>p.t("ADMIN_NEXT.TOP_BANNER.SITE_NOTIFICATION"),()=>p.t("ADMIN_NEXT.DISMISS")]),Ke("mouseenter",X,w),Ke("mouseleave",X,U),ke("click",I,()=>g(e(E))),o(l,X)};$(z,l=>{e(y).length>0&&l(h)})}o(i,n),ge()}Qe(["click"]);var zs=v('<div class="mb-4 flex items-start gap-3 rounded-lg border border-red-300 bg-red-50 p-4 dark:border-red-500/40 dark:bg-red-950/40" role="alert"><div class="flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-red-100 text-red-600 dark:bg-red-500/20 dark:text-red-300"><!></div> <div class="min-w-0 flex-1"><p class="text-sm font-semibold text-red-800 dark:text-red-200"> </p> <p class="mt-1 text-sm text-red-700 dark:text-red-200/90"> </p> <a href="https://learn.getgrav.org/webservers-hosting/servers" target="_blank" rel="noopener noreferrer" class="mt-2 inline-block text-sm font-medium text-red-800 underline underline-offset-2 hover:no-underline dark:text-red-200"> </a></div></div>');function Os(i,s){pe(s,!0);let _=he(s,"exposed",3,!1);var R=Le(),D=ie(R);{var c=m=>{var A=zs(),y=r(A),V=r(y);Dr(V,{size:20}),t(y);var K=a(y,2),U=r(K),w=r(U,!0);t(U);var g=a(U,2),n=r(g,!0);t(g);var z=a(g,2),h=r(z,!0);t(z),t(K),t(A),b((l,E,X)=>{d(w,l),d(n,E),d(h,X)},[()=>p.t("ADMIN_NEXT.SECURITY_CHECK.USER_FOLDER_EXPOSED_TITLE"),()=>p.t("ADMIN_NEXT.SECURITY_CHECK.USER_FOLDER_EXPOSED_BODY"),()=>p.t("ADMIN_NEXT.SECURITY_CHECK.USER_FOLDER_EXPOSED_LEARN_MORE")]),o(m,A)};$(D,m=>{_()&&m(c)})}o(i,R),ge()}async function Gs(){return Ve.get("/dashboard/security/exposure-probe")}async function Us(){let i;try{i=await Gs()}catch{return null}if(!i?.available||!i.url||!i.token)return null;try{const s=await fetch(i.url,{credentials:"omit",cache:"no-store"});return s.ok?(await s.text()).includes(i.token):!1}catch{return null}}var Cs=v('<div class="flex h-64 items-center justify-center"><!></div>'),Ls=v('<p class="mt-0.5 text-xs text-muted-foreground"> </p>'),Xs=v('<p class="mt-0.5 text-xs text-muted-foreground"> </p>'),Bs=v("<!> ",1),Ws=v('<div><div><div><h1> </h1> <!></div> <div class="flex items-center gap-2"><!> <!></div></div></div>'),Hs=v('<div><!> <div class="relative z-0 px-6 pb-6"><!> <!> <!></div> <!></div>'),$s=v("<!> <!>",1);function Ui(i,s){pe(s,!0);let _=re(null),R=re(null),D=re(He([])),c=re(He([])),m=re(He([])),A=re(null),y=re(He([])),V=re(He([])),K=re(null),U=re(null),w=re(He([])),g=re(He([])),n=re(!1),z=re(!1),h=re(!0),l=re(!1),E=re(!1),X=re(!1),x=re(!1),f=re(!1),N=re(!1),u=re(!1);const k=F(()=>JSON.stringify(e(w))!==JSON.stringify(e(g))),S=F(()=>pt("gpm")),P=F(()=>pt("system"));zr(()=>({stats:e(_),systemInfo:e(R),notifications:e(D),recentPages:e(m),popularity:e(A),feed:e(y),backups:e(V),updates:e(K),reports:e(U),animated:e(l),updatingAll:e(E),upgradingGrav:e(X),creatingBackup:e(x),canWriteGpm:e(S),canWriteSystem:e(P),onUpdateAll:ee,onUpgradeGrav:B,onCreateBackup:j}));async function G(W={}){const{flushGpm:H=!1,silent:te=!1}=W;te||T(h,!0);try{const M=await Promise.allSettled([Ut(),Mr(),Ct(H),Jt(8),Lt(),Xt(H),Bt(),Wt(H),Ht(),Ir(),$t(H)]);M[0].status==="fulfilled"&&T(_,M[0].value,!0),M[1].status==="fulfilled"&&T(R,M[1].value,!0),M[2].status==="fulfilled"&&T(D,M[2].value,!0),M[3].status==="fulfilled"&&T(m,M[3].value,!0),M[4].status==="fulfilled"&&T(A,M[4].value,!0),M[5].status==="fulfilled"&&T(y,M[5].value?.feed??[],!0),M[6].status==="fulfilled"&&T(V,M[6].value,!0),M[7].status==="fulfilled"&&T(K,M[7].value,!0),M[8].status==="fulfilled"&&T(U,M[8].value,!0),M[9].status==="fulfilled"&&(T(w,M[9].value.widgets,!0),T(g,JSON.parse(JSON.stringify(e(w))),!0),T(n,M[9].value.can_edit_site,!0)),M[10].status==="fulfilled"&&T(c,M[10].value,!0)}finally{te||(T(h,!1),T(l,!1),requestAnimationFrame(()=>requestAnimationFrame(()=>{T(l,!0)})))}}function q(W){return{preset:"custom",widgets:W.map(H=>({id:H.id,visible:H.visible,size:H.size,order:H.order}))}}async function C(){T(N,!0);try{const W=await gt(q(e(w)));T(w,W.widgets,!0),T(g,JSON.parse(JSON.stringify(e(w))),!0),T(f,!1),be.success(p.t("ADMIN_NEXT.DASHBOARD.LAYOUT_SAVED"))}catch(W){be.error(`Save failed: ${W instanceof Error?W.message:String(W)}`)}finally{T(N,!1)}}async function L(){if(await at.confirm({title:"Save as site default?",message:"This layout will become the default for every user on this site. Widgets you hide here will be hidden for everyone and cannot be re-enabled per-user.",confirmLabel:"Save site default"})){T(N,!0);try{const H=await wr(q(e(w)));T(w,H.widgets,!0),T(g,JSON.parse(JSON.stringify(e(w))),!0),T(f,!1),be.success(p.t("ADMIN_NEXT.DASHBOARD.SITE_LAYOUT_SAVED"))}catch(H){be.error(`Save failed: ${H instanceof Error?H.message:String(H)}`)}finally{T(N,!1)}}}function O(W){const H=W.apply(),te=new Map(H.widgets.map(M=>[M.id,M]));T(w,e(w).map(M=>{const de=te.get(M.id);return de?{...M,visible:de.visible??M.visible,size:de.size??M.size,order:de.order??M.order}:M}).sort((M,de)=>M.order-de.order),!0)}async function I(){if(await at.confirm({title:"Reset your layout?",message:"Your personal customizations will be cleared. The site default layout will apply.",confirmLabel:"Reset"})){T(N,!0);try{const H=await gt({preset:"default",widgets:[]});T(w,H.widgets,!0),T(g,JSON.parse(JSON.stringify(e(w))),!0),T(f,!1),be.success(p.t("ADMIN_NEXT.DASHBOARD.LAYOUT_RESET"))}catch(H){be.error(`Reset failed: ${H instanceof Error?H.message:String(H)}`)}finally{T(N,!1)}}}function J(){T(w,JSON.parse(JSON.stringify(e(g))),!0),T(f,!1)}function Q(W){const H=Math.max(0,...e(w).map(te=>te.order));T(w,e(w).map(te=>te.id===W?{...te,visible:!0,order:H+1}:te),!0)}async function ee(){const W=(e(K)?.plugins?.filter(M=>M.updatable).length??0)+(e(K)?.themes?.filter(M=>M.updatable).length??0);if(!await at.confirm({title:"Update all packages?",message:`This will update ${W} package${W!==1?"s":""}. Continue?`,confirmLabel:"Update All"}))return;T(E,!0);const te=be.loading(`Updating ${W} package${W!==1?"s":""}…`);try{const M=await jt(),de=M.updated.length;if(M.failed.length===0)be.success(p.t("ADMIN_NEXT.TOASTS.PACKAGES_UPDATED",{n:de}),{id:te});else{const ye=M.failed.map(Te=>`${Te.package}: ${Te.error}`).join(`
`);be.error((de>0?p.t("ADMIN_NEXT.TOASTS.PACKAGES_UPDATED",{n:de})+" · ":"")+`${ye}`,{id:te})}await G({silent:!0}),Ft([...M.updated,...M.cascaded_dependencies])}catch(M){be.error(p.t("ADMIN_NEXT.TOASTS.UPDATE_FAILED",{detail:M instanceof Error?M.message:String(M)}),{id:te})}finally{T(E,!1)}}async function B(){const W=e(K)?.grav?.available??"";if(!await at.confirm({title:"Upgrade Grav core?",message:`This will upgrade Grav from v${e(K)?.grav?.current??""} to v${W}. The site may be briefly unavailable during the upgrade.`,confirmLabel:"Upgrade Grav"}))return;T(X,!0);const te=be.loading(`Upgrading Grav to v${W}…`);try{const M=await Yt();be.success(p.t("ADMIN_NEXT.TOASTS.GRAV_UPGRADED",{version:M.new_version}),{id:te}),await G({silent:!0})}catch(M){be.error(`Grav upgrade failed: ${M instanceof Error?M.message:String(M)}`,{id:te})}finally{T(X,!1)}}async function j(){T(x,!0);const W=be.loading(p.t("ADMIN_NEXT.APP.CREATING_BACKUP"));try{const H=await Kt();be.success(p.t("ADMIN_NEXT.TOASTS.BACKUP_CREATED",{size:st(H.size)}),{id:W}),await G({silent:!0})}catch(H){be.error(`Backup failed: ${H instanceof Error?H.message:String(H)}`,{id:W})}finally{T(x,!1)}}Fe(()=>{Me.isAuthenticated&&G()});const Y=qt(()=>G({silent:!0}),6e4,{runImmediately:!1});ht(()=>{Y.start(),Us().then(Ae=>{T(z,Ae===!0)});const W=tt.subscribe("pages:*",()=>G({silent:!0})),H=tt.subscribe("users:*",()=>G({silent:!0})),te=tt.subscribe("plugins:*",()=>G({silent:!0})),M=tt.subscribe("gpm:*",()=>G({silent:!0})),de=tt.subscribe("config:update",()=>G({silent:!0}));return()=>{Y.stop(),W(),H(),te(),M(),de()}});var Z=$s();Gt("1uha8ag",W=>{Mt(H=>{Pt.title=H??""},[()=>p.t("ADMIN_NEXT.APP.DASHBOARD_GRAV_ADMIN")])});var oe=ie(Z);{let W=F(()=>e(E)||e(X)||e(x));Rr(oe,{get active(){return e(W)}})}var Ee=a(oe,2);{var ne=W=>{var H=Cs(),te=r(H);qe(te,{size:24,class:"animate-spin text-muted-foreground"}),t(H),o(W,H)},ae=W=>{var H=Hs(),te=r(H);Zt(te,{children:(Xe,Be)=>{let fe=()=>Be?.().scrolled;var De=Ws(),ze=r(De),Ie=r(ze),we=r(Ie),et=r(we,!0);t(we);var me=a(we,2);{var ce=le=>{var ve=Ls(),We=r(ve,!0);t(ve),b(Ge=>d(We,Ge),[()=>p.t("ADMIN_NEXT.APP.WELCOME_BACK",{name:Me.fullname||Me.username})]),o(le,ve)},ue=le=>{var ve=Xs(),We=r(ve,!0);t(ve),b(Ge=>d(We,Ge),[()=>p.t("ADMIN_NEXT.DASHBOARD.EDIT_HINT")]),o(le,ve)};$(me,le=>{!fe()&&!e(f)?le(ce):e(f)&&le(ue,1)})}t(Ie);var _e=a(Ie,2),Oe=r(_e);{var Pe=le=>{Ye(le,{variant:"outline",size:"sm",onclick:()=>G({flushGpm:!0}),children:(ve,We)=>{var Ge=Bs(),rt=ie(Ge);yr(rt,{size:13});var ot=a(rt);b(Ue=>d(ot,` ${Ue??""}`),[()=>p.t("ADMIN_NEXT.APP.REFRESH")]),o(ve,Ge)},$$slots:{default:!0}})};$(Oe,le=>{e(f)||le(Pe)})}var xe=a(Oe,2);{let le=F(()=>e(n)?L:void 0);Es(xe,{get dirty(){return e(k)},get saving(){return e(N)},get canEditSite(){return e(n)},onSaveUser:C,get onSaveSite(){return e(le)},onApplyPreset:O,onCancel:J,onResetToDefault:I,get editMode(){return e(f)},set editMode(ve){T(f,ve,!0)}})}t(_e),t(ze),t(De),b(le=>{$e(De,1,`px-6 transition-[padding] duration-200 ${fe()?"py-2":"pt-6 pb-3"}`),$e(ze,1,`flex items-center justify-between ${fe()?"min-h-6":"min-h-8"}`),$e(we,1,`font-semibold tracking-tight text-foreground transition-[font-size] duration-200 ${fe()?"text-sm":"text-xl"}`),d(et,le)},[()=>p.t("ADMIN_NEXT.DASHBOARD.TITLE")]),o(Xe,De)},$$slots:{default:!0}});var M=a(te,2),de=r(M);Os(de,{get exposed(){return e(z)}});var Ae=a(de,2);Rs(Ae,{get notifications(){return e(c)}});var ye=a(Ae,2);us(ye,{get widgets(){return e(w)},get editMode(){return e(f)},onChange:Se=>T(w,Se,!0),onAddClick:()=>T(u,!0)}),t(M);var Te=a(M,2);Ns(Te,{get widgets(){return e(w)},onAdd:Q,get open(){return e(u)},set open(Se){T(u,Se,!0)}}),t(H),o(W,H)};$(Ee,W=>{e(h)?W(ne):W(ae,-1)})}o(i,Z),ge()}export{Ui as component};