25 lines
712 B
TypeScript
25 lines
712 B
TypeScript
|
|
import { useSetAtom } from 'jotai';
|
||
|
|
import { useCallback } from 'react';
|
||
|
|
import { backupRestoreProgressAtom } from '../state/backupRestore';
|
||
|
|
import { useMatrixClient } from './useMatrixClient';
|
||
|
|
import { useKeyBackupDecryptionKeyCached } from './useKeyBackup';
|
||
|
|
|
||
|
|
export const useRestoreBackupOnVerification = () => {
|
||
|
|
const setRestoreProgress = useSetAtom(backupRestoreProgressAtom);
|
||
|
|
|
||
|
|
const mx = useMatrixClient();
|
||
|
|
|
||
|
|
useKeyBackupDecryptionKeyCached(
|
||
|
|
useCallback(() => {
|
||
|
|
const crypto = mx.getCrypto();
|
||
|
|
if (!crypto) return;
|
||
|
|
|
||
|
|
crypto.restoreKeyBackup({
|
||
|
|
progressCallback(progress) {
|
||
|
|
setRestoreProgress(progress);
|
||
|
|
},
|
||
|
|
});
|
||
|
|
}, [mx, setRestoreProgress])
|
||
|
|
);
|
||
|
|
};
|