) =>
+ (Component: React.ComponentType
): React.ComponentType
=>
+ class WrappedDialogLink extends React.Component
{
+ constructor(props: P) {
+ super(props);
+
+ this.state = {
+ show: false
+ };
+ }
+
+ openDialog = () => this.setState({ show: true });
+ closeDialog = () => this.setState({ show: false });
+
+ render() {
+ const { show } = this.state;
+
+ return <>
+
+ {renderDialog(show, this.closeDialog)}
+ >;
+ }
+ };
diff --git a/src/layouts/my-wallets/MyWalletsPage.tsx b/src/layouts/my-wallets/MyWalletsPage.tsx
index fc29aa8..96a27a0 100644
--- a/src/layouts/my-wallets/MyWalletsPage.tsx
+++ b/src/layouts/my-wallets/MyWalletsPage.tsx
@@ -8,17 +8,16 @@
import { IconButton } from "@components/icon-button/IconButton";
import Button from "react-bootstrap/Button";
+import { AddWalletButton, CreateWalletButton } from "@layouts/dialogs/AddWalletDialog";
import { SearchTextbox } from "@components/list-view/SearchTextbox";
import { FilterSelect } from "@components/list-view/FilterSelect";
-import { DateString } from "@krist/types/KristTypes";
import { MyWalletsMobileItem } from "./MyWalletsMobileItem";
import { Wallet } from "@krist/wallets/Wallet";
import { sleep } from "@utils";
-import { KristWalletFormat } from "@krist/wallets/formats/WalletFormat";
const WALLET_COLUMNS = new Map, ColumnSpec>()
.set("label", { nameKey: "myWallets.columnLabel" })
@@ -49,13 +48,13 @@
{t("myWallets.manageBackups")}
-
+
{t("myWallets.createWallet")}
-
-
+
>}
filters={<>
{/* Search filter textbox */}
diff --git a/src/shared-components/icon-button/IconButton.tsx b/src/shared-components/icon-button/IconButton.tsx
index 0864262..6acf0ff 100644
--- a/src/shared-components/icon-button/IconButton.tsx
+++ b/src/shared-components/icon-button/IconButton.tsx
@@ -4,13 +4,14 @@
import "./IconButton.scss";
-interface Props extends ButtonProps {
- icon: string;
+export interface Props extends ButtonProps {
+ icon?: string;
+ openDialog?: () => void;
}
-export const IconButton: React.FC = (props: PropsWithChildren) => {
- return