24 lines
738 B
TypeScript
24 lines
738 B
TypeScript
import { useCallback } from 'react';
|
|
import { useAtomValue } from 'jotai';
|
|
import { useMatrixClient } from './useMatrixClient';
|
|
import { useCallStart } from './useCallEmbed';
|
|
import { useCallPreferencesAtom } from '../state/hooks/callPreferences';
|
|
|
|
export const useDmCallStart = () => {
|
|
const mx = useMatrixClient();
|
|
const startCall = useCallStart(true, true);
|
|
const callPref = useAtomValue(useCallPreferencesAtom());
|
|
|
|
return useCallback(
|
|
(roomId: string) => {
|
|
const room = mx.getRoom(roomId);
|
|
if (!room) {
|
|
// eslint-disable-next-line no-console
|
|
console.warn('[dm-call] room not found', roomId);
|
|
return;
|
|
}
|
|
startCall(room, callPref);
|
|
},
|
|
[mx, startCall, callPref]
|
|
);
|
|
};
|