import { Room } from 'matrix-js-sdk'; import { useMemo } from 'react'; import { getAllParents } from '../utils/room'; import { useMatrixClient } from './useMatrixClient'; export const useImagePackRooms = ( roomId: string, roomToParents: Map> ): Room[] => { const mx = useMatrixClient(); const imagePackRooms: Room[] = useMemo(() => { const allParentSpaces = [roomId].concat(Array.from(getAllParents(roomToParents, roomId))); return allParentSpaces.reduce((list, rId) => { const r = mx.getRoom(rId); if (r) list.push(r); return list; }, []); }, [mx, roomId, roomToParents]); return imagePackRooms; };