use js-sdk qr code generation
This commit is contained in:
parent
c000583099
commit
7b3c34bd12
1 changed files with 10 additions and 24 deletions
|
@ -20,8 +20,8 @@ import { _t } from '../../../languageHandler';
|
||||||
import AccessibleButton from "../elements/AccessibleButton";
|
import AccessibleButton from "../elements/AccessibleButton";
|
||||||
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
import {replaceableComponent} from "../../../utils/replaceableComponent";
|
||||||
import VerificationQRCode from "../elements/crypto/VerificationQRCode";
|
import VerificationQRCode from "../elements/crypto/VerificationQRCode";
|
||||||
import {VerificationRequest} from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";
|
|
||||||
import Spinner from "../elements/Spinner";
|
import Spinner from "../elements/Spinner";
|
||||||
|
import {SCAN_QR_CODE_METHOD} from "matrix-js-sdk/src/crypto/verification/QRCode";
|
||||||
|
|
||||||
@replaceableComponent("views.verification.VerificationQREmojiOptions")
|
@replaceableComponent("views.verification.VerificationQREmojiOptions")
|
||||||
export default class VerificationQREmojiOptions extends React.Component {
|
export default class VerificationQREmojiOptions extends React.Component {
|
||||||
|
@ -31,31 +31,17 @@ export default class VerificationQREmojiOptions extends React.Component {
|
||||||
onStartEmoji: PropTypes.func.isRequired,
|
onStartEmoji: PropTypes.func.isRequired,
|
||||||
};
|
};
|
||||||
|
|
||||||
constructor(props) {
|
|
||||||
super(props);
|
|
||||||
|
|
||||||
this.state = {
|
|
||||||
qrProps: null,
|
|
||||||
};
|
|
||||||
|
|
||||||
this._prepareQrCode(props.request);
|
|
||||||
}
|
|
||||||
|
|
||||||
async _prepareQrCode(request: VerificationRequest) {
|
|
||||||
try {
|
|
||||||
const props = await VerificationQRCode.getPropsForRequest(request);
|
|
||||||
this.setState({qrProps: props});
|
|
||||||
} catch (e) {
|
|
||||||
console.error(e);
|
|
||||||
// We just won't show a QR code
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
let qrCode = <div className='mx_VerificationQREmojiOptions_noQR'><Spinner /></div>;
|
const {request} = this.props;
|
||||||
if (this.state.qrProps) {
|
const showQR = request.otherPartySupportsMethod(SCAN_QR_CODE_METHOD);
|
||||||
qrCode = <VerificationQRCode {...this.state.qrProps} />;
|
|
||||||
|
let qrCode;
|
||||||
|
if (showQR) {
|
||||||
|
qrCode = <VerificationQRCode qrCodeData={request.qrCodeData} />;
|
||||||
|
} else {
|
||||||
|
qrCode = <div className='mx_VerificationQREmojiOptions_noQR'><Spinner /></div>;
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
{_t("Verify this session by completing one of the following:")}
|
{_t("Verify this session by completing one of the following:")}
|
||||||
|
|
Loading…
Reference in a new issue