diff --git a/src/components/ui/Cube.tsx b/src/components/ui/Cube.tsx index bf93d4a..fc5de2b 100644 --- a/src/components/ui/Cube.tsx +++ b/src/components/ui/Cube.tsx @@ -11,6 +11,7 @@ interface CubeProps { index: number; onHover: () => void; onLeave: () => void; + onClick: () => void; } const CubeSvg: React.FC & { index: number }> = ({ index, ...props }) => ( @@ -42,13 +43,14 @@ const CubeSvg: React.FC & { index: number }> = ({ ); -export function Cube({ title, descriptionTitle, description, isActive, index, onHover, onLeave }: CubeProps) { +export function Cube({ title, descriptionTitle, description, isActive, index, onHover, onLeave, onClick }: CubeProps) { return (
-
-

- {descriptionTitle} -

-

- {description} -

-
-
- )} - +
); } diff --git a/src/components/ui/StackedCubes.tsx b/src/components/ui/StackedCubes.tsx index f0f6f95..cb33333 100644 --- a/src/components/ui/StackedCubes.tsx +++ b/src/components/ui/StackedCubes.tsx @@ -33,14 +33,22 @@ const stackData = [ export function StackedCubes() { const [active, setActive] = useState("agent"); + const [selectedForMobile, setSelectedForMobile] = useState(null); + + const handleCubeClick = (id: string) => { + setSelectedForMobile(prev => (prev === id ? null : id)); + }; + + const selectedMobileLayer = stackData.find(layer => layer.id === selectedForMobile); return ( +
setActive("agent")} > @@ -66,10 +74,22 @@ export function StackedCubes() { index={index} onHover={() => setActive(layer.id)} onLeave={() => {}} + onClick={() => handleCubeClick(layer.id)} />
))}
+ {selectedMobileLayer && ( +
+

+ {selectedMobileLayer.descriptionTitle} +

+

+ {selectedMobileLayer.description} +

+
+ )} + ); }