1/*! For license information please see 1919.498cb74d.chunk.js.LICENSE.txt */ 2"use strict";(self.webpackChunkstudent_management_app=self.webpackChunkstudent_management_app||[]).push([[1919],{36493:(e,t,s)=>{s.d(t,{A:()=>a});const a=(0,s(7101).A)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},41919:(e,t,s)=>{s.r(t),s.d(t,{default:()=>g});var a=s(9950),l=s(73814),n=s(45532),r=s(19535),i=s(76591),o=s(92555),c=s(55551),d=s(47288),m=s(71057),x=s(36493),u=s(44414);const g=()=>{const[e,t]=(0,a.useState)(""),[s,g]=(0,a.useState)(""),[h,p]=(0,a.useState)(!1),[b,f]=(0,a.useState)(!1),[y,j]=(0,a.useState)(""),[v,w]=(0,a.useState)("login"),[N,k]=(0,a.useState)(!1),{login:A,resetPassword:C}=(0,n.As)(),S=(0,l.Zp)(),P=e=>{w(e),j(""),k(!1)},z="block w-full rounded-xl border border-gray-200 bg-gray-50/70 py-3 pl-11 pr-3 text-sm text-gray-900 placeholder-gray-400 transition focus:bg-white focus:border-blue-500 focus:ring-2 focus:ring-blue-500/30 focus:outline-none",M="w-full flex items-center justify-center gap-2 rounded-xl bg-gradient-to-r from-blue-700 to-indigo-700 px-4 py-3 text-sm font-semibold text-white shadow-lg shadow-blue-700/20 transition hover:from-blue-800 hover:to-indigo-800 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 disabled:opacity-60 disabled:cursor-not-allowed";return(0,u.jsxs)("div",{className:"min-h-screen flex bg-white",children:[(0,u.jsxs)("div",{className:"hidden lg:flex lg:w-1/2 relative overflow-hidden bg-[#102f5c]",style:{backgroundImage:"url('/official-logo.png')",backgroundRepeat:"no-repeat",backgroundPosition:"center 42%",backgroundSize:"70% auto"},children:[(0,u.jsx)("div",{className:"pointer-events-none absolute inset-0 bg-gradient-to-br from-blue-950/35 via-blue-900/20 to-indigo-950/55"}),(0,u.jsx)("div",{className:"pointer-events-none absolute top-0 inset-x-0 h-1.5 bg-gradient-to-r from-amber-400 via-amber-500 to-amber-400"}),(0,u.jsx)("div",{className:"pointer-events-none absolute -top-28 -left-24 w-[30rem] h-[30rem] rounded-full bg-blue-500/25 blur-3xl"}),(0,u.jsx)("div",{className:"pointer-events-none absolute -bottom-32 -right-20 w-[34rem] h-[34rem] rounded-full bg-indigo-500/25 blur-3xl"}),(0,u.jsxs)("div",{className:"relative z-10 flex w-full flex-col items-center justify-end px-12 pb-28 text-center text-white",children:[(0,u.jsx)("h1",{className:"text-3xl font-bold tracking-tight !text-white",children:"Huduma CNA Programs"}),(0,u.jsxs)("div",{className:"mt-4 flex items-center gap-3 text-amber-300",children:[(0,u.jsx)("span",{className:"h-px w-10 bg-amber-300/40"}),(0,u.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.3em]",children:"Staff Portal"}),(0,u.jsx)("span",{className:"h-px w-10 bg-amber-300/40"})]})]}),(0,u.jsxs)("p",{className:"absolute bottom-8 inset-x-0 text-center text-[11px] text-blue-200/50",children:["\xa9 ",(new Date).getFullYear()," Caregiver Training & Huduma Center LLC"]})]}),(0,u.jsxs)("div",{className:"login-form-panel flex flex-1 flex-col bg-white",children:[(0,u.jsxs)("div",{className:"flex items-center justify-between px-6 sm:px-10 h-16",children:[(0,u.jsxs)("button",{onClick:()=>S("/"),className:"flex items-center gap-2.5 lg:opacity-0 lg:pointer-events-none",children:[(0,u.jsx)("img",{src:"/official-logo.png",alt:"",className:"w-10 h-10 object-contain"}),(0,u.jsx)("span",{className:"text-lg font-bold text-gray-900",children:"Huduma CNA"})]}),(0,u.jsx)("button",{onClick:()=>S("/"),className:"text-sm font-medium text-gray-400 hover:text-gray-700 transition",children:"\u2190 Back to site"})]}),(0,u.jsx)("div",{className:"flex flex-1 items-center justify-center px-6 sm:px-10",children:(0,u.jsxs)("div",{className:"w-full max-w-sm pb-16",children:[(0,u.jsx)("h2",{className:"text-3xl font-bold text-gray-900 mb-8",children:"login"===v?"Sign in":"Reset password"}),y&&(0,u.jsx)("div",{className:"mb-5 rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-sm text-red-700",children:y}),"login"===v?(0,u.jsxs)("form",{className:"space-y-4",onSubmit:async t=>{t.preventDefault();try{j(""),f(!0),await A(e,s)}catch(a){j("Failed to sign in. Please check your credentials.")}finally{f(!1)}},children:[(0,u.jsxs)("div",{className:"relative",children:[(0,u.jsx)(r.A,{className:"pointer-events-none absolute left-3.5 to
2p-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),(0,u.jsx)("input",{type:"email",autoComplete:"email",required:!0,"aria-label":"Email address",value:e,onChange:e=>t(e.target.value),placeholder:"Email address",className:z})]}),(0,u.jsxs)("div",{className:"relative",children:[(0,u.jsx)(i.A,{className:"pointer-events-none absolute left-3.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),(0,u.jsx)("input",{type:h?"text":"password",autoComplete:"current-password",required:!0,"aria-label":"Password",value:s,onChange:e=>g(e.target.value),placeholder:"Password",className:`${z} pr-11`}),(0,u.jsx)("button",{type:"button",onClick:()=>p(e=>!e),tabIndex:-1,className:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600","aria-label":"Toggle password visibility",children:h?(0,u.jsx)(o.A,{className:"w-4 h-4"}):(0,u.jsx)(c.A,{className:"w-4 h-4"})})]}),(0,u.jsx)("div",{className:"flex justify-end",children:(0,u.jsx)("button",{type:"button",onClick:()=>P("reset"),className:"text-xs font-semibold text-blue-600 hover:text-blue-500",children:"Forgot password?"})}),(0,u.jsx)("button",{type:"submit",disabled:b,className:M,children:b?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(d.A,{className:"w-4 h-4 animate-spin"})," Signing in\u2026"]}):"Sign in"})]}):N?(0,u.jsxs)("div",{children:[(0,u.jsxs)("div",{className:"flex flex-col items-center text-center rounded-2xl border border-green-100 bg-green-50 px-6 py-8",children:[(0,u.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-full bg-green-100",children:(0,u.jsx)(m.A,{className:"h-6 w-6 text-green-600"})}),(0,u.jsxs)("p",{className:"mt-4 text-sm text-gray-600",children:["If an account exists for ",(0,u.jsx)("span",{className:"font-semibold text-gray-800",children:e}),", a reset link is on its way."]})]}),(0,u.jsxs)("button",{type:"button",onClick:()=>P("login"),className:"mt-5 w-full flex items-center justify-center gap-2 text-sm font-medium text-gray-500 hover:text-blue-600 transition",children:[(0,u.jsx)(x.A,{className:"w-4 h-4"})," Back to sign in"]})]}):(0,u.jsxs)("form",{className:"space-y-4",onSubmit:async t=>{if(t.preventDefault(),e.trim())try{j(""),f(!0),await C(e.trim()),k(!0)}catch(s){k(!0)}finally{f(!1)}else j("Please enter your email address.")},children:[(0,u.jsxs)("div",{className:"relative",children:[(0,u.jsx)(r.A,{className:"pointer-events-none absolute left-3.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"}),(0,u.jsx)("input",{type:"email",autoComplete:"email",required:!0,"aria-label":"Email address",value:e,onChange:e=>t(e.target.value),placeholder:"Email address",className:z})]}),(0,u.jsx)("button",{type:"submit",disabled:b,className:M,children:b?(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(d.A,{className:"w-4 h-4 animate-spin"})," Sending\u2026"]}):"Send reset link"}),(0,u.jsxs)("button",{type:"button",onClick:()=>P("login"),className:"w-full flex items-center justify-center gap-2 text-sm font-medium text-gray-500 hover:text-blue-600 transition",children:[(0,u.jsx)(x.A,{className:"w-4 h-4"})," Back to sign in"]})]})]})})]})]})}},47288:(e,t,s)=>{s.d(t,{A:()=>a});const a=(0,s(7101).A)("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},55551:(e,t,s)=>{s.d(t,{A:()=>a});const a=(0,s(7101).A)("Eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]])},71057:(e,t,s)=>{s.d(t,{A:()=>a});const a=(0,s(7101).A)("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},76591:(e,t,s)=>{s.d(t,{A:()=>a});const a=(0,s(7101).A)("Lock",[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]])},92555:(e,t,s)=>{s.d(t,{A:()=>a});const a=(0,s(7101).A)("EyeOff",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]])}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.