@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 4.04 kB
JavaScript
import{a as e,d as t,fn as n,i as r,o as i,t as a,y as o}from"./ErrorBlock-CuwX01Wv.js";import{A as s,D as c,F as l,S as u,c as d,j as f,m as p,s as m,u as h,w as g,x as _,y as v}from"./web-BWdORzMO.js";import{m as y,n as b}from"./userStore-BExk_Pfb.js";import{F as x,j as S,k as C}from"./Form-Cbz3dIAq.js";import{t as w}from"./logo-icon-B2VRCvVq.js";import{t as T}from"./ProviderButton-Bw11-ZUP.js";var E=e=>{let[t,r]=l(``),[a,o]=l(``),s=i.auth.useLogin();return c(S,{get state(){return{isLoading:s.action.isPending,errors:s.errors()}},content:{submit:`Login`},options:{buttonFullWidth:!0,buttonSize:`large`,disableErrorMessage:!0},onSubmit:()=>{s.action.mutate({usernameOrEmail:t(),password:a()})},get children(){return[c(C,{id:`usernameOrEmail`,name:`usernameOrEmail`,type:`text`,get value(){return t()},onChange:r,get copy(){return{label:n()(`common.username.or.email`)}},required:!0,autoFoucs:!0,autoComplete:`username`,get errors(){return x(`usernameOrEmail`,s.errors)}}),c(C,{id:`password`,name:`password`,type:`password`,get value(){return a()},onChange:o,get copy(){return{label:n()(`common.password`)}},required:!0,autoComplete:`current-password`,get errors(){return x(`password`,s.errors)}}),c(u,{get when(){return e.showForgotPassword},get children(){return c(b,{class:`block text-sm mt-1 hover:text-primary-hover duration-200 transition-colors`,type:`button`,href:`/lucid/forgot-password`,get children(){return n()(`auth.forgot.password.action`)}})}})]}})},D=p(`<div class="flex items-center justify-center h-full">`),O=p(`<img alt="Lucid CMS Logo"class="h-10 mx-auto mb-6">`),k=p(`<h1 class="mb-1 text-center">`),A=p(`<p class="text-center max-w-sm mx-auto">`),j=p(`<div class=my-10>`),M=p(`<span class="text-center mx-auto flex items-center justify-center gap-2 my-8"><span class="w-20 h-px bg-border"></span><span class="text-body text-sm mx-2.5"></span><span class="w-20 h-px bg-border">`),N=p(`<div class=my-8><div class="flex flex-col gap-4 items-center">`),P=()=>{let p=y(),[b,x]=l(null),S=i.auth.useSetupRequired({queryParams:{}}),C=i.auth.useGetProviders({queryParams:{}}),P=i.auth.useInitiateProvider(),F=f(()=>S.isLoading||C.isLoading),I=f(()=>S.isError||C.isError),L=f(()=>S.isSuccess&&C.isSuccess&&!S.data.data.setupRequired);return s(()=>{S.isSuccess&&S.data.data.setupRequired&&p(`/lucid/setup`)}),s(()=>{let e=new URLSearchParams(location.search),r=e.get(t.errorQueryParams.errorName),i=e.get(t.errorQueryParams.errorMessage);(r||i)&&(o({title:r??n()(`errors.generic.title`),message:i??void 0,status:`error`}),e.delete(t.errorQueryParams.errorName),e.delete(t.errorQueryParams.errorMessage),p(`${location.pathname}${e.size>0?`?${e.toString()}`:``}`))}),s(()=>{!P.action.isPending&&(P.action.isSuccess||P.action.isError)&&x(null)}),c(g,{get children(){return[c(_,{get when(){return F()},get children(){var e=D();return m(e,c(r,{size:`sm`})),e}}),c(_,{get when(){return I()},get children(){return c(a,{get content(){return{image:e,title:n()(`errors.generic.title`),description:n()(`errors.generic.message`)}}})}}),c(_,{get when(){return L()},get children(){return[(()=>{var e=O();return h(e,`src`,w),e})(),(()=>{var e=k();return m(e,()=>n()(`routes.auth.login.title`)),e})(),(()=>{var e=A();return m(e,()=>n()(`routes.auth.login.description`)),e})(),(()=>{var e=j();return m(e,c(u,{get when(){return C.data?.data.disablePassword===!1},get children(){return c(E,{showForgotPassword:!0})}})),e})(),c(u,{get when(){return d(()=>!!C.data?.data.providers?.length)()&&C.data?.data.providers?.length>0},get children(){var e=N(),t=e.firstChild;return m(e,c(u,{get when(){return C.data?.data.disablePassword===!1},get children(){var e=M(),t=e.firstChild.nextSibling;return m(t,()=>n()(`common.or`)),e}}),t),m(t,c(v,{get each(){return C.data?.data.providers??[]},children:e=>c(T,{provider:e,onClick:()=>{x(e.key),P.action.mutate({providerKey:e.key,body:{actionType:`login`}})},get disabled(){return P.action.isPending},get isLoading(){return d(()=>!!P.action.isPending)()&&b()===e.key}})})),e}})]}})]}})};export{P as default};