From f34becdfe23a3e7b98dc6e0fc9c2d02ccecd951f Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Fri, 7 Nov 2025 19:36:08 +0000 Subject: [PATCH] completionId: cgen-5070b1f4cf33498593c9141307a00da3 cgen-5070b1f4cf33498593c9141307a00da3 --- client/components/ArmSwitcher.tsx | 120 +++++++++++++++++++++++++----- 1 file changed, 102 insertions(+), 18 deletions(-) diff --git a/client/components/ArmSwitcher.tsx b/client/components/ArmSwitcher.tsx index ab2f0e72..f48967df 100644 --- a/client/components/ArmSwitcher.tsx +++ b/client/components/ArmSwitcher.tsx @@ -1,6 +1,6 @@ import { useState, useEffect } from "react"; import { useNavigate } from "react-router-dom"; -import { Zap } from "lucide-react"; +import { Zap, X } from "lucide-react"; interface Arm { id: string; @@ -73,36 +73,120 @@ const LOGO_URLS: Record = { export default function ArmSwitcher() { const navigate = useNavigate(); + const [isExpanded, setIsExpanded] = useState(false); const handleArmClick = (href: string) => { navigate(href); + setIsExpanded(false); }; return ( -
- {ARMS.map((arm) => ( + <> + {/* Desktop Version - Horizontal Layout */} +
+ {ARMS.map((arm) => ( + + ))} +
+ + {/* Mobile Version - Expandable Icon */} +
- ))} -
+ + {/* Expanded Mobile Menu */} + {isExpanded && ( + <> + {/* Backdrop */} +
setIsExpanded(false)} + /> + + {/* Expanded Arms Menu */} +
+
+ {ARMS.map((arm) => ( + + ))} +
+
+ + )} +
+ + + ); }