6 lines
34 KiB
JavaScript
6 lines
34 KiB
JavaScript
import"../chunks/DsnmJJEf.js";import{p as je,i as S,m as Ue,f as pe,d as r,r as t,s as a,g as e,e as Je,a as l,t as g,j as n,b as Ve,h as Z,c as v,n as Ot,l as Dt,k as yt,$ as Rt}from"../chunks/krC2xWPP.js";import{d as ht,s,a as ye,e as ft}from"../chunks/CddAxf8c.js";import{i as $}from"../chunks/DjsWWzyL.js";import{s as Pe,h as Ct}from"../chunks/j_DJpx8B.js";import{i as d,b as Mt,c as mt}from"../chunks/Cu5ilWky.js";import{p as kt}from"../chunks/euuZp6ft.js";import{g as wt}from"../chunks/BVTiZ3e2.js";import{T as Pt}from"../chunks/BXuqUDBl.js";import{S as Ut}from"../chunks/K87jKp17.js";import{o as ot,a as $t}from"../chunks/DukJHxi2.js";import{B as We,t as xe,b as Bt,e as Ye,s as rt,r as St,c as Xt,d as gt,i as bt}from"../chunks/Lvd_r9sp.js";import{g as Gt,c as Ft,d as Kt,a as zt,b as Ht,e as jt,f as Vt,h as Wt,L as Yt,i as Jt,j as qt}from"../chunks/mRQytvOt.js";import{C as Zt}from"../chunks/CqW2kplp.js";import{L as at}from"../chunks/C_E2vM9U.js";import{P as Qt}from"../chunks/C1jLV8_5.js";import{D as er}from"../chunks/DBVjMAyX.js";import{T as tr}from"../chunks/CSNyvbvN.js";import{h as Tt}from"../chunks/DSIsCMt7.js";import{f as rr}from"../chunks/Lyt-zgeV.js";import{g as ar,s as or}from"../chunks/CMqN2HxG.js";import{a as xt,c as sr,s as nr,h as ir,G as dr,B as lr,v as vr}from"../chunks/D7PIEGLR.js";import{I as ur}from"../chunks/dWUbZIEy.js";import{S as cr}from"../chunks/Cr0Hb3fo.js";import{S as _r}from"../chunks/CV_JZMCk.js";import{T as Nt}from"../chunks/zdwqcrP5.js";import{u as pr}from"../chunks/DI9dxHnF.js";import{D as Et}from"../chunks/nlum2O0L.js";import{S as fr}from"../chunks/agE6NDSA.js";import{R as mr}from"../chunks/DmaMvHCd.js";import{X as gr}from"../chunks/CiIMiELt.js";import{c as xr}from"../chunks/BcwIk3O9.js";import{b as br}from"../chunks/CpuCZOqP.js";import{C as hr}from"../chunks/BOa1XZtG.js";import{C as Tr}from"../chunks/BVZX0JD2.js";import{S as Er}from"../chunks/Efbhffrv.js";import{b as Or}from"../chunks/ciapVzar.js";import{U as Sr}from"../chunks/hiAQl6ey.js";import{P as Nr}from"../chunks/BMyhymsL.js";var Lr=v('<div class="px-5 pb-3"><div class="relative h-8 w-full overflow-hidden rounded-md bg-primary/10"><div class="absolute inset-0 rounded-md"></div> <div class="absolute inset-0 flex items-center justify-end pe-3"><span class="text-xs font-semibold text-foreground"> </span></div></div></div>'),Ar=v("<!> ",1),Ir=v("<!> ",1),Dr=v('<div class="p-8 text-center text-sm text-muted-foreground"> </div>'),yr=v('<div class="p-8 text-center text-sm text-muted-foreground"> </div>'),Rr=v('<tr class="border-b border-border last:border-0 hover:bg-muted/30"><td class="px-4 py-3 text-muted-foreground"> </td><td class="px-4 py-3 text-foreground"> </td><td class="px-4 py-3 text-muted-foreground"> </td><td class="px-4 py-3 text-end text-muted-foreground"> </td><td class="px-4 py-3 text-end"><div class="flex items-center justify-end gap-1"><a class="inline-flex h-7 w-7 items-center justify-center rounded-md text-primary transition-colors hover:bg-primary/10"><!></a> <button class="inline-flex h-7 w-7 items-center justify-center rounded-md text-destructive transition-colors hover:bg-destructive/10"><!></button></div></td></tr>'),Cr=v('<table class="w-full text-sm"><thead><tr class="border-b border-border text-start text-xs font-medium text-muted-foreground"><th class="px-4 py-3 w-8">#</th><th class="px-4 py-3"> </th><th class="px-4 py-3">Name</th><th class="px-4 py-3 text-end">Size</th><th class="px-4 py-3 text-end"> </th></tr></thead><tbody></tbody></table>'),Mr=v('<div class="space-y-4"><div class="overflow-hidden rounded-lg border border-primary/20 bg-primary/5"><div class="px-5 pt-4 pb-3"><h3 class="text-sm font-semibold text-foreground"> </h3></div> <!> <div class="grid grid-cols-4 divide-x divide-primary/10 border-t border-primary/10 bg-primary/[0.03]"><div class="px-4 py-3 text-center"><p class="text-2xl font-bold text-foreground"> </p> <p class="text-[0.6875rem] font-medium text-muted-foreground"> </p></div> <div class="px-4 py-3 text-center"><p class="text-2xl font-bold text-foreground"> </p> <p class="text-[0.6875rem] font-medium text-muted-foreground"> </p></div> <div class="px-4 py-3 text-center"><p class="text-2xl font-bold text-foreground"> </p> <p class="text-[0.6875rem] font-medium text-muted-foreground"> </p></div> <div class="px-4 py-3 text-center"><p class="text-2xl font-bold text-foreground"> </p> <p class="text-[0.6875rem] font-medium text-muted-foreground"> </p></div></div></div> <div class="flex items-center justify-between"><h3 class="text-sm font-semibold text-foreground"> </h3> <!></div> <div class="rounded-lg border border-border bg-card"><!></div></div> <!>',1);function kr(Se,Y){je(Y,!0);let _=S(Ue([])),u=S(null),h=S(0),E=S(!0),N=S(!1),C=S(null);const se=Z(()=>e(_).length),K=Z(()=>e(_).reduce((c,R)=>c+R.size,0)),z=Z(()=>e(_).length>0?e(_)[0].date:null),P=Z(()=>e(_).length>0?e(_)[e(_).length-1].date:null),T=Z(()=>e(u)?.trigger==="space"?e(u).max_backups_space*1024*1024*1024:0),B=Z(()=>e(T)>0?Math.min(100,Math.round(e(K)/e(T)*100)):0),H=Z(()=>()=>e(u)?e(u).trigger==="space"?`Using ${fe(e(K))} of ${e(u).max_backups_space} GB`:e(u).trigger==="number"?`${e(se)} of ${e(u).max_backups_count} backups`:e(u).trigger==="time"?`Keeping last ${e(u).max_backups_time} days`:"":"");async function o(){n(E,!0);try{const c=await Gt();n(_,c.backups??[],!0),n(u,c.purge??null,!0),n(h,c.profiles_count??0,!0)}catch{xe.error(d.t("ADMIN_NEXT.TOOLS.BACKUPS.FAILED_TO_LOAD_BACKUPS"))}finally{n(E,!1)}}async function I(){n(N,!0);try{await Ft(),xe.success(d.t("ADMIN_NEXT.TOOLS.BACKUPS.BACKUP_CREATED_SUCCESSFULLY")),await o()}catch{xe.error(d.t("ADMIN_NEXT.TOOLS.BACKUPS.FAILED_TO_CREATE_BACKUP"))}finally{n(N,!1)}}async function J(){if(!e(C))return;const c=e(C);n(C,null);try{await Kt(c),xe.success(d.t("ADMIN_NEXT.TOOLS.BACKUPS.BACKUP_DELETED")),await o()}catch{xe.error(d.t("ADMIN_NEXT.TOOLS.BACKUPS.FAILED_TO_DELETE_BACKUP"))}}function fe(c){if(c===0)return"0 B";const R=["B","KB","MB","GB"],D=Math.floor(Math.log(c)/Math.log(1024));return(c/Math.pow(1024,D)).toFixed(D>1?2:0)+" "+R[D]}function O(c){return c?new Date(c).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"—"}function f(c){if(!c)return"—";const R=Date.now()-new Date(c).getTime(),D=Math.floor(R/1e3);if(D<60)return`${D} secs`;const re=Math.floor(D/60);if(re<60)return`${re} min${re>1?"s":""}`;const _e=Math.floor(re/60);if(_e<24)return`${_e} hr${_e>1?"s":""}`;const ae=Math.floor(_e/24);if(ae<7)return`${ae} day${ae>1?"s":""}`;const oe=Math.floor(ae/7);if(oe<5)return`${oe} wk${oe>1?"s":""}`;const ge=Math.floor(ae/30);return`${ge} mo${ge>1?"s":""}`}ot(o);var x=Mr(),M=pe(x),y=r(M),j=r(y),L=r(j),Q=r(L,!0);t(L),t(j);var me=a(j,2);{var m=c=>{var R=Lr(),D=r(R),re=r(D),_e=a(re,2),ae=r(_e),oe=r(ae,!0);t(ae),t(_e),t(D),t(R),g((ge,De)=>{Bt(re,`background: linear-gradient(to right, #22c55e 0%, #22c55e 40%, #eab308 65%, #ef4444 100%); clip-path: inset(0 ${ge??""}% 0 0); transition: clip-path 0.5s ease;`),s(oe,De)},[()=>100-Math.max(e(B),2),()=>e(H)()]),l(c,R)};$(me,c=>{e(u)&&c(m)})}var A=a(me,2),ee=r(A),U=r(ee),ne=r(U,!0);t(U);var ie=a(U,2),te=r(ie,!0);t(ie),t(ee);var X=a(ee,2),Ne=r(X),q=r(Ne,!0);t(Ne);var de=a(Ne,2),he=r(de,!0);t(de),t(X);var k=a(X,2),w=r(k),le=r(w,!0);t(w);var V=a(w,2),Ie=r(V,!0);t(V),t(k);var ve=a(k,2),G=r(ve),ce=r(G,!0);t(G);var Te=a(G,2),Le=r(Te,!0);t(Te),t(ve),t(A),t(y);var Xe=a(y,2),Re=r(Xe),st=r(Re,!0);t(Re);var qe=a(Re,2);We(qe,{size:"sm",onclick:I,get disabled(){return e(N)},children:(c,R)=>{var D=Je(),re=pe(D);{var _e=oe=>{var ge=Ar(),De=pe(ge);at(De,{size:14,class:"animate-spin"});var Ce=a(De);g(Ee=>s(Ce,` ${Ee??""}`),[()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.CREATING")]),l(oe,ge)},ae=oe=>{var ge=Ir(),De=pe(ge);Qt(De,{size:14});var Ce=a(De);g(Ee=>s(Ce,` ${Ee??""}`),[()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.BACKUP_NOW")]),l(oe,ge)};$(re,oe=>{e(N)?oe(_e):oe(ae,-1)})}l(c,D)},$$slots:{default:!0}}),t(Xe);var Ze=a(Xe,2),Ge=r(Ze);{var Fe=c=>{var R=Dr(),D=r(R,!0);t(R),g(re=>s(D,re),[()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.LOADING_BACKUPS")]),l(c,R)},nt=c=>{var R=yr(),D=r(R,!0);t(R),g(re=>s(D,re),[()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.NO_BACKUPS_FOUND_CREATE_ONE_TO_GET")]),l(c,R)},Ke=c=>{var R=Cr(),D=r(R),re=r(D),_e=a(r(re)),ae=r(_e,!0);t(_e);var oe=a(_e,3),ge=r(oe,!0);t(oe),t(re),t(D);var De=a(D);Ye(De,23,()=>e(_),Ce=>Ce.filename,(Ce,Ee,dt)=>{var ze=Rr(),Qe=r(ze),lt=r(Qe,!0);t(Qe);var et=a(Qe),vt=r(et,!0);t(et);var tt=a(et),ut=r(tt,!0);t(tt);var i=a(tt),p=r(i,!0);t(i);var b=a(i),W=r(b),F=r(W),Ae=r(F);er(Ae,{size:14}),t(F);var Oe=a(F,2),$e=r(Oe);tr($e,{size:14}),t(Oe),t(W),t(b),t(ze),g((be,ue,Me,Be,He)=>{s(lt,e(dt)+1),s(vt,be),s(ut,e(Ee).title||"Default Site Backup"),s(p,ue),rt(F,"href",Me),rt(F,"title",Be),rt(Oe,"title",He)},[()=>O(e(Ee).date),()=>fe(e(Ee).size),()=>zt(e(Ee).filename),()=>d.t("ADMIN_NEXT.DOWNLOAD"),()=>d.t("ADMIN_NEXT.DELETE")]),ye("click",Oe,()=>{n(C,e(Ee).filename,!0)}),l(Ce,ze)}),t(De),t(R),g((Ce,Ee)=>{s(ae,Ce),s(ge,Ee)},[()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.BACKUP_DATE"),()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.ACTION")]),l(c,R)};$(Ge,c=>{e(E)?c(Fe):e(_).length===0?c(nt,1):c(Ke,-1)})}t(Ze),t(M);var it=a(M,2);{let c=Z(()=>!!e(C)),R=Z(()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.DELETE_BACKUP")),D=Z(()=>`Delete backup "${e(C)}"? This cannot be undone.`);Zt(it,{get open(){return e(c)},get title(){return e(R)},get message(){return e(D)},confirmLabel:"Delete",variant:"destructive",onconfirm:J,oncancel:()=>{n(C,null)}})}g((c,R,D,re,_e,ae,oe,ge)=>{s(Q,c),s(ne,e(se)),s(te,R),s(q,e(h)),s(he,D),s(le,re),s(Ie,_e),s(ce,ae),s(Le,oe),s(st,ge)},[()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.BACKUP_STATISTICS"),()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.NUMBER_OF_BACKUPS"),()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.NUMBER_OF_PROFILES"),()=>f(e(z)),()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.NEWEST_BACKUP"),()=>f(e(P)),()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.OLDEST_BACKUP"),()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS.BACKUP_HISTORY")]),l(Se,x),Ve()}ht(["click"]);var wr=v('<div class="p-8 text-center text-sm text-muted-foreground"> </div>'),Pr=v('<div class="flex items-center gap-2 rounded-lg border border-red-200 bg-red-50 p-3 text-sm text-red-700 dark:border-red-800/50 dark:bg-red-950/30 dark:text-red-300"><!> <strong> </strong></div>'),Ur=v('<p class="mt-2 text-sm text-muted-foreground"></p>'),$r=v('<div class="rounded-lg border border-border bg-card p-4"><div class="flex items-start gap-2"><code class="block flex-1 overflow-x-auto rounded-md bg-muted px-3 py-2.5 font-mono text-xs text-foreground"> </code> <!></div> <p class="mt-3 text-sm text-muted-foreground"></p> <!></div>'),Br=v("<!> ",1),Xr=v("<!> Save",1),Gr=v('<!> <div class="flex items-start gap-2 rounded-lg border border-blue-200 bg-blue-50 p-3 text-sm text-blue-700 dark:border-blue-800/50 dark:bg-blue-950/30 dark:text-blue-300"><!> <span> </span></div> <!> <div class="flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 p-3 text-sm text-amber-700 dark:border-amber-500/30 dark:bg-amber-500/10 dark:text-amber-300"><!> <span> </span></div> <div class="flex justify-end"><!></div> <!>',1),Fr=v('<div class="space-y-4"><!></div>');function Kr(Se,Y){je(Y,!0);let _=S(null),u=S(null),h=S(Ue({})),E=S(Ue({})),N=S("{}"),C=S(""),se=S(!0),K=S(!1),z=Z(()=>xt(e(h))!==e(N)),P=Z(()=>!e(u)||!ir(e(u).fields,e(h)));async function T(){n(se,!0);try{const[O,f,x]=await Promise.all([Ht(),rr("scheduler").catch(()=>null),ar("scheduler")]);n(_,O,!0),n(u,f,!0),n(h,x.data,!0),n(N,xt(x.data),!0),n(C,x.etag,!0)}catch{xe.error(d.t("ADMIN_NEXT.TOOLS.SCHEDULER.FAILED_TO_LOAD_SCHEDULER_CONFIGURATION"))}finally{n(se,!1)}}function B(O,f){const x=O.split("."),M={...e(h)};let y=M;for(let L=0;L<x.length-1;L++)(!y[x[L]]||typeof y[x[L]]!="object")&&(y[x[L]]={}),y[x[L]]={...y[x[L]]},y=y[x[L]];y[x[x.length-1]]=f,n(h,M,!0);const j=e(u)?vr(e(u).fields,O,M):null;if(j)n(E,{...e(E),[O]:j},!0);else if(e(E)[O]){const{[O]:L,...Q}=e(E);n(E,Q,!0)}}async function H(){if(n(E,e(u)?sr(e(u).fields,e(h)):{},!0),Object.keys(e(E)).length>0){nr();return}n(K,!0);try{const O=await or("scheduler",e(h),e(C));n(h,O.data,!0),n(N,xt(O.data),!0),n(C,O.etag,!0),xe.success(d.t("ADMIN_NEXT.TOOLS.SCHEDULER.SCHEDULER_CONFIGURATION_SAVED"))}catch{xe.error(d.t("ADMIN_NEXT.TOOLS.SCHEDULER.FAILED_TO_SAVE"))}finally{n(K,!1)}}ot(T);var o=Fr(),I=r(o);{var J=O=>{var f=wr(),x=r(f,!0);t(f),g(M=>s(x,M),[()=>d.t("ADMIN_NEXT.TOOLS.SCHEDULER.LOADING_SCHEDULER")]),l(O,f)},fe=O=>{var f=Gr(),x=pe(f);{var M=q=>{var de=Pr(),he=r(de);Nt(he,{size:16});var k=a(he),w=a(k),le=r(w,!0);t(w),t(de),g(V=>{s(k,` ${V??""} `),s(le,e(_).whoami)},[()=>d.t("ADMIN_NEXT.TOOLS.SCHEDULER.NOT_ENABLED_FOR_USER")]),l(q,de)};$(x,q=>{e(_).crontab_status!=="installed"&&q(M)})}var y=a(x,2),j=r(y);ur(j,{size:16,class:"mt-0.5 shrink-0"});var L=a(j,2),Q=r(L,!0);t(L),t(y);var me=a(y,2);{var m=q=>{var de=$r(),he=r(de),k=r(he),w=r(k,!0);t(k);var le=a(k,2);dr(le,{get text(){return e(_).cron_command}}),t(he);var V=a(he,2);Tt(V,()=>d.tHtml("ADMIN_NEXT.TOOLS.SCHEDULER.CRONTAB_INSTRUCTIONS",{user:e(_).whoami}),!0),t(V);var Ie=a(V,2);{var ve=G=>{var ce=Ur();Tt(ce,()=>d.tHtml("ADMIN_NEXT.TOOLS.SCHEDULER.WEBHOOK_ALTERNATIVE"),!0),t(ce),l(G,ce)};$(Ie,G=>{e(_).webhook_installed||G(ve)})}t(de),g(()=>s(w,e(_).cron_command)),l(q,de)};$(me,q=>{e(_).cron_command&&q(m)})}var A=a(me,2),ee=r(A);cr(ee,{size:16,class:"mt-0.5 shrink-0"});var U=a(ee,2),ne=r(U,!0);t(U),t(A);var ie=a(A,2),te=r(ie);{let q=Z(()=>e(K)||!e(z)||!e(P)),de=Z(()=>e(z)?"":"opacity-50");We(te,{size:"sm",onclick:H,get disabled(){return e(q)},get class(){return e(de)},children:(he,k)=>{var w=Je(),le=pe(w);{var V=ve=>{var G=Br(),ce=pe(G);at(ce,{size:14,class:"animate-spin"});var Te=a(ce);g(Le=>s(Te,` ${Le??""}`),[()=>d.t("ADMIN_NEXT.SAVING")]),l(ve,G)},Ie=ve=>{var G=Xr(),ce=pe(G);_r(ce,{size:14}),Ot(),l(ve,G)};$(le,ve=>{e(K)?ve(V):ve(Ie,-1)})}l(he,w)},$$slots:{default:!0}})}t(ie);var X=a(ie,2);{var Ne=q=>{lr(q,{get fields(){return e(u).fields},get data(){return e(h)},onchange:B,get errors(){return e(E)}})};$(X,q=>{e(u)&&q(Ne)})}g((q,de)=>{s(Q,q),s(ne,de)},[()=>d.t("ADMIN_NEXT.TOOLS.SCHEDULER.INFO_BANNER"),()=>d.t("ADMIN_NEXT.TOOLS.SCHEDULER.SECURITY_WARNING")]),l(O,f)};$(I,O=>{e(se)?O(J):e(_)&&O(fe,1)})}t(o),l(Se,o),Ve()}var zr=v('<button class="absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground"><!></button>'),Hr=v("<option> </option>"),jr=v('<select class="h-9 rounded-md border border-input bg-background px-3 text-sm text-foreground"></select>'),Vr=v("<!> ",1),Wr=v('<span class="absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"></span>'),Yr=v('<div class="p-8 text-center text-sm text-muted-foreground"> </div>'),Jr=v('<div class="p-8 text-center text-sm text-muted-foreground"> </div>'),qr=v('<tr class="border-b border-border last:border-0 cursor-pointer hover:bg-muted/30"><td class="whitespace-nowrap px-4 py-2.5 align-top font-mono text-xs text-muted-foreground"> </td><td class="px-4 py-2.5 align-top"><span> </span></td><td> </td></tr>'),Zr=v('<div class="overflow-x-auto"><table class="w-full text-sm"><thead><tr class="border-b border-border text-start text-xs font-medium text-muted-foreground"><th class="whitespace-nowrap px-4 py-3">Date</th><th class="px-4 py-3">Level</th><th class="px-4 py-3"> </th></tr></thead><tbody></tbody></table></div>'),Qr=v('<span class="px-1.5 text-xs text-muted-foreground">...</span>'),ea=v("<button> </button>"),ta=v('<div class="flex items-center justify-between text-sm"><span class="text-xs text-muted-foreground"> </span> <div class="flex items-center gap-1"><!> <!> <!></div></div>'),ra=v('<div class="space-y-4"><div class="flex flex-wrap items-center gap-3"><div class="relative"><!> <input type="text" class="h-9 rounded-md border border-input bg-background ps-8 pe-8 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" style="width: 220px;"/> <!></div> <!> <select class="h-9 rounded-md border border-input bg-background px-3 text-sm text-foreground"><option> </option><option> </option><option>Alert</option><option> </option><option>Error</option><option> </option><option> </option><option>Info</option><option>Debug</option></select> <select class="h-9 rounded-md border border-input bg-background px-3 text-sm text-foreground"><option> </option><option> </option><option> </option><option> </option></select> <!> <button><span class="relative flex h-2 w-2"><!> <span></span></span> Live</button> <span class="ms-auto text-xs text-muted-foreground"> </span></div> <div class="rounded-lg border border-border bg-card"><!></div> <!></div>');function aa(Se,Y){je(Y,!0);let _=S(Ue([])),u=S(!0),h=S(0),E=S(Ue(new Set)),N=S(Ue([])),C=S("grav.log");const se=typeof localStorage<"u"?JSON.parse(localStorage.getItem("grav_logs_prefs")||"{}"):{};let K=S(Ue(se.level??"")),z=S(Ue(Number(se.perPage)||50));const P=se.file??"";let T=S(1),B=S(""),H=S(""),o=null,I=S(!1);const J=pr(()=>j(),5e3,{runImmediately:!1});function fe(){localStorage.setItem("grav_logs_prefs",JSON.stringify({level:e(K),perPage:Number(e(z)),file:e(C)}))}function O(){n(I,!e(I)),e(I)?J.start():J.stop()}$t(()=>J.stop());const f=Z(()=>Math.max(1,Math.ceil(e(h)/e(z)))),x=Z(()=>(()=>{const i=[];if(e(f)<=7)for(let b=1;b<=e(f);b++)i.push(b);else{i.push(1);let b=Math.max(2,e(T)-2),W=Math.min(e(f)-1,e(T)+2);e(T)<=3&&(W=Math.min(5,e(f)-1)),e(T)>=e(f)-2&&(b=Math.max(2,e(f)-4)),b>2&&i.push(-1);for(let F=b;F<=W;F++)i.push(F);W<e(f)-1&&i.push(-1),i.push(e(f))}return i})()),M={EMERGENCY:"bg-red-600/10 text-red-700 dark:bg-red-500/15 dark:text-red-300",ALERT:"bg-red-600/10 text-red-700 dark:bg-red-500/15 dark:text-red-300",CRITICAL:"bg-red-600/10 text-red-700 dark:bg-red-500/15 dark:text-red-300",ERROR:"bg-red-600/10 text-red-700 dark:bg-red-500/15 dark:text-red-300",WARNING:"bg-amber-600/10 text-amber-700 dark:bg-amber-500/15 dark:text-amber-300",NOTICE:"bg-blue-600/10 text-blue-700 dark:bg-blue-500/15 dark:text-blue-300",INFO:"bg-primary-600/10 text-primary-700 dark:bg-primary-500/15 dark:text-primary-300",DEBUG:"bg-muted text-muted-foreground"};async function y(){try{const i=await Vt();n(N,i.files||[],!0);const p=P&&e(N).some(b=>b.file===P);n(C,p?P:i.default||e(N)[0]?.file||"grav.log",!0)}catch{xe.error(d.t("ADMIN_NEXT.TOOLS.LOGS.FAILED_TO_LOAD_LOG_FILES")),n(N,[{file:"grav.log",label:"Grav System Log"}],!0),n(C,"grav.log")}}async function j(){n(u,!0);try{const i=await jt({page:e(T),per_page:e(z),level:e(K)||void 0,search:e(B)||void 0,file:e(C)});n(_,i.data||[],!0),n(h,i.meta?.pagination?.total??0,!0)}catch{xe.error(d.t("ADMIN_NEXT.TOOLS.LOGS.FAILED_TO_LOAD_LOGS"))}finally{n(u,!1)}}function L(){n(T,1),fe(),j()}function Q(i){n(H,i.target.value,!0),o&&clearTimeout(o),o=setTimeout(()=>{n(B,e(H),!0),L()},400)}function me(){n(H,""),n(B,""),L()}function m(i){n(T,i,!0),n(E,new Set,!0),j()}function A(i){const p=new Set(e(E));p.has(i)?p.delete(i):p.add(i),n(E,p,!0)}function ee(i){return new Date(i).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}ot(async()=>{await y(),await j()});var U=ra(),ne=r(U),ie=r(ne),te=r(ie);fr(te,{size:14,class:"absolute left-2.5 top-1/2 -translate-y-1/2 text-muted-foreground"});var X=a(te,2);St(X);var Ne=a(X,2);{var q=i=>{var p=zr(),b=r(p);gr(b,{size:14}),t(p),ye("click",p,me),l(i,p)};$(Ne,i=>{e(H)&&i(q)})}t(ie);var de=a(ie,2);{var he=i=>{var p=jr();Ye(p,21,()=>e(N),b=>b.file,(b,W)=>{var F=Hr(),Ae=r(F,!0);t(F);var Oe={};g(()=>{s(Ae,e(W).label),Oe!==(Oe=e(W).file)&&(F.value=(F.__value=e(W).file)??"")}),l(b,F)}),t(p),g(b=>rt(p,"aria-label",b),[()=>d.t("ADMIN_NEXT.TOOLS.LOGS.LOG_FILE")]),ye("change",p,L),gt(p,()=>e(C),b=>n(C,b)),l(i,p)};$(de,i=>{e(N).length>1&&i(he)})}var k=a(de,2),w=r(k),le=r(w,!0);t(w),w.value=w.__value="";var V=a(w),Ie=r(V,!0);t(V),V.value=V.__value="EMERGENCY";var ve=a(V);ve.value=ve.__value="ALERT";var G=a(ve),ce=r(G,!0);t(G),G.value=G.__value="CRITICAL";var Te=a(G);Te.value=Te.__value="ERROR";var Le=a(Te),Xe=r(Le,!0);t(Le),Le.value=Le.__value="WARNING";var Re=a(Le),st=r(Re,!0);t(Re),Re.value=Re.__value="NOTICE";var qe=a(Re);qe.value=qe.__value="INFO";var Ze=a(qe);Ze.value=Ze.__value="DEBUG",t(k);var Ge=a(k,2),Fe=r(Ge),nt=r(Fe,!0);t(Fe),Fe.value=Fe.__value=25;var Ke=a(Fe),it=r(Ke,!0);t(Ke),Ke.value=Ke.__value=50;var c=a(Ke),R=r(c,!0);t(c),c.value=c.__value=100;var D=a(c),re=r(D,!0);t(D),D.value=D.__value=200,t(Ge);var _e=a(Ge,2);We(_e,{size:"sm",variant:"outline",onclick:j,children:(i,p)=>{var b=Vr(),W=pe(b);mr(W,{size:14});var F=a(W);g(Ae=>s(F,` ${Ae??""}`),[()=>d.t("ADMIN_NEXT.TOOLS.LOGS.REFRESH")]),l(i,b)},$$slots:{default:!0}});var ae=a(_e,2),oe=r(ae),ge=r(oe);{var De=i=>{var p=Wr();l(i,p)};$(ge,i=>{e(I)&&i(De)})}var Ce=a(ge,2);t(oe),Ot(),t(ae);var Ee=a(ae,2),dt=r(Ee);t(Ee),t(ne);var ze=a(ne,2),Qe=r(ze);{var lt=i=>{var p=Yr(),b=r(p,!0);t(p),g(W=>s(b,W),[()=>d.t("ADMIN_NEXT.TOOLS.LOGS.LOADING_LOGS")]),l(i,p)},et=i=>{var p=Jr(),b=r(p,!0);t(p),g(()=>s(b,e(B)?`No log entries matching "${e(B)}".`:"No log entries found.")),l(i,p)},vt=i=>{var p=Zr(),b=r(p),W=r(b),F=r(W),Ae=a(r(F),2),Oe=r(Ae,!0);t(Ae),t(F),t(W);var $e=a(W);Ye($e,21,()=>e(_),bt,(be,ue,Me)=>{var Be=qr(),He=r(Be),ct=r(He,!0);t(He);var we=a(He),ke=r(we),_t=r(ke,!0);t(ke),t(we);var pt=a(we),Lt=r(pt,!0);t(pt),t(Be),g((At,It)=>{s(ct,At),Pe(ke,1,`inline-flex items-center rounded-md px-2 py-0.5 text-[0.6875rem] font-medium ${M[e(ue).level]??"bg-muted text-muted-foreground"??""}`),s(_t,e(ue).level),Pe(pt,1,`px-4 py-2.5 text-foreground ${It??""}`),s(Lt,e(ue).message)},[()=>ee(e(ue).date),()=>e(E).has(Me)?"whitespace-pre-wrap break-all":"max-w-[600px] truncate"]),ye("click",Be,()=>A(Me)),l(be,Be)}),t($e),t(b),t(p),g(be=>s(Oe,be),[()=>d.t("ADMIN_NEXT.TOOLS.LOGS.MESSAGE")]),l(i,p)};$(Qe,i=>{e(u)?i(lt):e(_).length===0?i(et,1):i(vt,-1)})}t(ze);var tt=a(ze,2);{var ut=i=>{var p=ta(),b=r(p),W=r(b);t(b);var F=a(b,2),Ae=r(F);{let be=Z(()=>e(T)<=1);We(Ae,{size:"sm",variant:"outline",get disabled(){return e(be)},onclick:()=>m(e(T)-1),children:(ue,Me)=>{Et(ue,{name:"chevron-back",size:14})},$$slots:{default:!0}})}var Oe=a(Ae,2);Ye(Oe,17,()=>e(x),bt,(be,ue)=>{var Me=Je(),Be=pe(Me);{var He=we=>{var ke=Qr();l(we,ke)},ct=we=>{var ke=ea(),_t=r(ke,!0);t(ke),g(()=>{Pe(ke,1,`inline-flex h-8 min-w-[2rem] items-center justify-center rounded-md text-xs font-medium transition-colors
|
||
${e(ue)===e(T)?"bg-primary text-primary-foreground":"text-muted-foreground hover:bg-muted hover:text-foreground"}`),s(_t,e(ue))}),ye("click",ke,()=>m(e(ue))),l(we,ke)};$(Be,we=>{e(ue)===-1?we(He):we(ct,-1)})}l(be,Me)});var $e=a(Oe,2);{let be=Z(()=>e(T)>=e(f));We($e,{size:"sm",variant:"outline",get disabled(){return e(be)},onclick:()=>m(e(T)+1),children:(ue,Me)=>{Et(ue,{name:"chevron-forward",size:14})},$$slots:{default:!0}})}t(F),t(p),g((be,ue)=>s(W,`Showing ${(e(T)-1)*e(z)+1}–${be??""} of ${ue??""}`),[()=>Math.min(e(T)*e(z),e(h)),()=>e(h).toLocaleString()]),l(i,p)};$(tt,i=>{e(f)>1&&i(ut)})}t(U),g((i,p,b,W,F,Ae,Oe,$e,be,ue,Me)=>{rt(X,"placeholder",i),Xt(X,e(H)),s(le,p),s(Ie,b),s(ce,W),s(Xe,F),s(st,Ae),s(nt,Oe),s(it,$e),s(R,be),s(re,ue),Pe(ae,1,`inline-flex items-center gap-1.5 rounded-md border px-2.5 py-1.5 text-xs font-medium transition-colors
|
||
${e(I)?"border-emerald-500/50 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400":"border-border text-muted-foreground hover:bg-accent hover:text-accent-foreground"}`),Pe(Ce,1,`relative inline-flex h-2 w-2 rounded-full ${e(I)?"bg-emerald-500":"bg-muted-foreground/40"}`),s(dt,`${Me??""} entries${e(B)?` matching "${e(B)}"`:""}`)},[()=>d.t("ADMIN_NEXT.TOOLS.LOGS.SEARCH_MESSAGES"),()=>d.t("ADMIN_NEXT.TOOLS.LOGS.ALL_LEVELS"),()=>d.t("ADMIN_NEXT.TOOLS.LOGS.EMERGENCY"),()=>d.t("ADMIN_NEXT.TOOLS.LOGS.CRITICAL"),()=>d.t("ADMIN_NEXT.TOOLS.LOGS.WARNING"),()=>d.t("ADMIN_NEXT.TOOLS.LOGS.NOTICE"),()=>d.t("ADMIN_NEXT.TOOLS.LOGS.25_LINES"),()=>d.t("ADMIN_NEXT.TOOLS.LOGS.50_LINES"),()=>d.t("ADMIN_NEXT.TOOLS.LOGS.100_LINES"),()=>d.t("ADMIN_NEXT.TOOLS.LOGS.200_LINES"),()=>e(h).toLocaleString()]),ye("input",X,Q),ye("keydown",X,i=>{i.key==="Escape"&&me()}),ye("change",k,L),gt(k,()=>e(K),i=>n(K,i)),ye("change",Ge,L),gt(Ge,()=>e(z),i=>n(z,i)),ye("click",ae,O),l(Se,U),Ve()}ht(["input","keydown","click","change"]);var oa=v('<div class="rounded-lg border border-destructive/30 bg-destructive/5 p-3 text-sm text-destructive"> </div>'),sa=v('<div class="flex h-16 items-center justify-center rounded-lg border border-dashed border-border"><span class="text-xs text-muted-foreground"> </span></div>'),na=v("<!> <div></div>",1);function ia(Se,Y){je(Y,!0);let _=S(null),u=S(!1),h=S("");const E=`grav-${Y.report.provider}--${Y.report.component}`,N=window.__GRAV_REPORT_LOADING??={};function C(){return`/gpm/plugins/${Y.report.provider}/report-script/${Y.report.component}`}async function se(){if(customElements.get(E)){n(u,!0),K();return}if(N[E]){try{await N[E],n(u,!0),K()}catch{n(h,`Failed to load report component "${Y.report.component}"`)}return}N[E]=(async()=>{const o=await Mt.fetchScript(C());window.__GRAV_API_SERVER_URL=mt.serverUrl,window.__GRAV_API_PREFIX=mt.apiPrefix||"/api/v1",window.__GRAV_API_TOKEN=mt.accessToken;const I=new Blob([`window.__GRAV_REPORT_TAG = ${JSON.stringify(E)};
|
||
${o}`],{type:"application/javascript"}),J=URL.createObjectURL(I);await import(J),URL.revokeObjectURL(J),await customElements.whenDefined(E)})();try{await N[E],n(u,!0),K()}catch(o){delete N[E],console.error(`[ReportComponent] Failed to load ${Y.report.provider}/${Y.report.component}:`,o),n(h,`Failed to load report component "${Y.report.component}"`)}}function K(){if(!e(_))return;e(_).innerHTML="";const o=document.createElement(E);o.report=Y.report,e(_).appendChild(o)}ot(()=>{se()});var z=na(),P=pe(z);{var T=o=>{var I=oa(),J=r(I,!0);t(I),g(()=>s(J,e(h))),l(o,I)},B=o=>{var I=sa(),J=r(I),fe=r(J,!0);t(J),t(I),g(O=>s(fe,O),[()=>d.t("ADMIN_NEXT.TOOLS.REPORT_COMPONENT_WRAPPER.LOADING_REPORT_COMPONENT")]),l(o,I)};$(P,o=>{e(h)?o(T):e(u)||o(B,1)})}var H=a(P,2);br(H,o=>n(_,o),()=>e(_)),l(Se,z),Ve()}var da=v('<div class="flex items-center justify-center gap-2 p-8 text-sm text-muted-foreground"><!> </div>'),la=v('<div class="p-8 text-center text-sm text-muted-foreground"> </div>'),va=v('<div class="rounded-lg border border-border bg-card overflow-hidden"><h2 class="px-4 py-3 text-base font-semibold text-foreground"> </h2> <!></div>'),ua=v('<span class="shrink-0 text-muted-foreground"> </span>'),ca=v('<div class="flex items-center gap-2 min-w-0"><!> <span class="font-medium text-primary truncate"> </span></div> <!>',1),_a=v('<span class="shrink-0 text-destructive"> </span>'),pa=v('<span class="font-medium text-foreground truncate"> </span> <!>',1),fa=v('<span class="text-foreground"> </span>'),ma=v('<div class="flex items-center justify-between gap-4 px-4 py-2.5 text-sm"><!></div>'),ga=v('<div class="divide-y divide-border"></div>'),xa=v('<div class="rounded-lg border border-border bg-card overflow-hidden"><h2 class="px-4 py-3 text-base font-semibold text-foreground"> </h2> <div><!> <span class="text-sm font-medium"> </span></div> <!></div>'),ba=v('<div class="space-y-6"><!></div>');function ha(Se,Y){je(Y,!0);let _=S(Ue([])),u=S(!0);async function h(){n(u,!0);try{n(_,await Wt(),!0)}catch{xe.error(d.t("ADMIN_NEXT.TOOLS.REPORTS.FAILED_TO_LOAD_REPORTS"))}finally{n(u,!1)}}const E={success:{bg:"bg-emerald-500/10",text:"text-emerald-700 dark:text-emerald-400",icon:Tr},warning:{bg:"bg-red-500/10",text:"text-red-700 dark:text-red-400",icon:Nt},error:{bg:"bg-red-500/10",text:"text-red-700 dark:text-red-400",icon:hr}};ot(h);var N=ba(),C=r(N);{var se=P=>{var T=da(),B=r(T);at(B,{size:16,class:"animate-spin"});var H=a(B);t(T),g(o=>s(H,` ${o??""}`),[()=>d.t("ADMIN_NEXT.TOOLS.REPORTS.LOADING_REPORTS")]),l(P,T)},K=P=>{var T=la(),B=r(T,!0);t(T),g(H=>s(B,H),[()=>d.t("ADMIN_NEXT.TOOLS.REPORTS.NO_REPORTS_AVAILABLE")]),l(P,T)},z=P=>{var T=Je(),B=pe(T);Ye(B,17,()=>e(_),H=>H.id,(H,o)=>{var I=Je(),J=pe(I);{var fe=f=>{var x=va(),M=r(x),y=r(M,!0);t(M);var j=a(M,2);ia(j,{get report(){return e(o)}}),t(x),g(()=>s(y,e(o).title)),l(f,x)},O=f=>{const x=Z(()=>E[e(o).status]||E.success);var M=xa(),y=r(M),j=r(y,!0);t(y);var L=a(y,2),Q=r(L);xr(Q,()=>e(x).icon,(U,ne)=>{ne(U,{size:16})});var me=a(Q,2),m=r(me,!0);t(me),t(L);var A=a(L,2);{var ee=U=>{var ne=ga();Ye(ne,21,()=>e(o).items,bt,(ie,te)=>{var X=ma(),Ne=r(X);{var q=k=>{var w=ca(),le=pe(w),V=r(le);Er(V,{size:14,class:"shrink-0 text-muted-foreground"});var Ie=a(V,2),ve=r(Ie,!0);t(Ie),t(le);var G=a(le,2);{var ce=Te=>{var Le=ua(),Xe=r(Le,!0);t(Le),g(Re=>s(Xe,Re),[()=>d.t("ADMIN_NEXT.TOOLS.REPORTS.CONTENT_FIELD",{field:String(e(te).field)})]),l(Te,Le)};$(G,Te=>{e(te).field&&Te(ce)})}g(()=>s(ve,e(te).route)),l(k,w)},de=k=>{var w=pa(),le=pe(w),V=r(le,!0);t(le);var Ie=a(le,2);{var ve=G=>{var ce=_a(),Te=r(ce,!0);t(ce),g(()=>s(Te,e(te).error)),l(G,ce)};$(Ie,G=>{e(te).error&&G(ve)})}g(()=>s(V,e(te).file)),l(k,w)},he=k=>{var w=fa(),le=r(w,!0);t(w),g(V=>s(le,V),[()=>JSON.stringify(e(te))]),l(k,w)};$(Ne,k=>{"route"in e(te)?k(q):"file"in e(te)?k(de,1):k(he,-1)})}t(X),l(ie,X)}),t(ne),l(U,ne)};$(A,U=>{e(o).items.length>0&&U(ee)})}t(M),g(()=>{s(j,e(o).title),Pe(L,1,`flex items-center gap-2 px-4 py-2.5 ${e(x).bg??""} ${e(x).text??""}`),s(m,e(o).message)}),l(f,M)};$(J,f=>{e(o).component?f(fe):f(O,-1)})}l(H,I)}),l(P,T)};$(C,P=>{e(u)?P(se):e(_).length===0?P(K,1):P(z,-1)})}t(N),l(Se,N),Ve()}var Ta=v('<!> <p class="text-sm text-muted-foreground"> </p>',1),Ea=v('<!> <p class="text-sm font-medium text-foreground"> </p> <p class="mt-1 text-xs text-muted-foreground"> </p>',1),Oa=v('<div class="space-y-6"><div class="rounded-lg border border-border bg-card p-4"><div class="mb-3 flex items-center gap-2"><!> <h3 class="text-sm font-semibold text-foreground"> </h3></div> <label><!> <input type="file" accept=".zip" class="hidden"/></label></div> <div class="rounded-lg border border-border bg-card p-4"><div class="mb-3 flex items-center gap-2"><!> <h3 class="text-sm font-semibold text-foreground"> </h3></div> <div class="flex gap-2"><input type="url" class="flex h-9 flex-1 rounded-md border border-input bg-background px-3 text-sm text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" placeholder="https://example.com/plugin-package.zip"/> <!></div></div></div>');function Sa(Se,Y){je(Y,!0);let _=S(""),u=S(!1),h=S(!1);async function E(){if(e(_).trim()){n(u,!0);try{await Jt(e(_).trim()),xe.success(d.t("ADMIN_NEXT.TOOLS.DIRECT_INSTALL.PACKAGE_INSTALLED_SUCCESSFULLY")),n(_,"")}catch(m){xe.error(m instanceof Error?m.message:"Installation failed")}finally{n(u,!1)}}}async function N(m){if(!m.name.endsWith(".zip")){xe.error(d.t("ADMIN_NEXT.TOOLS.DIRECT_INSTALL.ONLY_ZIP_FILES_ARE_SUPPORTED"));return}n(u,!0);try{await qt(m),xe.success(d.t("ADMIN_NEXT.TOOLS.DIRECT_INSTALL.PACKAGE_INSTALLED_SUCCESSFULLY"))}catch(A){xe.error(A instanceof Error?A.message:"Installation failed")}finally{n(u,!1)}}function C(m){m.preventDefault(),n(h,!1);const A=m.dataTransfer?.files[0];A&&N(A)}function se(m){const A=m.target,ee=A.files?.[0];ee&&N(ee),A.value=""}var K=Oa(),z=r(K),P=r(z),T=r(P);Sr(T,{size:15,class:"text-muted-foreground"});var B=a(T,2),H=r(B,!0);t(B),t(P);var o=a(P,2),I=r(o);{var J=m=>{var A=Ta(),ee=pe(A);at(ee,{size:32,class:"mb-2 animate-spin text-muted-foreground"});var U=a(ee,2),ne=r(U,!0);t(U),g(ie=>s(ne,ie),[()=>d.t("ADMIN_NEXT.INSTALLING")]),l(m,A)},fe=m=>{var A=Ea(),ee=pe(A);Nr(ee,{size:32,class:"mb-2 text-muted-foreground/50"});var U=a(ee,2),ne=r(U,!0);t(U);var ie=a(U,2),te=r(ie,!0);t(ie),g((X,Ne)=>{s(ne,X),s(te,Ne)},[()=>d.t("ADMIN_NEXT.TOOLS.DIRECT_INSTALL.DROP_A_ZIP_FILE_HERE_OR_CLICK_TO_BROWSE"),()=>d.t("ADMIN_NEXT.TOOLS.DIRECT_INSTALL.SUPPORTS_GRAV_PLUGIN_AND_THEME_PACKAGES")]),l(m,A)};$(I,m=>{e(u)?m(J):m(fe,-1)})}var O=a(I,2);t(o),t(z);var f=a(z,2),x=r(f),M=r(x);Yt(M,{size:15,class:"text-muted-foreground"});var y=a(M,2),j=r(y,!0);t(y),t(x);var L=a(x,2),Q=r(L);St(Q);var me=a(Q,2);{let m=Z(()=>e(u)||!e(_).trim());We(me,{size:"sm",onclick:E,get disabled(){return e(m)},children:(A,ee)=>{var U=Je(),ne=pe(U);{var ie=X=>{at(X,{size:14,class:"animate-spin"})},te=X=>{var Ne=Dt("Install");l(X,Ne)};$(ne,X=>{e(u)?X(ie):X(te,-1)})}l(A,U)},$$slots:{default:!0}})}t(L),t(f),t(K),g((m,A)=>{s(H,m),Pe(o,1,`flex cursor-pointer flex-col items-center justify-center rounded-lg border-2 border-dashed py-10 transition-colors
|
||
${e(h)?"border-primary bg-primary/5":"border-border hover:border-muted-foreground/30"}`),O.disabled=e(u),s(j,A),Q.disabled=e(u)},[()=>d.t("ADMIN_NEXT.TOOLS.DIRECT_INSTALL.INSTALL_FROM_FILE"),()=>d.t("ADMIN_NEXT.TOOLS.DIRECT_INSTALL.INSTALL_FROM_URL")]),ft("dragover",o,m=>{m.preventDefault(),n(h,!0)}),ft("dragleave",o,()=>{n(h,!1)}),ft("drop",o,C),ye("change",O,se),ye("keydown",Q,m=>{m.key==="Enter"&&E()}),Or(Q,()=>e(_),m=>n(_,m)),l(Se,K),Ve()}ht(["change","keydown"]);var Na=v('<p class="mt-0.5 text-xs text-muted-foreground"> </p>'),La=v("<div><div><div><h1>Tools</h1> <!></div></div> <!></div>"),Aa=v('<div><!> <div class="px-6 pb-6 pt-4"><!></div></div>');function po(Se,Y){je(Y,!0);const _=[{id:"backups",label:"Backups"},{id:"scheduler",label:"Scheduler"},{id:"logs",label:"Logs"},{id:"reports",label:"Reports"},{id:"direct-install",label:"Direct Install"}],u=new Set(_.map(o=>o.id));let h=Z(()=>(()=>{const o=kt.url.hash.replace("#","").split("--")[0];return u.has(o)?o:"backups"})());function E(o){wt(`#${o}`,{replaceState:!0,noScroll:!0})}var N=Aa();Ct("171l7w4",o=>{yt(I=>{Rt.title=I??""},[()=>d.t("ADMIN_NEXT.TOOLS.TOOLS_GRAV_ADMIN")])});var C=r(N);Ut(C,{children:(I,J)=>{let fe=()=>J?.().scrolled;var O=La(),f=r(O),x=r(f),M=r(x),y=a(M,2);{var j=Q=>{var me=Na(),m=r(me,!0);t(me),g(A=>s(m,A),[()=>d.t("ADMIN_NEXT.TOOLS.BACKUPS_SCHEDULER_LOGS_AND_DIAGNOSTICS")]),l(Q,me)};$(y,Q=>{fe()||Q(j)})}t(x),t(f);var L=a(f,2);Pt(L,{get items(){return _},get active(){return e(h)},onchange:E}),t(O),g(()=>{Pe(O,1,`space-y-3 px-6 transition-[padding] duration-200 ${fe()?"py-2":"pt-6 pb-3"}`),Pe(f,1,`flex items-center justify-between ${fe()?"min-h-6":"min-h-8"}`),Pe(M,1,`font-semibold tracking-tight text-foreground transition-[font-size] duration-200 ${fe()?"text-sm":"text-xl"}`)}),l(I,O)},$$slots:{default:!0}});var se=a(C,2),K=r(se);{var z=o=>{kr(o,{})},P=o=>{Kr(o,{})},T=o=>{aa(o,{})},B=o=>{ha(o,{})},H=o=>{Sa(o,{})};$(K,o=>{e(h)==="backups"?o(z):e(h)==="scheduler"?o(P,1):e(h)==="logs"?o(T,2):e(h)==="reports"?o(B,3):e(h)==="direct-install"&&o(H,4)})}t(se),t(N),l(Se,N),Ve()}export{po as component};
|