From 9592f9b537f6e399423e7222e852387445b25e25 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sun, 16 Oct 2022 23:16:45 +0200 Subject: -clean up login/register forms --- packages/bank/src/pages/home/index.tsx | 90 +++++++++++++++++----------------- packages/bank/src/scss/bank.scss | 41 +++++++++++++--- 2 files changed, 77 insertions(+), 54 deletions(-) (limited to 'packages') diff --git a/packages/bank/src/pages/home/index.tsx b/packages/bank/src/pages/home/index.tsx index 4e7582d..42ea47e 100644 --- a/packages/bank/src/pages/home/index.tsx +++ b/packages/bank/src/pages/home/index.tsx @@ -107,11 +107,12 @@ interface PageStateType { tryRegister: boolean; showPublicHistories: boolean; hasError: boolean; + hasInfo: boolean; withdrawalInProgress: boolean; error?: string; + info?: string; talerWithdrawUri?: string; withdrawalOutcome?: string; - transferOutcome?: string; /** * Not strictly a presentational value, could * be moved in a future "withdrawal state" object. @@ -396,6 +397,7 @@ function usePageState( tryRegister: false, showPublicHistories: false, hasError: false, + hasInfo: false, withdrawalInProgress: false, } ): [PageStateType, StateUpdater] { @@ -620,7 +622,8 @@ async function createTransactionCall( console.log('Wire transfer created!'); pageStateSetter((prevState) => ({ ...prevState, - transferOutcome: 'Wire transfer created!' + hasInfo: true, + info: 'Wire transfer created!' })) // Only at this point the input data can // be discarded. @@ -806,17 +809,26 @@ function ErrorBanner(Props: any): VNode | null { const [pageState, pageStateSetter] = Props.pageState; const i18n = useTranslator(); if (!pageState.hasError) return null; - return ( + + const rval = (

{pageState.error} -    { - pageStateSetter((prevState: PageStateType) => { - delete prevState.error; // delete error message - return { ...prevState, hasError: false } // delete error state - }) - }}> - {i18n`Clear`} -

); + delete pageState.error; + pageState.hasError = false; + return rval; +} + +function StatusBanner(Props: any): VNode | null { + const [pageState, pageStateSetter] = Props.pageState; + const i18n = useTranslator(); + if (!pageState.hasInfo) return null; + + const rval = ( +

{pageState.error} +

); + delete pageState.info_msg; + pageState.hasInfo = false; + return rval; } function BankFrame(Props: any): VNode { @@ -833,12 +845,13 @@ function BankFrame(Props: any): VNode { const { talerWithdrawUri, withdrawalOutcome, - transferOutcome, withdrawalId, ...rest } = prevState; return { ...rest, isLoggedIn: false, withdrawalInProgress: false, + hasInfo: false, + hasError: false, isRawPayto: false }; }); @@ -895,8 +908,11 @@ function BankFrame(Props: any): VNode {
+ {pageState.isLoggedIn ? logOut : null} {Props.children} +
+