2022-09-04 13:10:07 +05:30
|
|
|
/* eslint-disable import/prefer-default-export */
|
|
|
|
|
import { useState, useEffect } from 'react';
|
|
|
|
|
|
|
|
|
|
import initMatrix from '../../client/initMatrix';
|
|
|
|
|
|
|
|
|
|
export function useAccountData(eventType) {
|
|
|
|
|
const mx = initMatrix.matrixClient;
|
2022-09-05 08:30:45 +05:30
|
|
|
const [event, setEvent] = useState(mx.getAccountData(eventType));
|
2022-09-04 13:10:07 +05:30
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
const handleChange = (mEvent) => {
|
|
|
|
|
if (mEvent.getType() !== eventType) return;
|
2022-09-05 08:30:45 +05:30
|
|
|
setEvent(mEvent);
|
2022-09-04 13:10:07 +05:30
|
|
|
};
|
|
|
|
|
mx.on('accountData', handleChange);
|
|
|
|
|
return () => {
|
|
|
|
|
mx.removeListener('accountData', handleChange);
|
|
|
|
|
};
|
|
|
|
|
}, [eventType]);
|
|
|
|
|
|
|
|
|
|
return event;
|
|
|
|
|
}
|