summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts')
-rw-r--r--packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts40
1 files changed, 16 insertions, 24 deletions
diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts
index 7ad11e67c..ff3800ee8 100644
--- a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts
+++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/state.ts
@@ -30,37 +30,37 @@ export function useComponentState({
onCancel,
onSelection,
list: exchanges,
- currentExchange,
+ initialValue,
}: Props): State {
const api = useBackendContext();
const { pushAlertOnError } = useAlertContext();
const { i18n } = useTranslationContext();
- const initialValue = exchanges.findIndex(
- (e) => e.exchangeBaseUrl === currentExchange,
+ const initialValueIdx = exchanges.findIndex(
+ (e) => e.exchangeBaseUrl === initialValue,
);
- if (initialValue === -1) {
+ if (initialValueIdx === -1) {
throw Error(
- `wrong usage of ExchangeSelection component, currentExchange '${currentExchange}' is not in the list of exchanges`,
+ `wrong usage of ExchangeSelection component, currentExchange '${initialValue}' is not in the list of exchanges`,
);
}
- const [value, setValue] = useState(String(initialValue));
+ const [value, setValue] = useState(String(initialValueIdx));
const selectedIdx = parseInt(value, 10);
- const selectedExchange =
- exchanges.length == 0 ? undefined : exchanges[selectedIdx];
+ const selectedExchange = exchanges[selectedIdx];
- const comparingExchanges = selectedIdx !== initialValue;
+ const comparingExchanges = selectedIdx !== initialValueIdx;
const initialExchange = comparingExchanges
- ? exchanges[initialValue]
+ ? exchanges[initialValueIdx]
: undefined;
const hook = useAsyncAsHook(async () => {
- const selected = !selectedExchange
- ? undefined
- : await api.wallet.call(WalletApiOperation.GetExchangeDetailedInfo, {
- exchangeBaseUrl: selectedExchange.exchangeBaseUrl,
- });
+ const selected = await api.wallet.call(
+ WalletApiOperation.GetExchangeDetailedInfo,
+ {
+ exchangeBaseUrl: selectedExchange.exchangeBaseUrl,
+ },
+ );
const original = !initialExchange
? undefined
@@ -70,7 +70,7 @@ export function useComponentState({
return {
exchanges,
- selected: selected?.exchange,
+ selected: selected.exchange,
original: original?.exchange,
};
}, [selectedExchange, initialExchange]);
@@ -98,14 +98,6 @@ export function useComponentState({
const { selected, original } = hook.response;
- if (selectedExchange === undefined || !selected) {
- return {
- status: "no-exchange",
- error: undefined,
- currency: undefined,
- };
- }
-
const exchangeMap = exchanges.reduce(
(prev, cur, idx) => ({ ...prev, [String(idx)]: cur.exchangeBaseUrl }),
{} as Record<string, string>,