import { Redirect, Stack, useLocalSearchParams } from "expo-router"; import { useHostRuntimeBootstrapState } from "@/app/_layout"; import { HostRouteProvider } from "@/navigation/host-route-context"; import { resolveStartupRoute } from "@/navigation/host-runtime-bootstrap"; import { ThemedStack } from "@/navigation/themed-stack"; import { useHostRegistryStatus, useHosts } from "@/runtime/host-runtime"; const HOST_STACK_SCREEN_OPTIONS = { headerShown: false, animation: "none" as const, }; const AGENT_SCREEN_OPTIONS = { gestureEnabled: false }; export default function HostRouteLayout() { return ; } function KnownHostRoute() { const params = useLocalSearchParams<{ serverId?: string | string[] }>(); const hosts = useHosts(); const hostRegistryStatus = useHostRegistryStatus(); const bootstrapState = useHostRuntimeBootstrapState(); const routeServerId = typeof params.serverId === "string" ? params.serverId : null; const startupRoute = resolveStartupRoute({ route: { kind: "host", serverId: routeServerId }, startupBlocker: bootstrapState.startupBlocker, hostRegistryStatus, hosts, }); if (startupRoute.kind === "redirect") { return ; } const stack = ( ); if (!routeServerId) { return stack; } return {stack}; }