import React from 'react'; import { Box, Scroll, Text, toRem } from 'folds'; import { useAtomValue } from 'jotai'; import { RoomCard } from '../../components/room-card'; import { RoomTopicViewer } from '../../components/room-topic-viewer'; import { Page, PageHeader } from '../../components/page'; import { RoomSummaryLoader } from '../../components/RoomSummaryLoader'; import { useRoomNavigate } from '../../hooks/useRoomNavigate'; import { useMatrixClient } from '../../hooks/useMatrixClient'; import { allRoomsAtom } from '../../state/room-list/roomList'; type JoinBeforeNavigateProps = { roomIdOrAlias: string; eventId?: string; viaServers?: string[] }; export function JoinBeforeNavigate({ roomIdOrAlias, eventId, viaServers, }: JoinBeforeNavigateProps) { const mx = useMatrixClient(); const allRooms = useAtomValue(allRoomsAtom); const { navigateRoom, navigateSpace } = useRoomNavigate(); const handleView = (roomId: string) => { if (mx.getRoom(roomId)?.isSpaceRoom()) { navigateSpace(roomId); return; } navigateRoom(roomId, eventId); }; return ( {roomIdOrAlias} {(summary) => ( ( )} onView={handleView} /> )} ); }