/* Find Us page — branch switcher with map highlight */
const BRANCHES = [
{
key: 'bukit-jelutong', label: 'Bukit Jelutong', color: 'orange',
address: 'Jalan Indah, Bukit Jelutong, 40150 Shah Alam, Selangor',
hours: 'Mon – Thu · 7:00am – 6:30pm\nFriday · 7:00am – 6:00pm',
instagram: '@mahirdhuha.bj',
fb: 'https://www.facebook.com/MDBukitJelutong/',
coord: { x: 28, y: 52 },
lead: 'Our flagship branch — leafy, green and right in the heart of Bukit Jelutong.',
landmarks: ['Walking distance from Bukit Jelutong Mosque', '5 min from Aeon Bukit Raja', 'Spacious outdoor playground'],
},
{
key: 'kota-damansara', label: 'Kota Damansara', color: 'sky',
address: 'Seksyen 19, Kota Damansara, 47810 Petaling Jaya, Selangor',
hours: 'Mon – Thu · 7:00am – 6:30pm\nFriday · 7:00am – 6:00pm',
instagram: '@mahirdhuha.kd · @mahirdhuha19',
fb: 'https://www.facebook.com/',
coord: { x: 42, y: 38 },
lead: 'A bright, modern campus serving Kota Damansara families since 2018.',
landmarks: ['Near Sunway Giza Mall', 'Easy access from NKVE & LDP', 'Indoor & outdoor learning zones'],
},
{
key: 'cyberjaya', label: 'Cyberjaya', color: 'mint',
address: 'Cyberjaya, 63000 Cyberjaya, Selangor',
hours: 'Mon – Thu · 7:00am – 6:30pm\nFriday · 7:00am – 6:00pm',
instagram: '@mahirdhuha.cj',
fb: 'https://www.facebook.com/',
coord: { x: 56, y: 78 },
lead: 'Our newest home — purpose-built for the families of Cyberjaya & Putrajaya.',
landmarks: ['Close to Cyberjaya MRT', '10 min from Putrajaya Mosque', 'Brand new facilities'],
},
];
function FindHero() {
return (
Find Us
Three campuses, one family
Visit us, take a tour, and meet the team. We'd love to show you around.
);
}
function StylizedMap({ active, setActive }) {
return (
{/* Region labels */}
SHAH ALAM
PETALING JAYA
PUTRAJAYA
KLIA →
{/* Pins */}
{BRANCHES.map(b => {
const isActive = active === b.key;
const palette = b.color === 'orange' ? '#FF6A1A' : b.color === 'sky' ? '#7AC8DC' : '#A8D14E';
return (
);
})}
{/* Compass */}
);
}
function BranchInfo({ b, onEnroll }) {
const palette = b.color === 'orange' ? '#FF6A1A' : b.color === 'sky' ? '#7AC8DC' : '#A8D14E';
return (
{b.label}
{b.lead}
Nearby
{b.landmarks.map((l, i) => (
-
✦ {l}
))}
);
}
function InfoRow({ icon, label, value }) {
return (
);
}
function FindUsApp() {
// read ?b= query string for deep linking
const initial = (() => {
const m = (typeof window !== 'undefined') && window.location.search.match(/b=([^&]+)/);
return m && BRANCHES.find(b => b.key === m[1]) ? m[1] : 'bukit-jelutong';
})();
const [active, setActive] = useState(initial);
const [enrollOpen, setEnrollOpen] = useState(false);
const branch = BRANCHES.find(b => b.key === active);
return (
setEnrollOpen(true)} />
{BRANCHES.map(b => (
))}
setEnrollOpen(true)} />
Can't decide which branch?
Send us a quick message — we'll help you pick the closest, recommend a tour time, and answer any questions.
setEnrollOpen(false)} />
);
}
ReactDOM.createRoot(document.getElementById('root')).render();