summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx')
-rw-r--r--packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx57
1 files changed, 0 insertions, 57 deletions
diff --git a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx b/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx
deleted file mode 100644
index be2cbe41d..000000000
--- a/packages/taler-wallet-webextension/src/wallet/CreateManualWithdraw.tsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import { AmountJson, Amounts } from "@gnu-taler/taler-util";
-import { VNode } from "preact";
-import { useEffect, useRef, useState } from "preact/hooks";
-import { ErrorMessage } from "../components/ErrorMessage";
-import { ButtonPrimary, Input, InputWithLabel, LightText, WalletBox } from "../components/styled";
-
-export interface Props {
- error: string | undefined;
- currency: string | undefined;
- initialExchange?: string;
- initialAmount?: string;
- onExchangeChange: (exchange: string) => void;
- onCreate: (exchangeBaseUrl: string, amount: AmountJson) => Promise<void>;
-}
-
-export function CreateManualWithdraw({ onExchangeChange, initialExchange, initialAmount, error, currency, onCreate }: Props): VNode {
- const [exchange, setExchange] = useState(initialExchange || "");
- const [amount, setAmount] = useState(initialAmount || "");
- const parsedAmount = Amounts.parse(`${currency}:${amount}`)
-
- let timeout = useRef<number | undefined>(undefined);
- useEffect(() => {
- if (timeout) window.clearTimeout(timeout.current)
- timeout.current = window.setTimeout(async () => {
- onExchangeChange(exchange)
- }, 1000);
- }, [exchange])
-
-
- return (
- <WalletBox>
- <section>
- <ErrorMessage title={error && "Can't create the reserve"} description={error} />
- <h2>Manual Withdrawal</h2>
- <LightText>Choose a exchange to create a reserve and then fill the reserve to withdraw the coins</LightText>
- <p>
- <Input invalid={!!exchange && !currency}>
- <label>Exchange</label>
- <input type="text" placeholder="https://" value={exchange} onChange={(e) => setExchange(e.currentTarget.value)} />
- <small>http://exchange.taler:8081</small>
- </Input>
- {currency && <InputWithLabel invalid={!!amount && !parsedAmount}>
- <label>Amount</label>
- <div>
- <div>{currency}</div>
- <input type="number" style={{ paddingLeft: `${currency.length}em` }} value={amount} onChange={e => setAmount(e.currentTarget.value)} />
- </div>
- </InputWithLabel>}
- </p>
- </section>
- <footer>
- <div />
- <ButtonPrimary disabled={!parsedAmount || !exchange} onClick={() => onCreate(exchange, parsedAmount!)}>Create</ButtonPrimary>
- </footer>
- </WalletBox>
- );
-}