From 54c8d0db31851e9dd0667da77b119994dee38770 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 7 Dec 2022 09:29:36 -0300 Subject: no-fix: move out useBackend hook --- packages/demobank-ui/src/utils.ts | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 packages/demobank-ui/src/utils.ts (limited to 'packages/demobank-ui/src/utils.ts') diff --git a/packages/demobank-ui/src/utils.ts b/packages/demobank-ui/src/utils.ts new file mode 100644 index 000000000..d812f2ec9 --- /dev/null +++ b/packages/demobank-ui/src/utils.ts @@ -0,0 +1,49 @@ + +/** + * Validate (the number part of) an amount. If needed, + * replace comma with a dot. Returns 'false' whenever + * the input is invalid, the valid amount otherwise. + */ +export function validateAmount(maybeAmount: string): any { + const amountRegex = "^[0-9]+(.[0-9]+)?$"; + if (!maybeAmount) { + console.log(`Entered amount (${maybeAmount}) mismatched pattern.`); + return; + } + if (typeof maybeAmount !== "undefined" || maybeAmount !== "") { + console.log(`Maybe valid amount: ${maybeAmount}`); + // tolerating comma instead of point. + const re = RegExp(amountRegex); + if (!re.test(maybeAmount)) { + console.log(`Not using invalid amount '${maybeAmount}'.`); + return false; + } + } + return maybeAmount; +} + +/** + * Extract IBAN from a Payto URI. + */ +export function getIbanFromPayto(url: string): string { + const pathSplit = new URL(url).pathname.split("/"); + let lastIndex = pathSplit.length - 1; + // Happens if the path ends with "/". + if (pathSplit[lastIndex] === "") lastIndex--; + const iban = pathSplit[lastIndex]; + return iban; +} + +export function getBankBackendBaseUrl(): string { + const overrideUrl = localStorage.getItem("bank-base-url"); + if (overrideUrl) { + console.log( + `using bank base URL ${overrideUrl} (override via bank-base-url localStorage)`, + ); + return overrideUrl; + } + const maybeRootPath = "https://bank.demo.taler.net/demobanks/default/"; + if (!maybeRootPath.endsWith("/")) return `${maybeRootPath}/`; + console.log(`using bank base URL (${maybeRootPath})`); + return maybeRootPath; +} -- cgit v1.2.3