// Screens 15-19: Categories, Filters sheet, Addresses, Lab tests, Doctor consult
// ═════════════════════════════════════════════════════════════
// 15) CATEGORIES (full grid)
// ═════════════════════════════════════════════════════════════
function ScreenCategories() {
const cats = [
{ label: 'Pain relief', count: 142, hue: 'blue', Icon: IconPill },
{ label: 'Diabetes care', count: 86, hue: 'mint', Icon: IconHeart },
{ label: 'Heart & BP', count: 64, hue: 'rose', Icon: IconRx },
{ label: 'Cold & flu', count: 58, hue: 'amber', Icon: IconShield },
{ label: 'Digestive', count: 47, hue: 'mint', Icon: IconPill },
{ label: 'Vitamins', count: 124, hue: 'amber', Icon: IconStar },
{ label: 'Skin care', count: 92, hue: 'rose', Icon: IconHeart },
{ label: 'Hair care', count: 68, hue: 'navy', Icon: IconUser },
{ label: 'Baby & mom', count: 81, hue: 'rose', Icon: IconUser },
{ label: 'Sexual wellness', count: 54, hue: 'blue', Icon: IconShield },
{ label: 'Ayurveda', count: 102, hue: 'mint', Icon: IconStar },
{ label: 'Devices', count: 38, hue: 'navy', Icon: IconScan },
];
const palettes = {
blue: { bg: C.blue100, fg: C.blue600 },
mint: { bg: C.mint100, fg: C.mint500 },
amber: { bg: C.amber100, fg: C.amber500 },
rose: { bg: C.rose100, fg: C.rose500 },
navy: { bg: '#E2E8FA', fg: C.navy800 },
};
return (
Categories
Browse all medicines & wellness
{/* Featured big banner */}
NEW · 2,400+ ITEMS
Ayurveda store
Curated by Dr. Sharma & team
{cats.map((c) => {
const p = palettes[c.hue];
return (
{c.label}
{c.count} items
);
})}
);
}
// ═════════════════════════════════════════════════════════════
// 16) FILTERS (bottom sheet over dimmed cart/search)
// ═════════════════════════════════════════════════════════════
function ScreenFilters() {
return (
{/* Dimmed background — mock of search list */}
{[0,1,2,3].map(i => (
))}
{/* Scrim */}
{/* Bottom sheet */}
{/* Form: Type */}
Type
{[{l:'Tablets', s: true}, {l:'Syrups', s: false}, {l:'Capsules', s: true}, {l:'Injections', s: false}, {l:'Drops', s: false}, {l:'Ointments', s: false}].map((c, i) => (
{c.s && }
{c.l}
))}
{/* Brand */}
Brand
{[
{ label: 'Cipla', count: 86, on: true },
{ label: 'Sun Pharma', count: 124, on: true },
{ label: 'Dr. Reddy\u2019s', count: 67, on: false },
{ label: 'Pfizer', count: 42, on: false },
].map((b, i) => (
{b.on && }
{b.label}
{b.count}
))}
{/* Price slider */}
{/* Toggles */}
{[
{ label: 'In stock only', sub: 'Hide unavailable items', on: true },
{ label: 'Generic alternatives', sub: 'Show cheaper substitutes', on: true },
].map((t, i) => (
))}
{/* Apply CTA */}
);
}
// ═════════════════════════════════════════════════════════════
// 17) ADDRESSES (list + add)
// ═════════════════════════════════════════════════════════════
function ScreenAddresses() {
const addrs = [
{ label: 'Home', sub: 'Apt 4B, Maple Residency, 100ft Road, Indiranagar, Bengaluru 560038', Icon: IconHome, default: true, hue: 'blue' },
{ label: 'Work', sub: '5th Floor, Prestige Tech Park, Marathahalli, Bengaluru 560103', Icon: IconBox, default: false, hue: 'mint' },
{ label: 'Mom\u2019s place', sub: 'Plot 12, Sector 14, Whitefield, Bengaluru 560066', Icon: IconHeart, default: false, hue: 'rose' },
];
return (
Saved addresses
3 places · used for delivery
{/* Map slot */}
{addrs.map((a, i) => (
{a.label}
{a.default && Default}
{a.sub}
Edit
{!a.default && Set default}
Delete
))}
{/* Add new address */}
Add new address
Home, work, or anywhere else
);
}
// ═════════════════════════════════════════════════════════════
// 18) LAB TESTS booking
// ═════════════════════════════════════════════════════════════
function ScreenLabTests() {
const tests = [
{ name: 'Complete blood count (CBC)', sub: '24 parameters · Fasting not required', price: 320, mrp: 480, hue: 'rose', tag: 'POPULAR' },
{ name: 'HbA1c (Diabetes)', sub: '3-month sugar avg · 12-hr fasting', price: 480, mrp: 650, hue: 'blue', tag: null },
{ name: 'Vitamin D 25-OH', sub: 'Deficiency screening', price: 1080, mrp: 1400, hue: 'amber', tag: null },
{ name: 'Thyroid profile T3 T4 TSH', sub: '3 tests · Morning sample', price: 540, mrp: 720, hue: 'mint', tag: null },
];
return (
{/* Hero */}
Home sample collection,
NABL-accredited labs
⚡ Reports in 12 hrs
• Free sample pickup
{/* Search */}
Search 800+ tests & packages
{/* Quick chips */}
{['Popular', 'Diabetes', 'Heart', 'Thyroid', 'Liver', 'Kidney', 'Women', 'Full body'].map((f, i) => (
{f}
))}
{tests.map((t, i) => (
{t.name}
{t.tag && {t.tag}}
{t.sub}
))}
{/* Packages teaser */}
Full body checkup · 62 tests
Recommended for ages 30+ annually
);
}
// ═════════════════════════════════════════════════════════════
// 19) DOCTOR CONSULTATION
// ═════════════════════════════════════════════════════════════
function ScreenDoctorConsult() {
const specs = [
{ label: 'General', Icon: IconUser, hue: 'blue' },
{ label: 'Skin', Icon: IconHeart, hue: 'rose' },
{ label: 'Pediatrics', Icon: IconShield, hue: 'mint' },
{ label: 'Mental', Icon: IconStar, hue: 'amber' },
];
const docs = [
{ name: 'Dr. Priya Mehta', spec: 'General physician · 12 yrs', rating: '4.9', lang: 'EN · HI · KN', price: 199, available: 'In 4 min', hue: 'blue' },
{ name: 'Dr. Rohan Iyer', spec: 'Dermatologist · 8 yrs', rating: '4.8', lang: 'EN · HI', price: 349, available: 'In 12 min', hue: 'rose' },
{ name: 'Dr. Anjali Rao', spec: 'Pediatrician · 15 yrs', rating: '4.9', lang: 'EN · HI · TA', price: 299, available: 'Tomorrow', hue: 'mint' },
];
return (
Consult a doctor
Video or chat · in minutes
{/* Active consult card (if any) */}
PM
Dr. Priya replied to your chat
2 min ago · Follow-up consultation
{/* Spec grid */}
{docs.map((d, i) => (
{d.name.split(' ').slice(1).map(s => s[0]).join('')}
₹{d.price}
● {d.available}
))}
);
}
Object.assign(window, { ScreenCategories, ScreenFilters, ScreenAddresses, ScreenLabTests, ScreenDoctorConsult });