Auto-fix lint errors

This commit is contained in:
J. Ryan Stinnett 2021-06-29 13:11:58 +01:00
parent 4c5720a573
commit ae0a8b8da4
625 changed files with 3170 additions and 3232 deletions

View file

@ -14,16 +14,16 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import React, {ReactNode} from 'react';
import React, { ReactNode } from 'react';
import classNames from 'classnames';
import AutoHideScrollbar from "../../structures/AutoHideScrollbar";
import {_t} from "../../../languageHandler";
import { _t } from "../../../languageHandler";
import AccessibleButton from "../elements/AccessibleButton";
import defaultDispatcher from "../../../dispatcher/dispatcher";
import {SetRightPanelPhasePayload} from "../../../dispatcher/payloads/SetRightPanelPhasePayload";
import {Action} from "../../../dispatcher/actions";
import {RightPanelPhases} from "../../../stores/RightPanelStorePhases";
import { SetRightPanelPhasePayload } from "../../../dispatcher/payloads/SetRightPanelPhasePayload";
import { Action } from "../../../dispatcher/actions";
import { RightPanelPhases } from "../../../stores/RightPanelStorePhases";
interface IProps {
header?: ReactNode;

View file

@ -21,7 +21,7 @@ import { _t } from "../../../languageHandler";
import { RoomMember } from "matrix-js-sdk/src/models/room-member";
import { User } from "matrix-js-sdk/src/models/user";
export const PendingActionSpinner = ({text}) => {
export const PendingActionSpinner = ({ text }) => {
const Spinner = sdk.getComponent('elements.Spinner');
return <div className="mx_EncryptionInfo_spinner">
<Spinner />

View file

@ -48,7 +48,7 @@ export default class GroupHeaderButtons extends HeaderButtons {
protected onAction(payload: ActionPayload) {
if (payload.action === Action.ViewUser) {
if ((payload as ViewUserPayload).member) {
this.setPhase(RightPanelPhases.RoomMemberInfo, {member: payload.member});
this.setPhase(RightPanelPhases.RoomMemberInfo, { member: payload.member });
} else {
this.setPhase(RightPanelPhases.GroupMemberList);
}
@ -57,14 +57,14 @@ export default class GroupHeaderButtons extends HeaderButtons {
} else if (payload.action === "view_group_room") {
this.setPhase(
RightPanelPhases.GroupRoomInfo,
{groupRoomId: payload.groupRoomId, groupId: payload.groupId},
{ groupRoomId: payload.groupRoomId, groupId: payload.groupId },
);
} else if (payload.action === "view_group_room_list") {
this.setPhase(RightPanelPhases.GroupRoomList);
} else if (payload.action === "view_group_member_list") {
this.setPhase(RightPanelPhases.GroupMemberList);
} else if (payload.action === "view_group_user") {
this.setPhase(RightPanelPhases.GroupMemberInfo, {member: payload.member});
this.setPhase(RightPanelPhases.GroupMemberInfo, { member: payload.member });
}
}

View file

@ -48,7 +48,7 @@ export default class HeaderButton extends React.Component<IProps> {
public render() {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const {isHighlighted, onClick, analytics, name, title, ...props} = this.props;
const { isHighlighted, onClick, analytics, name, title, ...props } = this.props;
const classes = classNames({
mx_RightPanel_headerButton: true,

View file

@ -88,9 +88,9 @@ export default abstract class HeaderButtons<P = {}> extends React.Component<IPro
private onRightPanelUpdate() {
const rps = RightPanelStore.getSharedInstance();
if (this.state.headerKind === HeaderKind.Room) {
this.setState({phase: rps.visibleRoomPanelPhase});
this.setState({ phase: rps.visibleRoomPanelPhase });
} else if (this.state.headerKind === HeaderKind.Group) {
this.setState({phase: rps.visibleGroupPanelPhase});
this.setState({ phase: rps.visibleGroupPanelPhase });
}
}

View file

@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import React, {useCallback, useContext, useEffect, useState} from "react";
import React, { useCallback, useContext, useEffect, useState } from "react";
import { Room } from "matrix-js-sdk/src/models/room";
import { MatrixEvent } from "matrix-js-sdk/src/models/event";
import { EventType } from 'matrix-js-sdk/src/@types/event';

View file

@ -77,13 +77,13 @@ export default class RoomHeaderButtons extends HeaderButtons<IProps> {
protected onAction(payload: ActionPayload) {
if (payload.action === Action.ViewUser) {
if (payload.member) {
this.setPhase(RightPanelPhases.RoomMemberInfo, {member: payload.member});
this.setPhase(RightPanelPhases.RoomMemberInfo, { member: payload.member });
} else {
this.setPhase(RightPanelPhases.RoomMemberList);
}
} else if (payload.action === "view_3pid_invite") {
if (payload.event) {
this.setPhase(RightPanelPhases.Room3pidMemberInfo, {event: payload.event});
this.setPhase(RightPanelPhases.Room3pidMemberInfo, { event: payload.event });
} else {
this.setPhase(RightPanelPhases.RoomMemberList);
}

View file

@ -14,9 +14,9 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import React, {useCallback, useState, useEffect, useContext} from "react";
import React, { useCallback, useState, useEffect, useContext } from "react";
import classNames from "classnames";
import {Room} from "matrix-js-sdk/src/models/room";
import { Room } from "matrix-js-sdk/src/models/room";
import MatrixClientContext from "../../../contexts/MatrixClientContext";
import { useIsEncrypted } from '../../../hooks/useIsEncrypted';
@ -25,25 +25,25 @@ import { _t } from '../../../languageHandler';
import RoomAvatar from "../avatars/RoomAvatar";
import AccessibleButton from "../elements/AccessibleButton";
import defaultDispatcher from "../../../dispatcher/dispatcher";
import {Action} from "../../../dispatcher/actions";
import {RightPanelPhases} from "../../../stores/RightPanelStorePhases";
import {SetRightPanelPhasePayload} from "../../../dispatcher/payloads/SetRightPanelPhasePayload";
import { Action } from "../../../dispatcher/actions";
import { RightPanelPhases } from "../../../stores/RightPanelStorePhases";
import { SetRightPanelPhasePayload } from "../../../dispatcher/payloads/SetRightPanelPhasePayload";
import Modal from "../../../Modal";
import ShareDialog from '../dialogs/ShareDialog';
import {useEventEmitter} from "../../../hooks/useEventEmitter";
import { useEventEmitter } from "../../../hooks/useEventEmitter";
import WidgetUtils from "../../../utils/WidgetUtils";
import {IntegrationManagers} from "../../../integrations/IntegrationManagers";
import { IntegrationManagers } from "../../../integrations/IntegrationManagers";
import SettingsStore from "../../../settings/SettingsStore";
import TextWithTooltip from "../elements/TextWithTooltip";
import WidgetAvatar from "../avatars/WidgetAvatar";
import AccessibleTooltipButton from "../elements/AccessibleTooltipButton";
import WidgetStore, {IApp} from "../../../stores/WidgetStore";
import WidgetStore, { IApp } from "../../../stores/WidgetStore";
import { E2EStatus } from "../../../utils/ShieldUtils";
import RoomContext from "../../../contexts/RoomContext";
import {UIFeature} from "../../../settings/UIFeature";
import {ChevronFace, ContextMenuTooltipButton, useContextMenu} from "../../structures/ContextMenu";
import { UIFeature } from "../../../settings/UIFeature";
import { ChevronFace, ContextMenuTooltipButton, useContextMenu } from "../../structures/ContextMenu";
import WidgetContextMenu from "../context_menus/WidgetContextMenu";
import {useRoomMemberCount} from "../../../hooks/useRoomMembers";
import { useRoomMemberCount } from "../../../hooks/useRoomMembers";
import { Container, MAX_PINNED, WidgetLayoutStore } from "../../../stores/widgets/WidgetLayoutStore";
import RoomName from "../elements/RoomName";
import UIStore from "../../../stores/UIStore";

View file

@ -164,7 +164,7 @@ function useHasCrossSigningKeys(cli: MatrixClient, member: User, canVerify: bool
}, [cli, member, canVerify], undefined);
}
function DeviceItem({userId, device}: {userId: string, device: IDevice}) {
function DeviceItem({ userId, device }: {userId: string, device: IDevice}) {
const cli = useContext(MatrixClientContext);
const isMe = userId === cli.getUserId();
const deviceTrust = cli.checkDeviceTrust(userId, device.deviceId);
@ -202,7 +202,6 @@ function DeviceItem({userId, device}: {userId: string, device: IDevice}) {
let trustedLabel = null;
if (userTrust.isVerified()) trustedLabel = isVerified ? _t("Trusted") : _t("Not trusted");
if (isVerified) {
return (
<div className={classes} title={device.deviceId} >
@ -226,7 +225,7 @@ function DeviceItem({userId, device}: {userId: string, device: IDevice}) {
}
}
function DevicesSection({devices, userId, loading}: {devices: IDevice[], userId: string, loading: boolean}) {
function DevicesSection({ devices, userId, loading }: {devices: IDevice[], userId: string, loading: boolean}) {
const cli = useContext(MatrixClientContext);
const userTrust = cli.checkUserTrust(userId);
@ -266,12 +265,12 @@ function DevicesSection({devices, userId, loading}: {devices: IDevice[], userId:
unverifiedDevices.push(device);
}
}
expandCountCaption = _t("%(count)s verified sessions", {count: expandSectionDevices.length});
expandCountCaption = _t("%(count)s verified sessions", { count: expandSectionDevices.length });
expandHideCaption = _t("Hide verified sessions");
expandIconClasses += " mx_E2EIcon_verified";
} else {
expandSectionDevices = devices;
expandCountCaption = _t("%(count)s sessions", {count: devices.length});
expandCountCaption = _t("%(count)s sessions", { count: devices.length });
expandHideCaption = _t("Hide sessions");
expandIconClasses += " mx_E2EIcon_normal";
}
@ -317,7 +316,7 @@ const UserOptionsSection: React.FC<{
isIgnored: boolean;
canInvite: boolean;
isSpace?: boolean;
}> = ({member, isIgnored, canInvite, isSpace}) => {
}> = ({ member, isIgnored, canInvite, isSpace }) => {
const cli = useContext(MatrixClientContext);
let ignoreButton = null;
@ -351,7 +350,7 @@ const UserOptionsSection: React.FC<{
ignoreButton = (
<AccessibleButton
onClick={onIgnoreToggle}
className={classNames("mx_UserInfo_field", {mx_UserInfo_destructive: !isIgnored})}
className={classNames("mx_UserInfo_field", { mx_UserInfo_destructive: !isIgnored })}
>
{ isIgnored ? _t("Unignore") : _t("Ignore") }
</AccessibleButton>
@ -450,7 +449,7 @@ const UserOptionsSection: React.FC<{
};
const warnSelfDemote = async (isSpace: boolean) => {
const {finished} = Modal.createTrackedDialog('Demoting Self', '', QuestionDialog, {
const { finished } = Modal.createTrackedDialog('Demoting Self', '', QuestionDialog, {
title: _t("Demote yourself?"),
description:
<div>
@ -469,7 +468,7 @@ const warnSelfDemote = async (isSpace: boolean) => {
return confirmed;
};
const GenericAdminToolsContainer: React.FC<{}> = ({children}) => {
const GenericAdminToolsContainer: React.FC<{}> = ({ children }) => {
return (
<div className="mx_UserInfo_container">
<h3>{ _t("Admin Tools") }</h3>
@ -530,14 +529,14 @@ interface IBaseProps {
stopUpdating(): void;
}
const RoomKickButton: React.FC<IBaseProps> = ({member, startUpdating, stopUpdating}) => {
const RoomKickButton: React.FC<IBaseProps> = ({ member, startUpdating, stopUpdating }) => {
const cli = useContext(MatrixClientContext);
// check if user can be kicked/disinvited
if (member.membership !== "invite" && member.membership !== "join") return null;
const onKick = async () => {
const {finished} = Modal.createTrackedDialog(
const { finished } = Modal.createTrackedDialog(
'Confirm User Action Dialog',
'onKick',
ConfirmUserActionDialog,
@ -575,11 +574,11 @@ const RoomKickButton: React.FC<IBaseProps> = ({member, startUpdating, stopUpdati
</AccessibleButton>;
};
const RedactMessagesButton: React.FC<IBaseProps> = ({member}) => {
const RedactMessagesButton: React.FC<IBaseProps> = ({ member }) => {
const cli = useContext(MatrixClientContext);
const onRedactAllMessages = async () => {
const {roomId, userId} = member;
const { roomId, userId } = member;
const room = cli.getRoom(roomId);
if (!room) {
return;
@ -607,23 +606,23 @@ const RedactMessagesButton: React.FC<IBaseProps> = ({member}) => {
if (count === 0) {
Modal.createTrackedDialog('No user messages found to remove', '', InfoDialog, {
title: _t("No recent messages by %(user)s found", {user}),
title: _t("No recent messages by %(user)s found", { user }),
description:
<div>
<p>{ _t("Try scrolling up in the timeline to see if there are any earlier ones.") }</p>
</div>,
});
} else {
const {finished} = Modal.createTrackedDialog('Remove recent messages by user', '', QuestionDialog, {
title: _t("Remove recent messages by %(user)s", {user}),
const { finished } = Modal.createTrackedDialog('Remove recent messages by user', '', QuestionDialog, {
title: _t("Remove recent messages by %(user)s", { user }),
description:
<div>
<p>{ _t("You are about to remove %(count)s messages by %(user)s. " +
"This cannot be undone. Do you wish to continue?", {count, user}) }</p>
"This cannot be undone. Do you wish to continue?", { count, user }) }</p>
<p>{ _t("For a large amount of messages, this might take some time. " +
"Please don't refresh your client in the meantime.") }</p>
</div>,
button: _t("Remove %(count)s messages", {count}),
button: _t("Remove %(count)s messages", { count }),
});
const [confirmed] = await finished;
@ -654,11 +653,11 @@ const RedactMessagesButton: React.FC<IBaseProps> = ({member}) => {
</AccessibleButton>;
};
const BanToggleButton: React.FC<IBaseProps> = ({member, startUpdating, stopUpdating}) => {
const BanToggleButton: React.FC<IBaseProps> = ({ member, startUpdating, stopUpdating }) => {
const cli = useContext(MatrixClientContext);
const onBanOrUnban = async () => {
const {finished} = Modal.createTrackedDialog(
const { finished } = Modal.createTrackedDialog(
'Confirm User Action Dialog',
'onBanOrUnban',
ConfirmUserActionDialog,
@ -715,7 +714,7 @@ interface IBaseRoomProps extends IBaseProps {
powerLevels: IPowerLevelsContent;
}
const MuteToggleButton: React.FC<IBaseRoomProps> = ({member, room, powerLevels, startUpdating, stopUpdating}) => {
const MuteToggleButton: React.FC<IBaseRoomProps> = ({ member, room, powerLevels, startUpdating, stopUpdating }) => {
const cli = useContext(MatrixClientContext);
// Don't show the mute/unmute option if the user is not in the room
@ -862,7 +861,7 @@ const GroupAdminToolsSection: React.FC<{
groupMember: GroupMember;
startUpdating(): void;
stopUpdating(): void;
}> = ({children, groupId, groupMember, startUpdating, stopUpdating}) => {
}> = ({ children, groupId, groupMember, startUpdating, stopUpdating }) => {
const cli = useContext(MatrixClientContext);
const [isPrivileged, setIsPrivileged] = useState(false);
@ -891,7 +890,7 @@ const GroupAdminToolsSection: React.FC<{
if (isPrivileged) {
const onKick = async () => {
const {finished} = Modal.createDialog(ConfirmUserActionDialog, {
const { finished } = Modal.createDialog(ConfirmUserActionDialog, {
matrixClient: cli,
groupMember,
action: isInvited ? _t('Disinvite') : _t('Remove from community'),
@ -1029,7 +1028,7 @@ const PowerLevelSection: React.FC<{
room: Room;
roomPermissions: IRoomPermissions;
powerLevels: IPowerLevelsContent;
}> = ({user, room, roomPermissions, powerLevels}) => {
}> = ({ user, room, roomPermissions, powerLevels }) => {
if (roomPermissions.canEdit) {
return (<PowerLevelEditor user={user} room={room} roomPermissions={roomPermissions} />);
} else {
@ -1048,7 +1047,7 @@ const PowerLevelEditor: React.FC<{
user: RoomMember;
room: Room;
roomPermissions: IRoomPermissions;
}> = ({user, room, roomPermissions}) => {
}> = ({ user, room, roomPermissions }) => {
const cli = useContext(MatrixClientContext);
const [selectedPowerLevel, setSelectedPowerLevel] = useState(user.powerLevel);
@ -1081,7 +1080,7 @@ const PowerLevelEditor: React.FC<{
const myUserId = cli.getUserId();
const myPower = powerLevelEvent.getContent().users[myUserId];
if (myPower && parseInt(myPower) === powerLevel) {
const {finished} = Modal.createTrackedDialog('Promote to PL100 Warning', '', QuestionDialog, {
const { finished } = Modal.createTrackedDialog('Promote to PL100 Warning', '', QuestionDialog, {
title: _t("Warning!"),
description:
<div>
@ -1198,7 +1197,7 @@ const BasicUserInfo: React.FC<{
groupId: string;
devices: IDevice[];
isRoomEncrypted: boolean;
}> = ({room, member, groupId, devices, isRoomEncrypted}) => {
}> = ({ room, member, groupId, devices, isRoomEncrypted }) => {
const cli = useContext(MatrixClientContext);
const powerLevels = useRoomPowerLevels(cli, room);
@ -1231,7 +1230,7 @@ const BasicUserInfo: React.FC<{
const roomPermissions = useRoomPermissions(cli, room, member as RoomMember);
const onSynapseDeactivate = useCallback(async () => {
const {finished} = Modal.createTrackedDialog('Synapse User Deactivation', '', QuestionDialog, {
const { finished } = Modal.createTrackedDialog('Synapse User Deactivation', '', QuestionDialog, {
title: _t("Deactivate user?"),
description:
<div>{ _t(
@ -1382,7 +1381,7 @@ const BasicUserInfo: React.FC<{
}}>
{ _t("Edit devices") }
</AccessibleButton>
</p>)
</p>);
}
const securitySection = (
@ -1420,7 +1419,7 @@ type Member = User | RoomMember | GroupMember;
const UserInfoHeader: React.FC<{
member: Member;
e2eStatus: E2EStatus;
}> = ({member, e2eStatus}) => {
}> = ({ member, e2eStatus }) => {
const cli = useContext(MatrixClientContext);
const onMemberAvatarClick = useCallback(() => {
@ -1567,7 +1566,7 @@ const UserInfo: React.FC<IProps> = ({
// We have no previousPhase for when viewing a UserInfo from a Group or without a Room at this time
if (room && phase === RightPanelPhases.EncryptionPanel) {
previousPhase = RightPanelPhases.RoomMemberInfo;
refireParams = {member: member};
refireParams = { member: member };
} else if (room) {
previousPhase = previousPhase = SettingsStore.getValue("feature_spaces") && room.isSpaceRoom()
? RightPanelPhases.SpaceMemberList
@ -1580,7 +1579,7 @@ const UserInfo: React.FC<IProps> = ({
phase: previousPhase,
refireParams: refireParams,
});
}
};
let content;
switch (phase) {

View file

@ -16,18 +16,18 @@ limitations under the License.
import React from "react";
import {MatrixClientPeg} from "../../../MatrixClientPeg";
import { MatrixClientPeg } from "../../../MatrixClientPeg";
import * as sdk from '../../../index';
import {verificationMethods} from 'matrix-js-sdk/src/crypto';
import {SCAN_QR_CODE_METHOD} from "matrix-js-sdk/src/crypto/verification/QRCode";
import {VerificationRequest} from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";
import {RoomMember} from "matrix-js-sdk/src/models/room-member";
import { verificationMethods } from 'matrix-js-sdk/src/crypto';
import { SCAN_QR_CODE_METHOD } from "matrix-js-sdk/src/crypto/verification/QRCode";
import { VerificationRequest } from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";
import { RoomMember } from "matrix-js-sdk/src/models/room-member";
import { User } from "matrix-js-sdk/src/models/user";
import {ReciprocateQRCode} from "matrix-js-sdk/src/crypto/verification/QRCode";
import {SAS} from "matrix-js-sdk/src/crypto/verification/SAS";
import { ReciprocateQRCode } from "matrix-js-sdk/src/crypto/verification/QRCode";
import { SAS } from "matrix-js-sdk/src/crypto/verification/SAS";
import VerificationQRCode from "../elements/crypto/VerificationQRCode";
import {_t} from "../../../languageHandler";
import { _t } from "../../../languageHandler";
import SdkConfig from "../../../SdkConfig";
import E2EIcon from "../rooms/E2EIcon";
import {
@ -37,7 +37,7 @@ import {
PHASE_CANCELLED,
} from "matrix-js-sdk/src/crypto/verification/request/VerificationRequest";
import Spinner from "../elements/Spinner";
import {replaceableComponent} from "../../../utils/replaceableComponent";
import { replaceableComponent } from "../../../utils/replaceableComponent";
// XXX: Should be defined in matrix-js-sdk
enum VerificationPhase {
@ -78,7 +78,7 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
}
private renderQRPhase() {
const {member, request} = this.props;
const { member, request } = this.props;
const showSAS: boolean = request.otherPartySupportsMethod(verificationMethods.SAS);
const showQR: boolean = request.otherPartySupportsMethod(SCAN_QR_CODE_METHOD);
const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
@ -179,12 +179,12 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
}
private onReciprocateYesClick = () => {
this.setState({reciprocateButtonClicked: true});
this.setState({ reciprocateButtonClicked: true });
this.state.reciprocateQREvent.confirm();
};
private onReciprocateNoClick = () => {
this.setState({reciprocateButtonClicked: true});
this.setState({ reciprocateButtonClicked: true });
this.state.reciprocateQREvent.cancel();
};
@ -194,7 +194,7 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
}
private renderQRReciprocatePhase() {
const {member, request} = this.props;
const { member, request } = this.props;
const AccessibleButton = sdk.getComponent("elements.AccessibleButton");
const description = request.isSelfVerification ?
_t("Almost there! Is your other session showing the same shield?") :
@ -234,7 +234,7 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
}
private renderVerifiedPhase() {
const {member, request} = this.props;
const { member, request } = this.props;
let text: string;
if (!request.isSelfVerification) {
@ -280,7 +280,7 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
}
private renderCancelledPhase() {
const {member, request} = this.props;
const { member, request } = this.props;
const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
@ -320,7 +320,7 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
}
public render() {
const {member, phase, request} = this.props;
const { member, phase, request } = this.props;
const displayName = (member as User).displayName || (member as RoomMember).name || member.userId;
@ -361,7 +361,7 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
}
private startSAS = async () => {
this.setState({emojiButtonClicked: true});
this.setState({ emojiButtonClicked: true });
const verifier = this.props.request.beginKeyVerification(verificationMethods.SAS);
try {
await verifier.verify();
@ -379,15 +379,15 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
};
private updateVerifierState = () => {
const {request} = this.props;
const {sasEvent, reciprocateQREvent} = request.verifier;
const { request } = this.props;
const { sasEvent, reciprocateQREvent } = request.verifier;
request.verifier.off('show_sas', this.updateVerifierState);
request.verifier.off('show_reciprocate_qr', this.updateVerifierState);
this.setState({sasEvent, reciprocateQREvent});
this.setState({ sasEvent, reciprocateQREvent });
};
private onRequestChange = async () => {
const {request} = this.props;
const { request } = this.props;
const hadVerifier = this.hasVerifier;
this.hasVerifier = !!request.verifier;
if (!hadVerifier && this.hasVerifier) {
@ -404,17 +404,17 @@ export default class VerificationPanel extends React.PureComponent<IProps, IStat
};
public componentDidMount() {
const {request} = this.props;
const { request } = this.props;
request.on("change", this.onRequestChange);
if (request.verifier) {
const {sasEvent, reciprocateQREvent} = request.verifier;
this.setState({sasEvent, reciprocateQREvent});
const { sasEvent, reciprocateQREvent } = request.verifier;
this.setState({ sasEvent, reciprocateQREvent });
}
this.onRequestChange();
}
public componentWillUnmount() {
const {request} = this.props;
const { request } = this.props;
if (request.verifier) {
request.verifier.off('show_sas', this.updateVerifierState);
request.verifier.off('show_reciprocate_qr', this.updateVerifierState);