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
{/* 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;