From d3855a1861799e5ca6972ea1b7fa1475835460ba Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 31 Oct 2022 16:06:22 +0100 Subject: [PATCH] demobank-ui: fix error reporting --- Makefile | 31 +++---------------- packages/demobank-ui/src/pages/home/index.tsx | 17 +++++----- packages/taler-wallet-cli/Makefile | 5 ++- 3 files changed, 17 insertions(+), 36 deletions(-) diff --git a/Makefile b/Makefile index 04ae43c81..05f179624 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,5 @@ # This Makefile has been placed in the public domain. -src = src -poname = taler-wallet-webex - tsc = node_modules/typescript/bin/tsc pogen = node_modules/@gnu-taler/pogen/bin/pogen.js typedoc = node_modules/typedoc/bin/typedoc @@ -82,30 +79,10 @@ webextension-dev: pnpm install --frozen-lockfile --filter @gnu-taler/taler-wallet-webextension... pnpm run --filter @gnu-taler/taler-wallet-webextension... dev -.PHONY: i18n -i18n: compile - # extract translatable strings - find $(src) \( -name '*.ts' -or -name '*.tsx' \) ! -name '*.d.ts' \ - | xargs node $(pogen) \ - | msguniq \ - | msgmerge src/i18n/poheader - \ - > src/i18n/$(poname).pot - # merge existing translations - @for pofile in src/i18n/*.po; do \ - echo merging $$pofile; \ - msgmerge -o $$pofile $$pofile src/i18n/$(poname).pot; \ - done; - # generate .ts file containing all translations - cat src/i18n/strings-prelude > src/i18n/strings.ts - @for pofile in src/i18n/*.po; do \ - echo appending $$pofile; \ - ./contrib/po2ts $$pofile >> src/i18n/strings.ts; \ - done; - ./node_modules/.bin/prettier --config .prettierrc --write src/i18n/strings.ts - -# Some commands are only available when ./configure has been run - - .PHONY: lint lint: ./node_modules/.bin/eslint --ext '.js,.ts,.tsx' 'src' + + +install: + @echo Please run \'make install\' from one of the directories in packages/\' diff --git a/packages/demobank-ui/src/pages/home/index.tsx b/packages/demobank-ui/src/pages/home/index.tsx index 0eb7e389d..2da48f3ab 100644 --- a/packages/demobank-ui/src/pages/home/index.tsx +++ b/packages/demobank-ui/src/pages/home/index.tsx @@ -31,7 +31,7 @@ import { QR } from "../../components/QR.js"; import { useLocalStorage, useNotNullLocalStorage } from "../../hooks/index.js"; import { Translate, useTranslator } from "../../i18n/index.js"; import "../../scss/main.scss"; -import { Amounts, parsePaytoUri } from "@gnu-taler/taler-util"; +import { Amounts, HttpStatusCode, parsePaytoUri } from "@gnu-taler/taler-util"; interface BankUiSettings { allowRegistrations: boolean; @@ -2119,7 +2119,7 @@ function Account(Props: any): VNode { // revalidateOnFocus: false, // revalidateOnReconnect: false, }); - const [pageState, pageStateSetter] = useContext(PageContext); + const [pageState, setPageState] = useContext(PageContext); const { withdrawalInProgress, withdrawalId, isLoggedIn, talerWithdrawUri } = pageState; const i18n = useTranslator(); @@ -2141,7 +2141,7 @@ function Account(Props: any): VNode { */ switch (error.status) { case 404: { - pageStateSetter((prevState: PageStateType) => ({ + setPageState((prevState: PageStateType) => ({ ...prevState, hasError: true, isLoggedIn: false, @@ -2166,8 +2166,9 @@ function Account(Props: any): VNode { (cache as any).clear(); return

Profile not found...

; } - case 401: { - pageStateSetter((prevState: PageStateType) => ({ + case HttpStatusCode.Unauthorized: + case HttpStatusCode.Forbidden: { + setPageState((prevState: PageStateType) => ({ ...prevState, hasError: true, isLoggedIn: false, @@ -2178,10 +2179,10 @@ function Account(Props: any): VNode { return

Wrong credentials...

; } default: { - pageStateSetter((prevState: PageStateType) => ({ + setPageState((prevState: PageStateType) => ({ ...prevState, hasError: true, - // isLoggedIn: false, + isLoggedIn: false, error: { title: i18n`Account information could not be retrieved.`, debug: JSON.stringify(error), @@ -2249,7 +2250,7 @@ function Account(Props: any): VNode { {Props.children} diff --git a/packages/taler-wallet-cli/Makefile b/packages/taler-wallet-cli/Makefile index f898d0174..b910a82bd 100644 --- a/packages/taler-wallet-cli/Makefile +++ b/packages/taler-wallet-cli/Makefile @@ -1,7 +1,10 @@ # This Makefile has been placed in the public domain. +-include ../../.config.mk include .config.mk +$(info prefix is $(prefix)) + all: @echo use 'make install' to build and install taler-wallet-cli @@ -22,6 +25,6 @@ install: install -d $(install_target)/node_modules/taler-wallet-cli/dist install ./dist/taler-wallet-cli.js $(install_target)/node_modules/taler-wallet-cli/dist/ install ./dist/taler-wallet-cli.js.map $(install_target)/node_modules/taler-wallet-cli/dist/ - install ./bin/taler-wallet-cli $(install_target)/node_modules/taler-wallet-cli/bin/ + install ./bin/taler-wallet-cli.js $(install_target)/node_modules/taler-wallet-cli/bin/ ln -sf $(install_target)/node_modules/taler-wallet-cli/bin/taler-wallet-cli $(prefix)/bin/taler-wallet-cli endif