From b3a21af940a0d1e415adeade9b1a4933bc9266a3 Mon Sep 17 00:00:00 2001 From: "Natalie B." <22222885+espeon@users.noreply.github.com> Date: Mon, 23 Mar 2026 18:08:01 -0500 Subject: [PATCH] Add stage switching for AtMoCo --- js/app/components/mobile/bottom-metadata.tsx | 43 ++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/js/app/components/mobile/bottom-metadata.tsx b/js/app/components/mobile/bottom-metadata.tsx index ac2677cbb..924a47d29 100644 --- a/js/app/components/mobile/bottom-metadata.tsx +++ b/js/app/components/mobile/bottom-metadata.tsx @@ -12,8 +12,10 @@ import { useDID, useLivestreamInfo, useLivestreamStore, + useTheme, zero, } from "@streamplace/components"; +import AQLink from "components/aqlink"; import FollowButton from "components/follow-button"; import { Image } from "expo-image"; import { ChevronLeft, ChevronRight } from "lucide-react-native"; @@ -21,6 +23,41 @@ import { Linking, Pressable, View } from "react-native"; import { KebabMenu } from "./desktop-ui/kebab"; const { gap, px, py, colors } = zero; +const ATMOCO_STREAMS = [ + { handle: "stream1.atmosphereconf.org", label: "Great Hall" }, + { handle: "stream2.atmosphereconf.org", label: "Performance Theatre" }, + { handle: "stream3.atmosphereconf.org", label: "Room 2301" }, +]; + +function AtMoCoNav({ currentHandle }: { currentHandle: string }) { + const z = useTheme(); + return ( + + Switch streams: + {ATMOCO_STREAMS.map((stream) => { + const isActive = currentHandle === stream.handle; + return ( + + {stream.label} + + ); + })} + + ); +} + export function BottomMetadata({ setShowChat, showChat, @@ -152,6 +189,12 @@ export function BottomMetadata({ )} )} + + {/* Atmosphere Conference inter-stream navigation. TODO: remove after conf haha */} + {profile?.handle && + ATMOCO_STREAMS.some((s) => s.handle === profile.handle) && ( + + )} ); } -- 2.51.2