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

26 lines
682 B
TypeScript
Raw Normal View History

import { MatrixEvent } from 'matrix-js-sdk';
import { useState, useCallback } from 'react';
import { useMatrixClient } from './useMatrixClient';
import { useAccountDataCallback } from './useAccountDataCallback';
export function useAccountData(eventType: string): MatrixEvent | undefined {
const mx = useMatrixClient();
const [event, setEvent] = useState<MatrixEvent | undefined>(
() => (mx as any).getAccountData(eventType) as MatrixEvent | undefined,
);
useAccountDataCallback(
mx,
useCallback(
(evt) => {
if (evt.getType() === eventType) {
setEvent(evt);
}
},
[eventType, setEvent],
),
);
return event;
}