diff --git a/packages/app/src/Pages/settings/wallet/Cashu.tsx b/packages/app/src/Pages/settings/wallet/Cashu.tsx new file mode 100644 index 00000000..ddcb6607 --- /dev/null +++ b/packages/app/src/Pages/settings/wallet/Cashu.tsx @@ -0,0 +1,68 @@ +import { useState } from "react"; +import { FormattedMessage, useIntl } from "react-intl"; +import { v4 as uuid } from "uuid"; + +import AsyncButton from "Element/AsyncButton"; +import { unwrap } from "Util"; +import { CashuWallet } from "Wallet/Cashu"; +import { WalletConfig, WalletKind, Wallets } from "Wallet"; +import { useNavigate } from "react-router-dom"; + +const ConnectCashu = () => { + const navigate = useNavigate(); + const { formatMessage } = useIntl(); + const [config, setConfig] = useState(); + const [error, setError] = useState(); + + async function tryConnect(config: string) { + try { + // const connection = new CashuWallet(config); + // await connection.login(); + // const info = await connection.getInfo(); + // const newWallet = { + // id: uuid(), + // kind: WalletKind.LNDHub, + // active: true, + // info, + // data: config, + // } as WalletConfig; + // Wallets.add(newWallet); + // navigate("/wallet"); + } catch (e) { + if (e instanceof Error) { + setError((e as Error).message); + } else { + setError( + formatMessage({ + defaultMessage: "Unknown error", + }) + ); + } + } + } + + return ( + <> +

+ +

+
+
+ setConfig(e.target.value)} + /> +
+ tryConnect(unwrap(config))} disabled={!config}> + + +
+ {error && {error}} + + ); +}; + +export default ConnectCashu;