// Treatments index + treatment detail page function DSCTreatmentsIndex({ navigate }) { const d = window.DSC_DATA; const [filter, setFilter] = useState("All"); const categories = ["All", ...Array.from(new Set(d.treatments.map((t) => t.category)))]; const visible = filter === "All" ? d.treatments : d.treatments.filter((t) => t.category === filter); return (
Our treatments 12 disciplines · 107 areas of expertise

From a routine clean
to a full smile makeover.

Every page below leads to the dentist who performs that work, the technology behind it, and how to book a consultation. No invented prices — we give a written quote in clinic.

{categories.map((c) => ( ))}
{visible.map((t) => ( { e.preventDefault(); navigate("treatments", { slug: t.slug }); }} /> ))}
); } /* ---------------- Implants detail page (representative) ---------------- */ function DSCTreatmentDetail({ navigate, slug }) { const d = window.DSC_DATA; const t = d.treatments.find((x) => x.slug === slug); if (!t) { return (

Treatment not found.

{ e.preventDefault(); navigate("treatments"); }}>Back to all treatments
); } // The Implants page is the fully written treatment detail; other pages render a generic but complete shell using the same data. const isImplants = slug === "dental-implants"; const detail = isImplants ? d.implantsPage : null; // Map dentists who perform this treatment const performers = d.dentists.filter((dd) => (dd.treatments || []).includes(slug)); return (
{ e.preventDefault(); navigate("home"); }}>Home / { e.preventDefault(); navigate("treatments"); }}>Treatments / {t.name}
{t.category}

{t.name}.

{detail && (

{detail.lede}

)} {!detail && (

{t.blurb} A full page is being prepared — meanwhile, book a consultation and we will walk you through the approach in person.

)}
{ e.preventDefault(); navigate("book", { treatment: slug }); }}> Book a consultation → WhatsApp the clinic
{/* APPROACH (implants only — others fall back to a financing teaser) */} {detail && (
Planned in software, placed once.} />
{detail.approach.map((a, i) => (
0{i+1} · {String(a.h).toUpperCase()}
{a.h}
{a.b}
))}
)} {/* DENTISTS WHO PERFORM */} {performers.length > 0 && (
Trained where it counts.} />
{performers.slice(0, 4).map((doc) => ( { e.preventDefault(); navigate("dentists", { slug: doc.slug }); }} /> ))}
)} {/* BEFORE / AFTER PLACEHOLDER */}
Real patients, with consent.} />
{[0,1,2].map((i) => (
before · after · placeholder
))}

We do not publish before/after imagery without explicit patient consent. Client to supply consented gallery.

{/* FINANCING */}
Cost & financing

Quoted in clinic. Never on the internet.

{isImplants ? "Implant cases vary by bone, units, and crown specification. We give a written quote at consultation, then Tabby splits it into four." : "We quote in clinic, after assessment. Tabby instalments are available on higher-ticket treatment."}

{/* FAQ */} {detail && (
Most people ask this.} />
)} {/* BOOKING CTA */}
Next step

Book a consultation. That's it.

45 minutes at Burjuman. A scan, a written plan, an honest quote — no commitment.

{ e.preventDefault(); navigate("book", { treatment: slug }); }}> Book a consultation → WhatsApp instead
); } function DSCFaqList({ items }) { const [open, setOpen] = useState(0); return (
{items.map((f, i) => (
{f.a}
))}
); } window.DSCTreatmentsIndex = DSCTreatmentsIndex; window.DSCTreatmentDetail = DSCTreatmentDetail;