diff --git a/client/components/ArmSwitcher.tsx b/client/components/ArmSwitcher.tsx
index 907b837f..f4e0800d 100644
--- a/client/components/ArmSwitcher.tsx
+++ b/client/components/ArmSwitcher.tsx
@@ -96,6 +96,7 @@ export default function ArmSwitcher() {
const navigate = useNavigate();
const [isExpanded, setIsExpanded] = useState(false);
const [scrollPosition, setScrollPosition] = useState(0);
+ const [isModalOpen, setIsModalOpen] = useState(false);
const handleArmClick = (href: string) => {
navigate(href);
@@ -154,6 +155,31 @@ export default function ArmSwitcher() {
))}
+ {/* Mobile Version - Single Button that opens Fullscreen Modal */}
+
+
+
+
+ {/* Modal for mobile fullscreen arm switching */}
+ {/* Lazy import via component file to keep code organized */}
+ {isModalOpen && (
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore - dynamic import handled at build time
+ require("./ArmSwitcherModal").default ? (
+ // If the module is available, render it
+ //@ts-expect-error
+ React.createElement(require("./ArmSwitcherModal").default, {
+ isOpen: isModalOpen,
+ onClose: () => setIsModalOpen(false),
+ })
+ ) : null
+ )}
>
);
}