5 lines
9.6 KiB
JavaScript
5 lines
9.6 KiB
JavaScript
import"../chunks/DsnmJJEf.js";import{p as or,i as p,m as pe,u as ir,g as e,j as _,t as g,a as c,b as nr,k as lr,c as x,d as r,$ as dr,r as t,s as a,f as j,e as ur,h as M}from"../chunks/krC2xWPP.js";import{d as vr,a as Ie,s as d,e as mr}from"../chunks/CddAxf8c.js";import{i as S}from"../chunks/DjsWWzyL.js";import{h as _r,s as fe}from"../chunks/j_DJpx8B.js";import{s as pr,r as y,B as fr,t as h}from"../chunks/Lvd_r9sp.js";import{b as U}from"../chunks/ciapVzar.js";import{c as R,i as o}from"../chunks/Cu5ilWky.js";import{g as ce}from"../chunks/BVTiZ3e2.js";import{b as be}from"../chunks/BSopV7IU.js";import{g as cr,s as br}from"../chunks/CNrnzl73.js";import{B as Er,t as Me}from"../chunks/BzsopytP.js";import{p as Ee,P as gr,e as xr}from"../chunks/DI46g3k0.js";import{S as Tr,M as Nr}from"../chunks/BrVNO555.js";import{L as ye}from"../chunks/C_E2vM9U.js";import{S as Ar}from"../chunks/hE_Oj9Ry.js";import{C as Sr}from"../chunks/ZWbUro-G.js";import{U as hr}from"../chunks/Caj_ccK9.js";import{G as Rr}from"../chunks/6XVG9yYt.js";var Ir=x('<div class="flex items-center justify-center px-6 py-10 text-muted-foreground"><!> <span class="ms-2 text-[0.8125rem]"> </span></div>'),Mr=x('<div class="mt-3 space-y-3 pb-1"><div class="space-y-1.5"><label for="server-url" class="text-[0.8125rem] font-medium text-foreground"> </label> <div class="flex rounded-md shadow-sm"><span class="inline-flex items-center rounded-l-md border border-r-0 border-input bg-muted px-3 text-muted-foreground"><!></span> <input id="server-url" type="url" class="flex h-9 w-full rounded-r-md border border-input bg-transparent px-3 py-1 text-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"/></div></div> <div class="space-y-1.5"><label for="environment" class="text-[0.8125rem] font-medium text-foreground"> </label> <input id="environment" type="text" class="flex h-9 w-full rounded-md border bg-transparent px-3 py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring"/></div></div>'),yr=x('<p class="text-xs text-red-500"> </p>'),Ur=x('<p class="text-xs text-red-500"> </p>'),Dr=x('<p class="text-xs text-red-500"> </p>'),Pr=x("<!> ",1),wr=x("<!> ",1),Cr=x('<div class="border-b border-border px-6 py-3"><button type="button" class="flex w-full items-center gap-2 text-[0.8125rem] font-medium text-muted-foreground transition-colors hover:text-foreground"><!> <!></button> <!></div> <form class="space-y-4 px-6 py-5"><div class="space-y-1.5"><label for="username" class="text-[0.8125rem] font-medium text-foreground"> </label> <input id="username" type="text" autocomplete="username"/> <!></div> <div class="space-y-1.5"><label for="fullname" class="text-[0.8125rem] font-medium text-foreground"> <span class="text-muted-foreground"> </span></label> <input id="fullname" type="text" class="flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" autocomplete="name"/></div> <div class="space-y-1.5"><label for="email" class="text-[0.8125rem] font-medium text-foreground">Email</label> <input id="email" type="email" autocomplete="email"/> <!></div> <!> <div class="space-y-1.5"><label for="confirm" class="text-[0.8125rem] font-medium text-foreground"> </label> <input id="confirm" type="password" autocomplete="new-password"/> <!></div> <!></form>',1),Or=x('<div class="flex min-h-screen items-center justify-center bg-background p-4"><button type="button" class="absolute top-4 right-4 inline-flex h-8 w-8 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground"><!></button> <div class="w-full max-w-sm"><div class="mb-8 flex flex-col items-center text-center"><div class="mb-4"><!></div> <h1 class="text-2xl font-semibold tracking-tight text-foreground"> </h1> <p class="mt-1 text-[0.8125rem] text-muted-foreground"> </p></div> <div class="rounded-lg border border-border bg-card shadow-sm"><!></div> <p class="mt-6 text-center text-xs text-muted-foreground"> </p></div></div>');function tt(Ue,De){or(De,!0);let G=p(pe(R.serverUrl||"https://localhost/grav-api")),k=p(pe(R.environment||"localhost")),V=p(pe(!R.serverUrl&&!R.hasGravConfig)),z=p(""),W=p(""),B=p(""),D=p(""),K=p(""),b=p(!1),q=p(!0),P=p(!1);const J=M(()=>e(P)&&!/^(?!\.)(?!.*\.\.)[^\\/?*:;{}\n]{3,64}$/u.test(e(z))),Q=M(()=>e(P)&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e(B))),Pe=M(()=>xr(e(D),Ee.current)),ge=M(()=>e(P)&&!e(Pe).allRulesMet),Z=M(()=>e(P)&&e(D)!==e(K));ir(()=>{R.serverUrl||R.setServer(e(G),e(k)),cr().then(i=>{if(!i.setup_required){ce(`${be}/login`);return}Ee.seed(i.password_policy),_(q,!1)}).catch(()=>{_(q,!1)})});async function we(i){if(i.preventDefault(),_(P,!0),e(J)||e(Q)||e(ge)||e(Z)){h.error(o.t("ADMIN_NEXT.SETUP.PLEASE_FIX_THE_ERRORS_ABOVE_AND_TRY"));return}_(b,!0);try{R.setServer(e(G),e(k)),await br({username:e(z).trim(),password:e(D),email:e(B).trim(),fullname:e(W).trim()||void 0}),h.success(o.t("ADMIN_NEXT.SETUP.ADMINISTRATOR_ACCOUNT_CREATED_WELCOME")),ce(`${be}/`)}catch(u){if(u&&typeof u=="object"&&"status"in u){const l=u;l.status===409?(h.error(o.t("ADMIN_NEXT.SETUP.SETUP_HAS_ALREADY_BEEN_COMPLETED_PLEASE")),ce(`${be}/login`)):l.status===429?h.error(l.message||"Too many attempts. Try again later."):l.status===422||l.status===400?h.error(l.message||"Please check your input and try again."):h.error(l.message||"Could not complete setup")}else h.error(o.t("ADMIN_NEXT.SETUP.UNABLE_TO_CONNECT_TO_SERVER_CHECK_YOUR"))}finally{_(b,!1)}}var ee=Or();_r("g40i6i",i=>{lr(u=>{dr.title=u??""},[()=>o.t("ADMIN_NEXT.SETUP.SETUP_GRAV_ADMIN")])});var w=r(ee),Ce=r(w);{var Oe=i=>{Tr(i,{size:16})},Xe=i=>{Nr(i,{size:16})};S(Ce,i=>{Me.isDark?i(Oe):i(Xe,-1)})}t(w);var xe=a(w,2),re=r(xe),te=r(re),Le=r(te);Er(Le,{size:"login"}),t(te);var se=a(te,2),$e=r(se,!0);t(se);var Te=a(se,2),Ge=r(Te,!0);t(Te),t(re);var ae=a(re,2),ke=r(ae);{var Ve=i=>{var u=Ir(),l=r(u);ye(l,{size:16,class:"animate-spin"});var E=a(l,2),H=r(E,!0);t(E),t(u),g(F=>d(H,F),[()=>o.t("ADMIN_NEXT.SETUP.CHECKING_SERVER")]),c(i,u)},ze=i=>{var u=Cr(),l=j(u),E=r(l),H=r(E);Ar(H,{size:13});var F=a(H),He=a(F);{let s=M(()=>e(V)?"rotate-180":"");Sr(He,{size:13,get class(){return`ms-auto transition-transform ${e(s)??""}`}})}t(E);var Fe=a(E,2);{var Ye=s=>{var n=Mr(),v=r(n),m=r(v),L=r(m,!0);t(m);var Y=a(m,2),f=r(Y),N=r(f);Rr(N,{size:13}),t(f);var T=a(f,2);y(T),t(Y),t(v);var I=a(v,2),A=r(I),sr=r(A,!0);t(A);var Re=a(A,2);y(Re),t(I),t(n),g(($,ar)=>{d(L,$),d(sr,ar)},[()=>o.t("ADMIN_NEXT.SETUP.SERVER_URL"),()=>o.t("ADMIN_NEXT.SETUP.ENVIRONMENT")]),U(T,()=>e(G),$=>_(G,$)),U(Re,()=>e(k),$=>_(k,$)),c(s,n)};S(Fe,s=>{e(V)&&s(Ye)})}t(l);var oe=a(l,2),ie=r(oe),ne=r(ie),je=r(ne,!0);t(ne);var C=a(ne,2);y(C);var We=a(C,2);{var Ke=s=>{var n=yr(),v=r(n,!0);t(n),g(m=>d(v,m),[()=>o.t("ADMIN_NEXT.SETUP.3_64_CHARACTERS_LETTERS_NUMBERS_HYPHENS")]),c(s,n)};S(We,s=>{e(J)&&s(Ke)})}t(ie);var le=a(ie,2),de=r(le),Ae=r(de),Se=a(Ae),qe=r(Se,!0);t(Se),t(de);var ue=a(de,2);y(ue),t(le);var ve=a(le,2),O=a(r(ve),2);y(O);var Je=a(O,2);{var Qe=s=>{var n=Ur(),v=r(n,!0);t(n),g(m=>d(v,m),[()=>o.t("ADMIN_NEXT.SETUP.ENTER_A_VALID_EMAIL_ADDRESS")]),c(s,n)};S(Je,s=>{e(Q)&&s(Qe)})}t(ve);var he=a(ve,2);gr(he,{id:"password",label:"Password",get policy(){return Ee.current},get disabled(){return e(b)},get invalid(){return e(ge)},invalidMessage:"Password does not meet the required policy",get value(){return e(D)},set value(s){_(D,s,!0)}});var me=a(he,2),_e=r(me),Ze=r(_e,!0);t(_e);var X=a(_e,2);y(X);var er=a(X,2);{var rr=s=>{var n=Dr(),v=r(n,!0);t(n),g(m=>d(v,m),[()=>o.t("ADMIN_NEXT.SETUP.PASSWORDS_DO_NOT_MATCH")]),c(s,n)};S(er,s=>{e(Z)&&s(rr)})}t(me);var tr=a(me,2);fr(tr,{type:"submit",class:"w-full",get disabled(){return e(b)},children:(s,n)=>{var v=ur(),m=j(v);{var L=f=>{var N=Pr(),T=j(N);ye(T,{size:15,class:"animate-spin"});var I=a(T);g(A=>d(I,` ${A??""}`),[()=>o.t("ADMIN_NEXT.SETUP.CREATING_ACCOUNT")]),c(f,N)},Y=f=>{var N=wr(),T=j(N);hr(T,{size:15});var I=a(T);g(A=>d(I,` ${A??""}`),[()=>o.t("ADMIN_NEXT.SETUP.CREATE_ADMINISTRATOR")]),c(f,N)};S(m,f=>{e(b)?f(L):f(Y,-1)})}c(s,v)},$$slots:{default:!0}}),t(oe),g((s,n,v,m,L)=>{d(F,` ${s??""} `),d(je,n),fe(C,1,`flex h-9 w-full rounded-md border bg-transparent px-3 py-1 text-sm shadow-sm transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring
|
|
${e(J)?"border-red-500 ring-1 ring-red-500/30":"border-input"}`),C.disabled=e(b),d(Ae,`${v??""} `),d(qe,m),ue.disabled=e(b),fe(O,1,`flex h-9 w-full rounded-md border bg-transparent px-3 py-1 text-sm shadow-sm transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring
|
|
${e(Q)?"border-red-500 ring-1 ring-red-500/30":"border-input"}`),O.disabled=e(b),d(Ze,L),fe(X,1,`flex h-9 w-full rounded-md border bg-transparent px-3 py-1 text-sm shadow-sm transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring
|
|
${e(Z)?"border-red-500 ring-1 ring-red-500/30":"border-input"}`),X.disabled=e(b)},[()=>o.t("ADMIN_NEXT.SETUP.SERVER_CONFIGURATION"),()=>o.t("ADMIN_NEXT.USERNAME"),()=>o.t("ADMIN_NEXT.SETUP.FULL_NAME"),()=>o.t("ADMIN_NEXT.SETUP.OPTIONAL"),()=>o.t("ADMIN_NEXT.SETUP.CONFIRM_PASSWORD")]),Ie("click",E,()=>_(V,!e(V))),mr("submit",oe,we),U(C,()=>e(z),s=>_(z,s)),U(ue,()=>e(W),s=>_(W,s)),U(O,()=>e(B),s=>_(B,s)),U(X,()=>e(K),s=>_(K,s)),c(i,u)};S(ke,i=>{e(q)?i(Ve):i(ze,-1)})}t(ae);var Ne=a(ae,2),Be=r(Ne,!0);t(Ne),t(xe),t(ee),g((i,u,l,E)=>{pr(w,"aria-label",i),d($e,u),d(Ge,l),d(Be,E)},[()=>o.t("ADMIN_NEXT.TOGGLE_DARK_MODE"),()=>o.t("ADMIN_NEXT.SETUP.WELCOME_TO_GRAV"),()=>o.t("ADMIN_NEXT.SETUP.CREATE_YOUR_ADMINISTRATOR_ACCOUNT_TO"),()=>o.t("ADMIN_NEXT.SETUP.POWERED_BY_GRAV_CMS")]),Ie("click",w,()=>Me.toggleColorMode()),c(Ue,ee),nr()}vr(["click"]);export{tt as component};
|