1"use strict";(globalThis.webpackChunkpaxpay_vtu=globalThis.webpackChunkpaxpay_vtu||[]).push([[1381],{1381(a,e,s){s.r(e),s.d(e,{default:()=>o});var n=s(5043),i=s(3216),l=s(5946),r=s(3768),t=s(7845),d=s(579);function o(){const{login:a}=(0,l.b)(),e=(0,i.Zp)(),[s,o]=(0,n.useState)({username:"",password:"",pin:""}),[c,m]=(0,n.useState)(!1),[u,p]=(0,n.useState)(!1),[g,h]=(0,n.useState)(!1),x=a=>e=>o(s=>({...s,[a]:e.target.value}));return(0,d.jsx)("div",{className:"adm-login-page",children:(0,d.jsxs)("div",{className:"adm-login-card",children:[(0,d.jsxs)("div",{className:"adm-login-brand",children:[(0,d.jsx)("div",{className:"adm-login-icon",children:(0,d.jsx)("i",{className:"fas fa-shield-halved"})}),(0,d.jsx)("h1",{children:"Admin Portal"}),(0,d.jsx)("p",{children:"Sign in to manage PaxPay"})]}),(0,d.jsxs)("form",{onSubmit:async n=>{if(n.preventDefault(),!s.username.trim()||!s.password.trim())return r.Ay.error("Please fill all fields");if(g&&!s.pin.trim())return r.Ay.error("Please enter your login PIN");m(!0);try{const n=await a(s.username.trim(),s.password,g?s.pin.trim():"");if("pinrequired"===(null===n||void 0===n?void 0:n.status))return h(!0),void(0,r.Ay)("Enter your login PIN to continue",{icon:"\ud83d\udd10"});e(`${t.A}/dashboard`,{replace:!0})}catch(i){r.Ay.error(i.message||"Invalid credentials")}finally{m(!1)}},className:"adm-login-form",children:[(0,d.jsxs)("div",{className:"adm-login-field",children:[(0,d.jsx)("label",{children:"Username"}),(0,d.jsxs)("div",{className:"adm-login-input-wrap",children:[(0,d.jsx)("i",{className:"fas fa-user adm-login-input-icon"}),(0,d.jsx)("input",{type:"text",value:s.username,onChange:x("username"),placeholder:"Enter username",autoComplete:"username",autoFocus:!0,disabled:g})]})]}),(0,d.jsxs)("div",{className:"adm-login-field",children:[(0,d.jsx)("label",{children:"Password"}),(0,d.jsxs)("div",{className:"adm-login-input-wrap",children:[(0,d.jsx)("i",{className:"fas fa-lock adm-login-input-icon"}),(0,d.jsx)("input",{type:u?"text":"password",value:s.password,onChange:x("password"),placeholder:"Enter password",autoComplete:"current-password",disabled:g}),(0,d.jsx)("button",{type:"button",className:"adm-login-eye",onClick:()=>p(a=>!a),children:(0,d.jsx)("i",{className:"fas "+(u?"fa-eye-slash":"fa-eye")})})]})]}),g&&(0,d.jsxs)("div",{className:"adm-login-field",children:[(0,d.jsx)("label",{children:"Login PIN"}),(0,d.jsxs)("div",{className:"adm-login-input-wrap",children:[(0,d.jsx)("i",{className:"fas fa-key adm-login-input-icon"}),(0,d.jsx)("input",{type:"password",value:s.pin,onChange:x("pin"),placeholder:"Enter your login PIN",autoFocus:!0,maxLength:10})]})]}),(0,d.jsx)("button",{type:"submit",className:"adm-login-btn",disabled:c,children:c?(0,d.jsx)("span",{className:"adm-login-spinner"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("i",{className:"fas "+(g?"fa-key":"fa-right-to-bracket")}),"\xa0",g?"Verify PIN":"Sign In"]})}),g&&(0,d.jsx)("button",{type:"button",className:"adm-login-btn",style:{marginTop:8,background:"transparent",color:"var(--text-mid)",border:"1px solid var(--border)"},onClick:()=>{h(!1),o(a=>({...a,pin:""}))},children:"\u2190 Back"})]}),(0,d.jsxs)("p",{className:"adm-login-footer",children:["PaxPay \xa9 ",(new Date).getFullYear()," \xb7 Admin Access Only"]})]})})}}}]); 2//# sourceMappingURL=1381.cd48db91.chunk.js.map
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.