/* Auth (Login, Register, Forgot Password) + Account dashboard. Exposes window.AXAuth. */ (function(){ const { Button, Input, Eyebrow, Badge, PriceTag } = window.AXUI; const Ic=()=>window.AXIcons; const wrap={maxWidth:'var(--container-max)',margin:'0 auto',padding:'0 var(--gutter)'}; /* ---- shared brand side panel (navy radial gradient, matches hero/newsletter) ---- */ function BrandPanel({ heading, sub, points }){ const i=Ic(); return
AshopNexa

{heading}

{sub}

{points.map(([Icon,t,d])=>
{React.createElement(Icon,{size:20})}
{t}
{d}
)}
; } function AuthShell({ children, aside }){ return
{aside}
{children}
; } function PasswordInput({ label='Password', ...rest }){ const i=Ic(); const [show,setShow]=React.useState(false); return
; } function SocialRow(){ const btn=(label,glyph)=>; const gG=; const aG=; return
{btn('Google',gG)}{btn('Apple',aG)}
; } function Divider({ children }){ return
{children}
; } function Check({ checked, onChange, children }){ const i=Ic(); return ; } /* ---------------- LOGIN ---------------- */ function Login({ onNav, onAuth }){ const i=Ic(); const [remember,setRemember]=React.useState(true); return }>
Sign in

Sign in to your account

New to AshopNexa? {e.preventDefault();onNav({type:'register'});}} style={{color:'var(--blue-600)',fontWeight:600}}>Create an account

or sign in with email
{e.preventDefault();onAuth&&onAuth();}} style={{display:'flex',flexDirection:'column',gap:16}}>
{React.createElement(i.Lock,{size:14})} Secured with 256-bit encryption
; } /* ---------------- REGISTER ---------------- */ function Register({ onNav, onAuth }){ const i=Ic(); const [agree,setAgree]=React.useState(false); const [sub,setSub]=React.useState(true); return }>
Create account

Create your account

Already have one? {e.preventDefault();onNav({type:'login'});}} style={{color:'var(--blue-600)',fontWeight:600}}>Sign in

or sign up with email
{e.preventDefault();if(agree)onAuth&&onAuth();}} style={{display:'flex',flexDirection:'column',gap:16}}>
; } /* ---------------- FORGOT PASSWORD ---------------- */ function Forgot({ onNav }){ const i=Ic(); const [sent,setSent]=React.useState(false); const [email,setEmail]=React.useState(''); return
{!sent ? <> {React.createElement(i.Lock,{size:24})}

Forgot your password?

Enter the email on your account and we’ll send you a link to reset it.

{e.preventDefault();if(email.includes('@'))setSent(true);}} style={{display:'flex',flexDirection:'column',gap:16}}> setEmail(e.target.value)} placeholder="you@example.com" iconLeft={React.createElement(i.Mail,{size:16})}/>
: <> {React.createElement(i.CheckCircle,{size:26})}

Check your inbox

We sent a reset link to {email}. It expires in 30 minutes.

}
; } /* ---------------- ACCOUNT DASHBOARD ---------------- */ const navItems=[['overview','Overview','Package'],['orders','Orders','Truck'],['addresses','Addresses','MapPin'],['wishlist','Wishlist','Heart'],['settings','Settings','Settings']]; const mockOrders=[ {no:'ORD-2026-04817',date:'Jun 14, 2026',status:'Shipped',total:118.97,items:3,tone:'default'}, {no:'ORD-2026-04122',date:'May 28, 2026',status:'Delivered',total:54.00,items:1,tone:'success'}, {no:'ORD-2026-03840',date:'May 09, 2026',status:'Delivered',total:212.45,items:4,tone:'success'}, ]; function Account({ onNav, onLogout }){ const i=Ic(); const [tab,setTab]=React.useState('overview'); const D=window.AX_DATA; const wl=(D&&D.products?D.products.slice(0,3):[]); return
JV

Hi, Jordan

jordan.vale@example.com · Member since 2025

Verified
{tab==='overview' && } {tab==='orders' && } {tab==='addresses' && } {tab==='wishlist' && } {tab==='settings' && }
; } function Panel({ title, action, onAction, children }){ const i=Ic(); return

{title}

{action && }
{children}
; } function StatusBadge({ status, tone }){ return {status}; } function Overview({ i, onTab, onNav }){ const stats=[['Active orders','1','Truck'],['Wishlist','3','Heart'],['Reward points','840','Gift']]; return
{stats.map(([label,val,icon])=>
{React.createElement(i[icon],{size:19})}
{val}
{label}
)}
onTab('orders')}> {mockOrders.slice(0,2).map(o=>
{React.createElement(i.Package,{size:19})}
{o.no}
{o.date} · {o.items} item{o.items>1?'s':''}
${o.total.toFixed(2)}
)}
onTab('addresses')}>
Jordan Vale
123 Market St, Apt 4B
San Francisco, CA 94103
United States
; } function Orders({ i, onNav }){ return
{mockOrders.map((o,idx)=>
{React.createElement(i.Package,{size:20})}
{o.no}
{o.date} · {o.items} item{o.items>1?'s':''} · ${o.total.toFixed(2)}
)}
; } function Addresses({ i }){ const addrs=[{label:'Home',def:true,lines:['Jordan Vale','123 Market St, Apt 4B','San Francisco, CA 94103','United States']},{label:'Work',def:false,lines:['Jordan Vale','500 Howard St, Floor 8','San Francisco, CA 94105','United States']}]; return
{addrs.map(a=>
{a.label}{a.def&&Default}
{a.lines.map((l,k)=>
{l}
)}
)}
; } function Wishlist({ items, onNav }){ const i=Ic(); return
{items.map((p,idx)=>
{p.name.charAt(0)}
{p.name}
)}
; } function SettingsTab({ i }){ return
; } function Toggle({ label, desc, on:initial }){ const [on,setOn]=React.useState(initial); return
{label}
{desc}
; } window.AXAuth = { Login, Register, Forgot, Account }; })();