/* MAISON ALMA — main app Original brand. Fictional ultra-prime Dubai brokerage. Sample listings clearly labelled. No real prices/addresses. */ const { useState, useEffect, useRef, useMemo } = React; // ───────────────── data ───────────────── const ROUTES = ['home', 'development', 'area', 'listing', 'valuation', 'journal', 'about']; const HERO_IMAGES = [ { src: 'media/hero-marina.webp', ref: 'PALM HARBOUR · 04', loc: 'Palm Jumeirah' }, { src: 'media/hero-penthouse.webp', ref: 'DOWNTOWN VIEWS · 11', loc: 'Downtown Dubai' }, { src: 'media/dev-pool.webp', ref: 'OMORIA RESIDENCES · 02', loc: 'Bluewaters Bay' }, ]; const FEATURED_LISTINGS = [ { ref: 'ALM-2607', title: 'Penthouse with Sky Terrace', area: 'Palm Jumeirah', type: 'sale', beds: 5, baths: 6, sqft: 9420, price: 'Price on application', img: 'media/listing-piano.webp', tag: 'Signature', }, { ref: 'ALM-2611', title: 'Beachfront Mansion', area: 'Emirates Hills', type: 'sale', beds: 7, baths: 9, sqft: 18200, price: 'Price on application', img: 'media/villa-pool.webp', tag: 'Mansion', }, { ref: 'ALM-2614', title: 'Marina Apartment', area: 'Dubai Harbour', type: 'sale', beds: 3, baths: 4, sqft: 3680, price: 'Price on application', img: 'media/hero-marina.webp', tag: 'New', }, { ref: 'ALM-2619', title: 'Coastal Residence', area: 'Jumeirah Bay Island', type: 'sale', beds: 4, baths: 5, sqft: 6200, price: 'Price on application', img: 'media/dev-pool.webp', tag: 'Off-plan', }, ]; const AREAS = [ { name: 'Palm Jumeirah', count: 142, img: 'media/area-palm.webp' }, { name: 'Emirates Hills', count: 38, img: 'media/villa-pool.webp' }, { name: 'DIFC & Zabeel', count: 86, img: 'media/area-difc.webp' }, { name: 'Dubai Harbour', count: 64, img: 'media/hero-marina.webp' }, { name: 'Jumeirah Bay Island', count: 21, img: 'media/journal-beach.webp' }, { name: 'Downtown Dubai', count: 117, img: 'media/journal-skyline.webp' }, ]; const JOURNAL = [ { cat: 'Market Insight', title: 'Dubai\u2019s prime market enters a mature phase', img: 'media/journal-skyline.webp', read: '8 min read' }, { cat: 'Neighbourhood', title: 'Inside the next chapter of the Palm', img: 'media/journal-penthouses.webp', read: '6 min read' }, { cat: 'Investment', title: 'The 2026 off-plan playbook', img: 'media/journal-offplan.webp', read: '11 min read' }, ]; const JOURNAL_MORE = [ { cat: 'Architecture', title: 'A masterpiece in the sky: Wedyan', img: 'media/journal-wedyan.webp', read: '7 min read' }, { cat: 'Coastal', title: 'Beachfront communities to watch', img: 'media/journal-beach.webp', read: '5 min read' }, { cat: 'Policy', title: 'The investor visa, explained', img: 'media/journal-investor.webp', read: '4 min read' }, { cat: 'International', title: 'Marbella meets the Gulf', img: 'media/journal-coast.webp', read: '6 min read' }, { cat: 'Design', title: 'The new architectural language of Dubai', img: 'media/journal-masterpiece.webp', read: '9 min read' }, { cat: 'Lifestyle', title: 'Reading a city from its terraces', img: 'media/hero-penthouse.webp', read: '5 min read' }, ]; // ───────────────── nav + shell ───────────────── function Nav({ route, setRoute, tweaks }) { const [scrolled, setScrolled] = useState(false); const [locale, setLocale] = useState('EN'); const dark = route === 'home' || route === 'development' || route === 'listing'; useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 30); window.addEventListener('scroll', onScroll); return () => window.removeEventListener('scroll', onScroll); }, []); const links = [ { id: 'home', label: 'Buy' }, { id: 'area', label: 'Areas' }, { id: 'development', label: 'Off-plan' }, { id: 'listing', label: 'Signature' }, { id: 'journal', label: 'Journal' }, { id: 'valuation', label: 'Sell' }, { id: 'about', label: 'House' }, ]; return ( ); } // ───────────────── home ───────────────── function Home({ setRoute }) { const [idx, setIdx] = useState(0); const [searchTab, setSearchTab] = useState('buy'); useEffect(() => { const t = setInterval(() => setIdx(i => (i + 1) % HERO_IMAGES.length), 6500); return () => clearInterval(t); }, []); return (
A small house of advisors representing Dubai's most considered residences — from the Palm to the Hills, from off-plan launches to one-of-one penthouses.
Sample listings shown — production data is fed live from the listings feed. Pricing is held until a private viewing.
Maison Alma was founded as a small house of prime-residential advisors. Our mandate is narrow by design — Dubai's twelve most considered communities, the launches that matter, and a private register of homes that never reach the open market.
A private valuation is the start of a conversation, not an algorithm. We send an advisor to walk the property — and we come back with a considered figure, not a generated one.