Files
cinny/src/app/hooks/useJoinedRoomId.ts
T

20 lines
599 B
TypeScript
Raw Normal View History

import { useMemo } from 'react';
import { useMatrixClient } from './useMatrixClient';
import { getCanonicalAliasRoomId, isRoomAlias } from '../utils/matrix';
export const useJoinedRoomId = (allRooms: string[], roomIdOrAlias: string): string | undefined => {
const mx = useMatrixClient();
const joinedRoomId = useMemo(() => {
const roomId = isRoomAlias(roomIdOrAlias)
? getCanonicalAliasRoomId(mx, roomIdOrAlias)
: roomIdOrAlias;
if (roomId && allRooms.includes(roomId)) return roomId;
return undefined;
}, [mx, allRooms, roomIdOrAlias]);
return joinedRoomId;
};