2 lines
8.8 KiB
JavaScript
2 lines
8.8 KiB
JavaScript
import{a5 as B,j as o,l as D,m as E,a as u,n as N,o as q,_ as m,p as F,q as v,v as T,w as W,a4 as O,A as U,aq as V,ar as K,T as p,S as M,as as J,B as y,at as Y,I as G,au as Q}from"./index-J0uxx8As.js";import{S as X,d as Z,a as ee}from"./VisibilityOff-DVBJPx6F.js";import{C as oe,L as re}from"./Link-DdF3Xu1F.js";import{T as A}from"./TextField-BARvBB_z.js";import{I as te}from"./InputAdornment-Cbcw8oJa.js";import{B as ae}from"./Button-BkRsd5c4.js";const se=B(o.jsx("path",{d:"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"}),"CheckBoxOutlineBlank"),ne=B(o.jsx("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"}),"CheckBox"),le=B(o.jsx("path",{d:"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z"}),"IndeterminateCheckBox");function ie(e){return D("MuiCheckbox",e)}const R=E("MuiCheckbox",["root","checked","disabled","indeterminate","colorPrimary","colorSecondary","sizeSmall","sizeMedium"]),ce=["checkedIcon","color","icon","indeterminate","indeterminateIcon","inputProps","size","className"],de=e=>{const{classes:r,indeterminate:t,color:n,size:l}=e,a={root:["root",t&&"indeterminate",`color${v(n)}`,`size${v(l)}`]},c=T(a,ie,r);return m({},r,c)},pe=W(X,{shouldForwardProp:e=>O(e)||e==="classes",name:"MuiCheckbox",slot:"Root",overridesResolver:(e,r)=>{const{ownerState:t}=e;return[r.root,t.indeterminate&&r.indeterminate,r[`size${v(t.size)}`],t.color!=="default"&&r[`color${v(t.color)}`]]}})(({theme:e,ownerState:r})=>m({color:(e.vars||e).palette.text.secondary},!r.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${r.color==="default"?e.vars.palette.action.activeChannel:e.vars.palette[r.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:U(r.color==="default"?e.palette.action.active:e.palette[r.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},r.color!=="default"&&{[`&.${R.checked}, &.${R.indeterminate}`]:{color:(e.vars||e).palette[r.color].main},[`&.${R.disabled}`]:{color:(e.vars||e).palette.action.disabled}})),ue=o.jsx(ne,{}),me=o.jsx(se,{}),be=o.jsx(le,{}),xe=u.forwardRef(function(r,t){var n,l;const a=N({props:r,name:"MuiCheckbox"}),{checkedIcon:c=ue,color:x="primary",icon:d=me,indeterminate:i=!1,indeterminateIcon:b=be,inputProps:s,size:C="medium",className:I}=a,z=q(a,ce),P=i?b:d,h=i?b:c,k=m({},a,{color:x,indeterminate:i,size:C}),g=de(k);return o.jsx(pe,m({type:"checkbox",inputProps:m({"data-indeterminate":i},s),icon:u.cloneElement(P,{fontSize:(n=P.props.fontSize)!=null?n:C}),checkedIcon:u.cloneElement(h,{fontSize:(l=h.props.fontSize)!=null?l:C}),ownerState:k,ref:t,className:F(g.root,I)},z,{classes:g}))});function he(e){return D("MuiFormControlLabel",e)}const j=E("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),ge=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","required","slotProps","value"],fe=e=>{const{classes:r,disabled:t,labelPlacement:n,error:l,required:a}=e,c={root:["root",t&&"disabled",`labelPlacement${v(n)}`,l&&"error",a&&"required"],label:["label",t&&"disabled"],asterisk:["asterisk",l&&"error"]};return T(c,he,r)},ve=W("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,r)=>{const{ownerState:t}=e;return[{[`& .${j.label}`]:r.label},r.root,r[`labelPlacement${v(t.labelPlacement)}`]]}})(({theme:e,ownerState:r})=>m({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${j.disabled}`]:{cursor:"default"}},r.labelPlacement==="start"&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},r.labelPlacement==="top"&&{flexDirection:"column-reverse",marginLeft:16},r.labelPlacement==="bottom"&&{flexDirection:"column",marginLeft:16},{[`& .${j.label}`]:{[`&.${j.disabled}`]:{color:(e.vars||e).palette.text.disabled}}})),Ce=W("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,r)=>r.asterisk})(({theme:e})=>({[`&.${j.error}`]:{color:(e.vars||e).palette.error.main}})),ke=u.forwardRef(function(r,t){var n,l;const a=N({props:r,name:"MuiFormControlLabel"}),{className:c,componentsProps:x={},control:d,disabled:i,disableTypography:b,label:s,labelPlacement:C="end",required:I,slotProps:z={}}=a,P=q(a,ge),h=V(),k=(n=i??d.props.disabled)!=null?n:h==null?void 0:h.disabled,g=I??d.props.required,_={disabled:k,required:g};["checked","name","onChange","value","inputRef"].forEach(S=>{typeof d.props[S]>"u"&&typeof a[S]<"u"&&(_[S]=a[S])});const H=K({props:a,muiFormControl:h,states:["error"]}),w=m({},a,{disabled:k,labelPlacement:C,required:g,error:H.error}),$=fe(w),L=(l=z.typography)!=null?l:x.typography;let f=s;return f!=null&&f.type!==p&&!b&&(f=o.jsx(p,m({component:"span"},L,{className:F($.label,L==null?void 0:L.className),children:f}))),o.jsxs(ve,m({className:F($.root,c),ownerState:w,ref:t},P,{children:[u.cloneElement(d,_),g?o.jsxs(M,{display:"block",children:[f,o.jsxs(Ce,{ownerState:w,"aria-hidden":!0,className:$.asterisk,children:[" ","*"]})]}):f]}))}),ye="/assets/mid-mile-approach-Drwn-ig9.jpg";function $e(){const e=J(),[r,t]=u.useState(!1),[n,l]=u.useState(""),[a,c]=u.useState(""),[x,d]=u.useState(""),i=async()=>{try{d("");const s=await Q(n,a);localStorage.setItem("logged_in","true"),localStorage.setItem("auth_token",s.token),localStorage.setItem("user",JSON.stringify(s.user)),e("/dashboard")}catch(s){d(s.message||"Invalid email or password")}},b=s=>{s.key==="Enter"&&i()};return o.jsxs(y,{sx:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",backgroundImage:`url(${ye})`,backgroundSize:"cover",backgroundPosition:"center",position:"relative","&::before":{content:'""',position:"absolute",inset:0,background:"linear-gradient(180deg, rgba(15,23,42,0.6) 0%, rgba(192, 18, 39, 0.8) 100%)",zIndex:1}},children:[o.jsxs(oe,{sx:{position:"relative",zIndex:2,width:"100%",maxWidth:440,p:{xs:4,sm:5},m:2,background:"rgba(255, 255, 255, 0.85)",backdropFilter:"blur(24px)",WebkitBackdropFilter:"blur(24px)",border:"1px solid rgba(255, 255, 255, 0.5)",boxShadow:"0 24px 48px rgba(0,0,0,0.2)",borderRadius:4},children:[o.jsx(y,{sx:{mb:4,display:"flex",justifyContent:"center"},children:o.jsx(Y,{})}),o.jsx(p,{variant:"h3",sx:{fontWeight:800,textAlign:"center",letterSpacing:"-0.5px",color:"#1e293b"},children:"Welcome back"}),o.jsx(p,{variant:"body1",sx:{mt:1,mb:4,textAlign:"center",color:"#475569"},children:"Sign in to your Doormile operations account."}),o.jsxs(M,{spacing:2.5,children:[o.jsxs(y,{children:[o.jsx(p,{variant:"subtitle2",sx:{mb:.75,color:"#334155",fontWeight:600},children:"Email"}),o.jsx(A,{fullWidth:!0,placeholder:"Enter your email address",value:n,onChange:s=>l(s.target.value),onKeyDown:b,sx:{"& .MuiOutlinedInput-root":{bgcolor:"rgba(255,255,255,0.6)",borderRadius:2,transition:"all 0.2s ease","&:hover":{bgcolor:"rgba(255,255,255,0.9)"},"&.Mui-focused":{bgcolor:"#fff",boxShadow:"0 4px 12px rgba(0,0,0,0.05)"}}}})]}),o.jsxs(y,{children:[o.jsx(p,{variant:"subtitle2",sx:{mb:.75,color:"#334155",fontWeight:600},children:"Password"}),o.jsx(A,{fullWidth:!0,type:r?"text":"password",placeholder:"Enter your password",value:a,onChange:s=>c(s.target.value),onKeyDown:b,sx:{"& .MuiOutlinedInput-root":{bgcolor:"rgba(255,255,255,0.6)",borderRadius:2,transition:"all 0.2s ease","&:hover":{bgcolor:"rgba(255,255,255,0.9)"},"&.Mui-focused":{bgcolor:"#fff",boxShadow:"0 4px 12px rgba(0,0,0,0.05)"}}},InputProps:{endAdornment:o.jsx(te,{position:"end",children:o.jsx(G,{onClick:()=>t(s=>!s),edge:"end",size:"small",children:r?o.jsx(Z,{fontSize:"small",sx:{color:"#94a3b8"}}):o.jsx(ee,{fontSize:"small",sx:{color:"#94a3b8"}})})})}})]}),o.jsxs(M,{direction:"row",justifyContent:"space-between",alignItems:"center",children:[o.jsx(ke,{control:o.jsx(xe,{defaultChecked:!0,size:"small",sx:{color:"#cbd5e1","&.Mui-checked":{color:"primary.main"}}}),label:o.jsx(p,{variant:"body2",sx:{color:"#475569",fontWeight:500},children:"Remember me"})}),o.jsx(re,{href:"#",underline:"hover",variant:"body2",color:"primary",sx:{fontWeight:600},children:"Forgot password?"})]}),x&&o.jsx(p,{variant:"body2",color:"error",textAlign:"center",sx:{fontWeight:600},children:x}),o.jsx(ae,{fullWidth:!0,size:"large",variant:"contained",onClick:i,sx:{mt:2,py:1.5,borderRadius:2,fontSize:"1.05rem",fontWeight:700,textTransform:"none",boxShadow:"0 8px 16px rgba(192, 18, 39, 0.25)","&:hover":{boxShadow:"0 12px 20px rgba(192, 18, 39, 0.35)"},transition:"box-shadow 0.2s ease"},children:"Sign In"})]})]}),o.jsx(y,{sx:{position:"absolute",bottom:20,zIndex:2},children:o.jsxs(p,{variant:"caption",sx:{color:"rgba(255,255,255,0.8)",fontSize:"0.8rem"},children:["© ",new Date().getFullYear()," Doormile Technologies. All rights reserved."]})})]})}export{$e as default};
|