import React, { useState } from 'react'; const ClusterDetailLayout = () => { const [selectedElement, setSelectedElement] = useState(null); const elements = { home1: { type: 'home', name: 'Unit A1', beds: 3, sqft: 960, orientation: 'South-facing' }, home2: { type: 'home', name: 'Unit A2', beds: 3, sqft: 960, orientation: 'South-facing' }, home3: { type: 'home', name: 'Unit A3', beds: 3, sqft: 960, orientation: 'Southeast' }, home4: { type: 'home', name: 'Unit A4', beds: 3, sqft: 960, orientation: 'East-facing' }, home5: { type: 'home', name: 'Unit A5', beds: 3, sqft: 960, orientation: 'Northeast' }, home6: { type: 'home', name: 'Unit A6', beds: 3, sqft: 960, orientation: 'North-facing' }, home7: { type: 'home', name: 'Unit A7', beds: 3, sqft: 960, orientation: 'Northwest' }, aquaponics: { type: 'aquaponics', name: 'Aquaponics Container', capacity: '40ft', fish: '300 lbs/yr', greens: '2,100 lbs/yr' }, toolshed: { type: 'shared', name: 'Tool Shed & Storage', sqft: 200, features: 'Garden tools, bike storage, shared equipment' }, gathering: { type: 'shared', name: 'Gathering Pavilion', sqft: 400, features: 'Covered outdoor space, BBQ, community meals' }, garden: { type: 'garden', name: 'Community Garden', sqft: 3500, plots: 14, features: '2 plots per household + communal herbs' }, parking: { type: 'parking', name: 'Parking Court', spaces: 14, ev: 4, features: 'Permeable pavers, EV charging' }, orchard: { type: 'garden', name: 'Mini Orchard', trees: 12, features: 'Dwarf fruit trees, berry bushes' } }; const getElementColor = (type) => { switch(type) { case 'home': return '#f59e0b'; case 'aquaponics': return '#00d9ff'; case 'shared': return '#8b5cf6'; case 'garden': return '#22c55e'; case 'parking': return '#64748b'; default: return '#ffffff'; } }; return (
{/* Header */}

Cluster Detail: "Maple Grove"

7 Triple Trio Units • ~1.5 Acres • Shared Aquaponics + Gardens

{/* Main Site Plan */}

Cluster Site Plan • ~1.5 Acres

{/* Background */} {/* Cluster boundary (informal, organic shape) */} {/* Paths - organic curved walkways */} {/* Parking Court */} setSelectedElement('parking')} className="cursor-pointer"> {/* Parking spaces */} {[0,1,2,3,4,5,6].map((i) => ( ))} {[0,1,2,3,4,5,6].map((i) => ( ))} {/* EV chargers */} {[0,1,2,3].map((i) => ( ))} PARKING (14 + 4 EV) {/* Houses arranged in arc */} {/* Unit A1 - South */} setSelectedElement('home1')} className="cursor-pointer"> {/* Solar */} A1 {/* Unit A2 - Southeast */} setSelectedElement('home2')} className="cursor-pointer"> A2 {/* Unit A3 - East */} setSelectedElement('home3')} className="cursor-pointer"> A3 {/* Unit A4 - Northeast */} setSelectedElement('home4')} className="cursor-pointer"> A4 {/* Unit A5 - North */} setSelectedElement('home5')} className="cursor-pointer"> A5 {/* Unit A6 - Northwest */} setSelectedElement('home6')} className="cursor-pointer"> A6 {/* Unit A7 - West */} setSelectedElement('home7')} className="cursor-pointer"> A7 {/* Community Garden - large area */} setSelectedElement('garden')} className="cursor-pointer"> {/* Garden beds */} {[0,1,2,3].map((row) => ( [0,1].map((col) => ( )) ))} GARDENS {/* Mini Orchard */} setSelectedElement('orchard')} className="cursor-pointer"> {/* Trees */} {[[600,460],[640,460],[580,480],[620,480],[660,480],[600,500],[640,500]].map(([x,y], i) => ( ))} ORCHARD {/* Central Aquaponics Container */} setSelectedElement('aquaponics')} className="cursor-pointer"> AQUAPONICS 40' Container {/* Fish tank icon */} {/* Grow beds icon */} {/* Gathering Pavilion */} setSelectedElement('gathering')} className="cursor-pointer"> PAVILION {/* Tool Shed */} setSelectedElement('toolshed')} className="cursor-pointer"> TOOLS {/* Legend */} LEGEND Triple Trio Home Aquaponics Shared Space Gardens/Orchard Parking {/* Scale */} ~100 ft
{/* Info Panel */}
{/* Selected Element Info */}

{selectedElement ? elements[selectedElement]?.name : 'Click an element'}

{selectedElement && elements[selectedElement] ? (
{Object.entries(elements[selectedElement]).filter(([k]) => k !== 'type' && k !== 'name').map(([key, value]) => (
{key.replace(/([A-Z])/g, ' $1')} {value}
))}
) : (

Click on any element in the site plan to see details

)}
{/* Cluster Totals */}

Cluster Totals

Housing Units 7
Total Living Space 6,720 sf
Residents (est.) 18-24
Cluster Footprint ~1.5 acres
Parking Spaces 14 + 4 EV
{/* Food Production */}

Cluster Food Production

Trout (annual) ~300 lbs
Leafy Greens ~2,100 lbs
Garden Produce ~1,500 lbs
Fruit (mature) ~400 lbs
Per Household/Week ~15 lbs
{/* Design Principles */}

Design Principles

  • Homes face inward to central commons
  • Cars at perimeter, pedestrian interior
  • Aquaponics centrally located for all access
  • Mature trees preserved between homes
  • All homes within 200ft of shared spaces
{/* Triple Trio Detail */}

The Triple Trio Unit: 3-40' Containers = 960 SF Home

3
Bedrooms
Each 8' × 12' minimum
2
Full Bathrooms
One en-suite primary
960
Square Feet
Efficient open layout
$85K
Est. Unit Cost
Containers + fitout

Standard Features

  • • Roof-mounted solar panels (8-10 kW)
  • • Mini-split heating/cooling
  • • Tankless water heater
  • • Full kitchen with Energy Star appliances
  • • Washer/dryer hookups

Community Integration

  • • Smart meter for community microgrid
  • • Rainwater collection to shared cistern
  • • Compost connection to community system
  • • Fiber/wifi to central hub
  • • Weekly produce share allocation

Click elements to explore • Cluster Detail v1

); }; export default ClusterDetailLayout;