// Android Material 3 screens — batch 3: Onboarding, Login/OTP, Categories, Empty cart, Order success, Order history const Aroboto3 = { fontFamily: 'Roboto, "Roboto Flex", system-ui, sans-serif' }; // ═════════════════════════════════════════════════════════════ // MA-09) ONBOARDING // ═════════════════════════════════════════════════════════════ function MdScreenOnboarding() { return (
J
Janaushadhi
Skip
{/* Illustration */}
28 min ⚡
{/* Copy */}
Genuine medicines,
delivered in minutes
Express delivery from licensed pharmacies near you, verified by our in-house pharmacists.
{[0,1,2].map(i => (
))}
Get started
); } // ═════════════════════════════════════════════════════════════ // MA-10) LOGIN / OTP // ═════════════════════════════════════════════════════════════ function MdScreenLogin() { return (
Verify your number
Enter the 6-digit code sent to +91 98••• 12•••
{/* OTP filled-style boxes */}
{['8','3','9','2','',''].map((d, i) => (
{d}
))}
Resend in 00:24
Reading the code from your SMS automatically.
Verify & continue
{/* Numeric keypad */}
{['1','2','3','4','5','6','7','8','9','','0','⌫'].map((k, i) => (
{k}
))}
); } // ═════════════════════════════════════════════════════════════ // MA-11) CATEGORIES // ═════════════════════════════════════════════════════════════ function MdScreenCategories() { const cats = [ { l: 'Pain relief', c: 142, hue: 'blue', Icon: IconPill }, { l: 'Diabetes', c: 86, hue: 'mint', Icon: IconHeart }, { l: 'Heart & BP', c: 64, hue: 'rose', Icon: IconRx }, { l: 'Cold & flu', c: 58, hue: 'amber', Icon: IconShield }, { l: 'Digestive', c: 47, hue: 'mint', Icon: IconPill }, { l: 'Vitamins', c: 124, hue: 'amber', Icon: IconStar }, { l: 'Skin care', c: 92, hue: 'rose', Icon: IconHeart }, { l: 'Hair care', c: 68, hue: 'navy', Icon: IconUser }, { l: 'Baby & mom', c: 81, hue: 'rose', Icon: IconUser }, { l: 'Wellness', c: 54, hue: 'blue', Icon: IconShield }, { l: 'Ayurveda', c: 102, hue: 'mint', Icon: IconStar }, { l: 'Devices', c: 38, hue: 'navy', Icon: IconScan }, ]; const palettes = { blue: { bg: M.primaryContainer, fg: M.onPrimaryContainer }, mint: { bg: '#D6F5EA', fg: '#0F5A48' }, amber: { bg: '#FFEFD1', fg: '#7A4500' }, rose: { bg: '#FFE4E4', fg: '#7A1C1F' }, navy: { bg: '#E2EAFA', fg: '#0B1F4D' }, }; return (
{/* Banner */}
NEW · 2,400+ ITEMS
Ayurveda store
{cats.map(c => { const p = palettes[c.hue]; return (
{c.l}
{c.c} items
); })}
); } // ═════════════════════════════════════════════════════════════ // MA-12) EMPTY CART // ═════════════════════════════════════════════════════════════ function MdScreenCartEmpty() { return (
Your cart is empty
Add medicines, wellness essentials, or book a lab test to get started.
Start shopping
{[ { name: 'Refill: Metformin SR', sub: '3 days left in your strip', Icon: IconRx, bg: M.primaryContainer, fg: M.onPrimaryContainer }, { name: 'Reorder: Cetirizine 10mg', sub: 'Last bought 12 days ago', Icon: IconPill, bg: '#D6F5EA', fg: '#0F5A48' }, { name: 'Book HbA1c test', sub: 'Due based on your records', Icon: IconScan, bg: '#FFEFD1', fg: '#7A4500' }, ].map((s, i) => (
{s.name}
{s.sub}
))}
); } // ═════════════════════════════════════════════════════════════ // MA-13) ORDER SUCCESS // ═════════════════════════════════════════════════════════════ function MdScreenOrderSuccess() { return (
{[0,60,120,180,240,300].map(a => (
))}
Order placed!
Confirmation sent to +91 98••• 12•••
ORDER ID
#JN-2841-09
● Confirmed
Arrives by 6:40 PM today
3 items · ₹248 paid via UPI
{/* Rewards */}
You earned 24 JANA+ points
Use them on your next order
Track this order Continue shopping
); } // ═════════════════════════════════════════════════════════════ // MA-14) ORDER HISTORY // ═════════════════════════════════════════════════════════════ function MdScreenOrderHistory() { const orders = [ { id: '#JN-2841-09', date: 'Today, 5:42 PM', status: 'Packing', tone: 'blue', items: 3, total: 248, hue: 'blue' }, { id: '#JN-2812-06', date: 'May 24', status: 'Delivered', tone: 'mint', items: 2, total: 412, hue: 'mint' }, { id: '#JN-2784-13', date: 'May 18', status: 'Delivered', tone: 'mint', items: 5, total: 1284, hue: 'amber' }, { id: '#JN-2750-02', date: 'May 12', status: 'Refunded', tone: 'rose', items: 1, total: 95, hue: 'rose' }, ]; const tones = { blue: { bg: M.primaryContainer, fg: M.onPrimaryContainer }, mint: { bg: '#D6F5EA', fg: '#0F5A48' }, rose: { bg: '#FFE4E4', fg: '#7A1C1F' } }; return (
All Active Delivered Cancelled Refunded
{orders.map((o, i) => { const t = tones[o.tone]; return (
{o.id}
{o.date}
● {o.status}
{o.items > 2 &&
+{o.items - 2}
}
₹{o.total}
{o.items} items
{o.status === 'Delivered' ? ( <> Reorder Invoice ) : o.status === 'Packing' ? ( Track order ) : ( View details )}
); })}
); } Object.assign(window, { MdScreenOnboarding, MdScreenLogin, MdScreenCategories, MdScreenCartEmpty, MdScreenOrderSuccess, MdScreenOrderHistory });