mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-17 05:55:00 +08:00
add local echo for clicking 'start verification' button
This commit is contained in:
parent
1edda88351
commit
50b64d8c55
@ -37,6 +37,7 @@ const EncryptionPanel = ({verificationRequest, member, onClose, layout}) => {
|
||||
useEffect(() => {
|
||||
setRequest(verificationRequest);
|
||||
if (verificationRequest) {
|
||||
setRequesting(false);
|
||||
setPhase(verificationRequest.phase);
|
||||
}
|
||||
}, [verificationRequest]);
|
||||
@ -67,7 +68,11 @@ const EncryptionPanel = ({verificationRequest, member, onClose, layout}) => {
|
||||
}, [onClose, request]);
|
||||
useEventEmitter(request, "change", changeHandler);
|
||||
|
||||
// state to show a spinner immediately after clicking "start verification",
|
||||
// before we have a request
|
||||
const [isRequesting, setRequesting] = useState(false);
|
||||
const onStartVerification = useCallback(async () => {
|
||||
setRequesting(true);
|
||||
const cli = MatrixClientPeg.get();
|
||||
const roomId = await ensureDMExists(cli, member.userId);
|
||||
const verificationRequest = await cli.requestVerificationDM(member.userId, roomId);
|
||||
@ -75,9 +80,11 @@ const EncryptionPanel = ({verificationRequest, member, onClose, layout}) => {
|
||||
setPhase(verificationRequest.phase);
|
||||
}, [member.userId]);
|
||||
|
||||
const requested = request && (phase === PHASE_REQUESTED || phase === PHASE_UNSENT || phase === undefined);
|
||||
const initiatedByMe = request && request.initiatedByMe;
|
||||
const requested =
|
||||
(!request && isRequesting) ||
|
||||
(request && (phase === PHASE_REQUESTED || phase === PHASE_UNSENT || phase === undefined));
|
||||
if (!request || requested) {
|
||||
const initiatedByMe = (!request && isRequesting) || (request && request.initiatedByMe);
|
||||
return <EncryptionInfo
|
||||
onStartVerification={onStartVerification}
|
||||
member={member}
|
||||
|
Loading…
Reference in New Issue
Block a user