* Add useDeviceList hook Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add isCrossVerified func to matrixUtil Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add className prop in sidebar avatar comp Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add unverified session indicator in sidebar Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add info card component Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add css variables Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add cross signin status hook Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add hasCrossSigninAccountData function Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add cross signin info card in device manage component Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add cross signing and key backup component Signed-off-by: Ajay Bura <ajbura@gmail.com> * Fix typo Signed-off-by: Ajay Bura <ajbura@gmail.com> * WIP Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add cross singing dialogs Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add cross signing set/reset Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add SecretStorageAccess component Signed-off-by: Ajay Bura <ajbura@gmail.com> * Add key backup Signed-off-by: Ajay Bura <ajbura@gmail.com> * WIP * WIP * WIP * WIP * Show progress when restoring key backup * Add SSSS and key backup
26 lines
762 B
JavaScript
26 lines
762 B
JavaScript
/* eslint-disable import/prefer-default-export */
|
|
import { useState, useEffect } from 'react';
|
|
|
|
import initMatrix from '../../client/initMatrix';
|
|
import { hasCrossSigningAccountData } from '../../util/matrixUtil';
|
|
|
|
export function useCrossSigningStatus() {
|
|
const mx = initMatrix.matrixClient;
|
|
const [isCSEnabled, setIsCSEnabled] = useState(hasCrossSigningAccountData());
|
|
|
|
useEffect(() => {
|
|
if (isCSEnabled) return null;
|
|
const handleAccountData = (event) => {
|
|
if (event.getType() === 'm.cross_signing.master') {
|
|
setIsCSEnabled(true);
|
|
}
|
|
};
|
|
|
|
mx.on('accountData', handleAccountData);
|
|
return () => {
|
|
mx.removeListener('accountData', handleAccountData);
|
|
};
|
|
}, [isCSEnabled === false]);
|
|
return isCSEnabled;
|
|
}
|