/* Sample Plans & Virtual Tours + First-time Journey ("What would you like to do next?") */
(function () {
const { useState } = React;
const Icon = window.Icon, PageHead = window.PageHead;
const D = window.YEIDA;
/* ---------------- SAMPLE PLANS & VIRTUAL TOURS ---------------- */
const FILTERS = [
{ key: 'all', label: 'All Plans' },
{ key: 'size', label: 'My Plot Size (300 sq.m)', test: p => p.size === '300 sq.m' },
{ key: 'facing', label: 'My Orientation (East)', test: p => p.facing === 'East' },
{ key: 'tour', label: '3D Walkthrough', test: p => p.tour },
];
function PlanThumb({ accent }) {
return (
);
}
function SamplePlans({ go, toast }) {
const [f, setF] = useState('all');
const active = FILTERS.find(x => x.key === f);
const list = D.samplePlans.filter(p => !active.test || active.test(p));
const [tour, setTour] = useState(null);
return (
{/* hero strip */}
Plot-specific guidance
Plans tailored to Plot B-47
Based on your 300 sq.m east-facing plot in Sector 18, here are orientation- and size-appropriate designs with 3D walkthroughs and virtual tours.
{[['Plot size', '300 sq.m'], ['Facing', 'East'], ['Permissible FAR', '1.5'], ['Max height', '15 m']].map(([l, v]) => (
))}
Immersive 3D Walkthroughs
Tour {D.samplePlans.filter(p => p.tour).length} designs in virtual reality
{/* filters */}
{FILTERS.map(x => )}
{/* plan grid */}
{list.map(p => (
{p.tour &&
}
{p.name}
{p.style}
{p.size}
{p.beds} BHK
{p.floors}
))}
{tour &&
setTour(null)} />}
);
}
function TourModal({ plan, onClose }) {
return (
e.stopPropagation()} className="anim-pop card" style={{ width: 760, maxWidth: '100%', padding: 0, overflow: 'hidden' }}>
{plan.name}
{plan.style} · {plan.size} · {plan.facing} facing
3D Virtual Walkthrough
Immersive tour placeholder — drop in your Matterport / 360° embed
{['Living', 'Bedrooms', 'Kitchen', 'Terrace'].map((r, i) => {r})}
);
}
/* ---------------- JOURNEY: "What would you like to do?" (7 action cards) ---------------- */
function Journey({ go }) {
const COL = { blue: ['var(--blue-50)', 'var(--blue-600)'], navy: ['#e9eefb', 'var(--navy-700)'], amber: ['var(--amber-50)', 'var(--amber-600)'], emerald: ['var(--emerald-50)', 'var(--emerald-700)'] };
return (
What would you like to do?
Your plot is verified, {D.user.firstName}. Choose an action to get started — you can always come back here.
{D.onboardingActions.map((c, i) => {
const cc = COL[c.color];
const wide = i === 6; // last card spans for 7-card balance
return (
);
})}
);
}
Object.assign(window, { SamplePlans, Journey });
})();