taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 324c40b3a38df93ca98413964954210509b22fd1
parent 5a27cdc03d76380baab11924cd61dcb64b91639a
Author: Sebastian <sebasjm@taler-systems.com>
Date:   Thu, 14 May 2026 15:11:26 -0300

fix: only show once per curr

Diffstat:
Mpackages/merchant-backoffice-ui/src/components/menu/SideBar.tsx | 5++---
Mpackages/merchant-backoffice-ui/src/context/currency.ts | 21++++++++++++++-------
2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx b/packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx @@ -25,15 +25,14 @@ import { } from "@gnu-taler/taler-util"; import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { ComponentChildren, Fragment, h, VNode } from "preact"; +import { useCurrenciesContext } from "../../context/currency.js"; import { useSessionContext } from "../../context/session.js"; import { useSettingsContext } from "../../context/settings.js"; import { - useAvailableCurrencies, - useInstanceKYCSimplifiedWorstStatusLongPolling, + useInstanceKYCSimplifiedWorstStatusLongPolling } from "../../hooks/instance.js"; import { UIElement, usePreference } from "../../hooks/preference.js"; import { LangSelector } from "./LangSelector.js"; -import { useCurrenciesContext } from "../../context/currency.js"; const TALER_SCREEN_ID = 17; // const GIT_HASH = typeof __GIT_HASH__ !== "undefined" ? __GIT_HASH__ : undefined; diff --git a/packages/merchant-backoffice-ui/src/context/currency.ts b/packages/merchant-backoffice-ui/src/context/currency.ts @@ -67,13 +67,20 @@ export const CurrenciesProvider = ({ const readyToBeUsed = !status ? [] - : status.kyc_data - .map((st) => - st.status === MerchantAccountKycStatus.READY - ? st.exchange_currency - : undefined, - ) - .filter((d): d is string => !!d); + : Object.keys( + status.kyc_data.reduce( + (prev, st) => { + if ( + st.exchange_currency && + st.status === MerchantAccountKycStatus.READY + ) { + prev[st.exchange_currency] = true; + } + return prev; + }, + {} as { [s: string]: boolean }, + ), + ); const firstCurrency = !readyToBeUsed.length ? undefined : readyToBeUsed[0]; const fromDefault = !firstCurrency