Use IDialogProps
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
This commit is contained in:
parent
ee90ff0b98
commit
6e11f2478c
21 changed files with 41 additions and 64 deletions
|
@ -27,14 +27,9 @@ import { _t } from "../../../languageHandler";
|
||||||
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
import MatrixClientContext from "../../../contexts/MatrixClientContext";
|
||||||
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
||||||
import { MatrixClient } from "matrix-js-sdk/src/client";
|
import { MatrixClient } from "matrix-js-sdk/src/client";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
// onFinished callback to call when Escape is pressed
|
|
||||||
// Take a boolean which is true if the dialog was dismissed
|
|
||||||
// with a positive / confirm action or false if it was
|
|
||||||
// cancelled (BaseDialog itself only calls this with false).
|
|
||||||
onFinished: (confirm: any) => void;
|
|
||||||
|
|
||||||
// Whether the dialog should have a 'close' button that will
|
// Whether the dialog should have a 'close' button that will
|
||||||
// cause the dialog to be cancelled. This should only be set
|
// cause the dialog to be cancelled. This should only be set
|
||||||
// to false if there is nothing the app can sensibly do if the
|
// to false if there is nothing the app can sensibly do if the
|
||||||
|
|
|
@ -25,14 +25,13 @@ import Modal from "../../../Modal";
|
||||||
import BugReportDialog from "./BugReportDialog";
|
import BugReportDialog from "./BugReportDialog";
|
||||||
import InfoDialog from "./InfoDialog";
|
import InfoDialog from "./InfoDialog";
|
||||||
import StyledRadioGroup from "../elements/StyledRadioGroup";
|
import StyledRadioGroup from "../elements/StyledRadioGroup";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
const existingIssuesUrl = "https://github.com/vector-im/element-web/issues" +
|
const existingIssuesUrl = "https://github.com/vector-im/element-web/issues" +
|
||||||
"?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc";
|
"?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc";
|
||||||
const newIssueUrl = "https://github.com/vector-im/element-web/issues/new/choose";
|
const newIssueUrl = "https://github.com/vector-im/element-web/issues/new/choose";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {}
|
||||||
onFinished: () => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
const FeedbackDialog: React.FC<IProps> = (props: IProps) => {
|
const FeedbackDialog: React.FC<IProps> = (props: IProps) => {
|
||||||
const [rating, setRating] = useState<string>();
|
const [rating, setRating] = useState<string>();
|
||||||
|
|
|
@ -26,6 +26,7 @@ import Spinner from "../elements/Spinner";
|
||||||
import VerificationShowSas from "../verification/VerificationShowSas";
|
import VerificationShowSas from "../verification/VerificationShowSas";
|
||||||
import BaseDialog from "./BaseDialog";
|
import BaseDialog from "./BaseDialog";
|
||||||
import DialogButtons from "../elements/DialogButtons";
|
import DialogButtons from "../elements/DialogButtons";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
const PHASE_START = 0;
|
const PHASE_START = 0;
|
||||||
const PHASE_SHOW_SAS = 1;
|
const PHASE_SHOW_SAS = 1;
|
||||||
|
@ -33,9 +34,8 @@ const PHASE_WAIT_FOR_PARTNER_TO_CONFIRM = 2;
|
||||||
const PHASE_VERIFIED = 3;
|
const PHASE_VERIFIED = 3;
|
||||||
const PHASE_CANCELLED = 4;
|
const PHASE_CANCELLED = 4;
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
verifier: any; // TODO types
|
verifier: any; // TODO types
|
||||||
onFinished: (confirmed: boolean) => void;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface IState {
|
interface IState {
|
||||||
|
|
|
@ -21,10 +21,9 @@ import { Action } from "../../../dispatcher/actions";
|
||||||
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
||||||
import BaseDialog from "./BaseDialog";
|
import BaseDialog from "./BaseDialog";
|
||||||
import DialogButtons from "../elements/DialogButtons";
|
import DialogButtons from "../elements/DialogButtons";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {}
|
||||||
onFinished: () => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
@replaceableComponent("views.dialogs.IntegrationsDisabledDialog")
|
@replaceableComponent("views.dialogs.IntegrationsDisabledDialog")
|
||||||
export default class IntegrationsDisabledDialog extends React.Component<IProps> {
|
export default class IntegrationsDisabledDialog extends React.Component<IProps> {
|
||||||
|
|
|
@ -19,11 +19,9 @@ import { _t } from "../../../languageHandler";
|
||||||
import SdkConfig from "../../../SdkConfig";
|
import SdkConfig from "../../../SdkConfig";
|
||||||
import * as sdk from "../../../index";
|
import * as sdk from "../../../index";
|
||||||
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {}
|
||||||
onFinished: () => void;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@replaceableComponent("views.dialogs.IntegrationsImpossibleDialog")
|
@replaceableComponent("views.dialogs.IntegrationsImpossibleDialog")
|
||||||
export default class IntegrationsImpossibleDialog extends React.Component<IProps> {
|
export default class IntegrationsImpossibleDialog extends React.Component<IProps> {
|
||||||
|
|
|
@ -27,8 +27,9 @@ import { replaceableComponent } from "../../../utils/replaceableComponent";
|
||||||
import { MatrixClient } from "matrix-js-sdk/src/client";
|
import { MatrixClient } from "matrix-js-sdk/src/client";
|
||||||
import BaseDialog from "./BaseDialog";
|
import BaseDialog from "./BaseDialog";
|
||||||
import { IAuthData } from "matrix-js-sdk/src/interactive-auth";
|
import { IAuthData } from "matrix-js-sdk/src/interactive-auth";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
// matrix client to use for UI auth requests
|
// matrix client to use for UI auth requests
|
||||||
matrixClient: MatrixClient;
|
matrixClient: MatrixClient;
|
||||||
|
|
||||||
|
@ -43,8 +44,6 @@ interface IProps {
|
||||||
// callback
|
// callback
|
||||||
makeRequest: (auth: IAuthData) => Promise<IAuthData>;
|
makeRequest: (auth: IAuthData) => Promise<IAuthData>;
|
||||||
|
|
||||||
onFinished: (confirmed: boolean, result?) => void;
|
|
||||||
|
|
||||||
// Optional title and body to show when not showing a particular stage
|
// Optional title and body to show when not showing a particular stage
|
||||||
title?: string;
|
title?: string;
|
||||||
body?: string;
|
body?: string;
|
||||||
|
|
|
@ -20,15 +20,15 @@ import SdkConfig from '../../../SdkConfig';
|
||||||
import BaseDialog from "./BaseDialog";
|
import BaseDialog from "./BaseDialog";
|
||||||
import DialogButtons from "../elements/DialogButtons";
|
import DialogButtons from "../elements/DialogButtons";
|
||||||
import Spinner from "../elements/Spinner";
|
import Spinner from "../elements/Spinner";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
failures: Record<string, Record<string, {
|
failures: Record<string, Record<string, {
|
||||||
errcode: string;
|
errcode: string;
|
||||||
error: string;
|
error: string;
|
||||||
}>>;
|
}>>;
|
||||||
source: string;
|
source: string;
|
||||||
continuation: () => void;
|
continuation: () => void;
|
||||||
onFinished: () => void;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const KeySignatureUploadFailedDialog: React.FC<IProps> = ({
|
const KeySignatureUploadFailedDialog: React.FC<IProps> = ({
|
||||||
|
|
|
@ -20,8 +20,7 @@ import QuestionDialog from './QuestionDialog';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
onFinished: () => void;
|
|
||||||
host: string;
|
host: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,10 +19,9 @@ import React from 'react';
|
||||||
import QuestionDialog from './QuestionDialog';
|
import QuestionDialog from './QuestionDialog';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import SdkConfig from '../../../SdkConfig';
|
import SdkConfig from '../../../SdkConfig';
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {}
|
||||||
onFinished: () => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
const LazyLoadingResyncDialog: React.FC<IProps> = (props: IProps) => {
|
const LazyLoadingResyncDialog: React.FC<IProps> = (props: IProps) => {
|
||||||
const brand = SdkConfig.get().brand;
|
const brand = SdkConfig.get().brand;
|
||||||
|
|
|
@ -25,11 +25,11 @@ import { _t } from '../../../languageHandler';
|
||||||
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
||||||
import QuestionDialog from "./QuestionDialog";
|
import QuestionDialog from "./QuestionDialog";
|
||||||
import { DeviceInfo } from "matrix-js-sdk/src/crypto/deviceinfo";
|
import { DeviceInfo } from "matrix-js-sdk/src/crypto/deviceinfo";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
userId: string;
|
userId: string;
|
||||||
device: DeviceInfo;
|
device: DeviceInfo;
|
||||||
onFinished: (confirmed: boolean) => void;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@replaceableComponent("views.dialogs.ManualDeviceKeyVerificationDialog")
|
@replaceableComponent("views.dialogs.ManualDeviceKeyVerificationDialog")
|
||||||
|
|
|
@ -26,10 +26,10 @@ import ScrollPanel from "../../structures/ScrollPanel";
|
||||||
import Spinner from "../elements/Spinner";
|
import Spinner from "../elements/Spinner";
|
||||||
import EditHistoryMessage from "../messages/EditHistoryMessage";
|
import EditHistoryMessage from "../messages/EditHistoryMessage";
|
||||||
import DateSeparator from "../messages/DateSeparator";
|
import DateSeparator from "../messages/DateSeparator";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
mxEvent: MatrixEvent;
|
mxEvent: MatrixEvent;
|
||||||
onFinished: () => void;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface IState {
|
interface IState {
|
||||||
|
|
|
@ -20,8 +20,9 @@ import classNames from "classnames";
|
||||||
|
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
title?: string;
|
title?: string;
|
||||||
description?: React.ReactNode;
|
description?: React.ReactNode;
|
||||||
extraButtons?: React.ReactNode;
|
extraButtons?: React.ReactNode;
|
||||||
|
@ -29,7 +30,6 @@ interface IProps {
|
||||||
buttonDisabled?: boolean;
|
buttonDisabled?: boolean;
|
||||||
danger?: boolean;
|
danger?: boolean;
|
||||||
focus?: boolean;
|
focus?: boolean;
|
||||||
onFinished: (confirmed: boolean) => void;
|
|
||||||
headerImage?: string;
|
headerImage?: string;
|
||||||
quitOnly?: boolean; // quitOnly doesn't show the cancel button just the quit [x].
|
quitOnly?: boolean; // quitOnly doesn't show the cancel button just the quit [x].
|
||||||
fixedWidth?: boolean;
|
fixedWidth?: boolean;
|
||||||
|
|
|
@ -25,10 +25,10 @@ import QuestionDialog from "./QuestionDialog";
|
||||||
import BugReportDialog from "./BugReportDialog";
|
import BugReportDialog from "./BugReportDialog";
|
||||||
import BaseDialog from "./BaseDialog";
|
import BaseDialog from "./BaseDialog";
|
||||||
import DialogButtons from "../elements/DialogButtons";
|
import DialogButtons from "../elements/DialogButtons";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
error: string;
|
error: string;
|
||||||
onFinished: () => void;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@replaceableComponent("views.dialogs.SessionRestoreErrorDialog")
|
@replaceableComponent("views.dialogs.SessionRestoreErrorDialog")
|
||||||
|
|
|
@ -26,10 +26,10 @@ import ErrorDialog from "./ErrorDialog";
|
||||||
import QuestionDialog from "./QuestionDialog";
|
import QuestionDialog from "./QuestionDialog";
|
||||||
import BaseDialog from "./BaseDialog";
|
import BaseDialog from "./BaseDialog";
|
||||||
import EditableText from "../elements/EditableText";
|
import EditableText from "../elements/EditableText";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
title: string;
|
title: string;
|
||||||
onFinished: (confirmed: boolean) => void;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface IState {
|
interface IState {
|
||||||
|
|
|
@ -17,11 +17,10 @@ limitations under the License.
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { _t } from "../../../languageHandler";
|
import { _t } from "../../../languageHandler";
|
||||||
import { CommandCategories, Commands } from "../../../SlashCommands";
|
import { CommandCategories, Commands } from "../../../SlashCommands";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
import InfoDialog from "./InfoDialog";
|
import InfoDialog from "./InfoDialog";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {}
|
||||||
onFinished: () => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
const SlashCommandHelpDialog: React.FC<IProps> = ({ onFinished }) => {
|
const SlashCommandHelpDialog: React.FC<IProps> = ({ onFinished }) => {
|
||||||
const categories = {};
|
const categories = {};
|
||||||
|
|
|
@ -22,10 +22,9 @@ import { replaceableComponent } from "../../../utils/replaceableComponent";
|
||||||
import BaseDialog from "./BaseDialog";
|
import BaseDialog from "./BaseDialog";
|
||||||
import DialogButtons from "../elements/DialogButtons";
|
import DialogButtons from "../elements/DialogButtons";
|
||||||
import BugReportDialog from "./BugReportDialog";
|
import BugReportDialog from "./BugReportDialog";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps { }
|
||||||
onFinished: (confirmed: boolean) => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
@replaceableComponent("views.dialogs.StorageEvictedDialog")
|
@replaceableComponent("views.dialogs.StorageEvictedDialog")
|
||||||
export default class StorageEvictedDialog extends React.Component<IProps> {
|
export default class StorageEvictedDialog extends React.Component<IProps> {
|
||||||
|
|
|
@ -25,15 +25,9 @@ import { IntegrationManagerInstance } from "../../../integrations/IntegrationMan
|
||||||
import ScalarAuthClient from "../../../ScalarAuthClient";
|
import ScalarAuthClient from "../../../ScalarAuthClient";
|
||||||
import AccessibleButton from "../elements/AccessibleButton";
|
import AccessibleButton from "../elements/AccessibleButton";
|
||||||
import IntegrationManager from "../settings/IntegrationManager";
|
import IntegrationManager from "../settings/IntegrationManager";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
/**
|
|
||||||
* Called with:
|
|
||||||
* * success {bool} True if the user accepted any douments, false if cancelled
|
|
||||||
* * agreedUrls {string[]} List of agreed URLs
|
|
||||||
*/
|
|
||||||
onFinished: () => void;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Optional room where the integration manager should be open to
|
* Optional room where the integration manager should be open to
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -21,8 +21,9 @@ import { replaceableComponent } from "../../../utils/replaceableComponent";
|
||||||
import { IFieldState, IValidationResult } from "../elements/Validation";
|
import { IFieldState, IValidationResult } from "../elements/Validation";
|
||||||
import BaseDialog from "./BaseDialog";
|
import BaseDialog from "./BaseDialog";
|
||||||
import DialogButtons from "../elements/DialogButtons";
|
import DialogButtons from "../elements/DialogButtons";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
title?: string;
|
title?: string;
|
||||||
description?: string | JSX.Element;
|
description?: string | JSX.Element;
|
||||||
value?: string;
|
value?: string;
|
||||||
|
@ -30,7 +31,6 @@ import DialogButtons from "../elements/DialogButtons";
|
||||||
button?: string;
|
button?: string;
|
||||||
busyMessage?: string; // pass _td string
|
busyMessage?: string; // pass _td string
|
||||||
focus?: boolean;
|
focus?: boolean;
|
||||||
onFinished: (success: boolean, value?: string) => void;
|
|
||||||
hasCancel?: boolean;
|
hasCancel?: boolean;
|
||||||
validator?: (fieldState: IFieldState) => IValidationResult; // result of withValidation
|
validator?: (fieldState: IFieldState) => IValidationResult; // result of withValidation
|
||||||
fixedWidth?: boolean;
|
fixedWidth?: boolean;
|
||||||
|
|
|
@ -22,12 +22,12 @@ import ContentMessages from '../../../ContentMessages';
|
||||||
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
import { replaceableComponent } from "../../../utils/replaceableComponent";
|
||||||
import BaseDialog from "./BaseDialog";
|
import BaseDialog from "./BaseDialog";
|
||||||
import DialogButtons from "../elements/DialogButtons";
|
import DialogButtons from "../elements/DialogButtons";
|
||||||
|
import { IDialogProps } from "./IDialogProps";
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
badFiles: File[];
|
badFiles: File[];
|
||||||
totalFiles: number;
|
totalFiles: number;
|
||||||
contentMessages: ContentMessages;
|
contentMessages: ContentMessages;
|
||||||
onFinished: (success: boolean) => void;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -23,6 +23,7 @@ import { accessSecretStorage } from '../../../../SecurityManager';
|
||||||
import { IKeyBackupInfo, IKeyBackupRestoreResult } from "matrix-js-sdk/src/crypto/keybackup";
|
import { IKeyBackupInfo, IKeyBackupRestoreResult } from "matrix-js-sdk/src/crypto/keybackup";
|
||||||
import { ISecretStorageKeyInfo } from "matrix-js-sdk/src/crypto/api";
|
import { ISecretStorageKeyInfo } from "matrix-js-sdk/src/crypto/api";
|
||||||
import * as sdk from '../../../../index';
|
import * as sdk from '../../../../index';
|
||||||
|
import { IDialogProps } from "../IDialogProps";
|
||||||
|
|
||||||
enum RestoreType {
|
enum RestoreType {
|
||||||
Passphrase = "passphrase",
|
Passphrase = "passphrase",
|
||||||
|
@ -37,15 +38,13 @@ enum ProgressState {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {
|
||||||
// if false, will close the dialog as soon as the restore completes succesfully
|
// if false, will close the dialog as soon as the restore completes succesfully
|
||||||
// default: true
|
// default: true
|
||||||
showSummary?: boolean;
|
showSummary?: boolean;
|
||||||
// If specified, gather the key from the user but then call the function with the backup
|
// If specified, gather the key from the user but then call the function with the backup
|
||||||
// key rather than actually (necessarily) restoring the backup.
|
// key rather than actually (necessarily) restoring the backup.
|
||||||
keyCallback?: (key: Uint8Array) => void;
|
keyCallback?: (key: Uint8Array) => void;
|
||||||
|
|
||||||
onFinished: (success: boolean) => void;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
interface IState {
|
interface IState {
|
||||||
|
|
|
@ -20,6 +20,7 @@ import BaseDialog from '../BaseDialog';
|
||||||
import { _t } from '../../../../languageHandler';
|
import { _t } from '../../../../languageHandler';
|
||||||
import { SetupEncryptionStore, Phase } from '../../../../stores/SetupEncryptionStore';
|
import { SetupEncryptionStore, Phase } from '../../../../stores/SetupEncryptionStore';
|
||||||
import { replaceableComponent } from "../../../../utils/replaceableComponent";
|
import { replaceableComponent } from "../../../../utils/replaceableComponent";
|
||||||
|
import { IDialogProps } from "../IDialogProps";
|
||||||
|
|
||||||
function iconFromPhase(phase: Phase) {
|
function iconFromPhase(phase: Phase) {
|
||||||
if (phase === Phase.Done) {
|
if (phase === Phase.Done) {
|
||||||
|
@ -29,10 +30,7 @@ function iconFromPhase(phase: Phase) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
interface IProps {
|
interface IProps extends IDialogProps {}
|
||||||
onFinished: (success: boolean) => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
interface IState {
|
interface IState {
|
||||||
icon: string;
|
icon: string;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue