diff --git a/src/app/hooks/storage/useRoomAccountData.ts b/src/app/hooks/storage/useRoomAccountData.ts new file mode 100644 index 00000000..d7344144 --- /dev/null +++ b/src/app/hooks/storage/useRoomAccountData.ts @@ -0,0 +1,20 @@ +import { PendingObservableResult } from 'neurone/lib/utils/observable'; +import { useMemo } from 'react'; +import { JoinAccountDataObject } from '../../../client/storage/collections'; +import { useClient } from '../useClient'; +import { useObservableValuePromise } from '../useObservableValue'; + +export const useRoomAccountData = ( + roomId: string +): PendingObservableResult => { + const ct = useClient(); + + const eventsPromise = useMemo( + () => ct.storage.joinAccountData.observableRead.queryIndex('roomId', roomId), + [ct, roomId] + ); + + const eventsResult = useObservableValuePromise(eventsPromise); + + return eventsResult; +};