diff options
author | Sebastian <sebasjm@gmail.com> | 2024-03-11 14:56:25 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2024-03-11 14:57:48 -0300 |
commit | 37f46f4d6b821d163c3e4db5c374b1120212ac74 (patch) | |
tree | 641c5bccd6d1b77fa440e67b80543eec9378ef4a /packages/bank-ui/src/Routing.tsx | |
parent | 4cbe754aca72b6edee922e3a84f251030293f088 (diff) | |
download | wallet-core-37f46f4d6b821d163c3e4db5c374b1120212ac74.tar.xz |
obs and cancel request, plus lint
Diffstat (limited to 'packages/bank-ui/src/Routing.tsx')
-rw-r--r-- | packages/bank-ui/src/Routing.tsx | 69 |
1 files changed, 37 insertions, 32 deletions
diff --git a/packages/bank-ui/src/Routing.tsx b/packages/bank-ui/src/Routing.tsx index 75f070e4b..fbf5aa9ec 100644 --- a/packages/bank-ui/src/Routing.tsx +++ b/packages/bank-ui/src/Routing.tsx @@ -22,6 +22,7 @@ import { import { Fragment, VNode, h } from "preact"; import { + AbsoluteTime, AccessToken, HttpStatusCode, TranslatedString, @@ -30,13 +31,13 @@ import { import { useEffect } from "preact/hooks"; import { useBankCoreApiContext } from "./context/config.js"; import { useNavigationContext } from "./context/navigation.js"; -import { useSettingsContext } from "./context/settings.js"; import { useSessionState } from "./hooks/session.js"; import { AccountPage } from "./pages/AccountPage/index.js"; import { BankFrame } from "./pages/BankFrame.js"; import { LoginForm } from "./pages/LoginForm.js"; import { PublicHistoriesPage } from "./pages/PublicHistoriesPage.js"; import { RegistrationPage } from "./pages/RegistrationPage.js"; +import { ShowNotifications } from "./pages/ShowNotifications.js"; import { SolveChallengePage } from "./pages/SolveChallengePage.js"; import { WireTransfer } from "./pages/WireTransfer.js"; import { WithdrawalOperationPage } from "./pages/WithdrawalOperationPage.js"; @@ -58,7 +59,10 @@ export function Routing(): VNode { if (session.state.status === "loggedIn") { const { isUserAdministrator, username } = session.state; return ( - <BankFrame account={username} routeAccountDetails={privatePages.myAccountDetails}> + <BankFrame + account={username} + routeAccountDetails={privatePages.myAccountDetails} + > <PrivateRouting username={username} isAdmin={isUserAdministrator} /> </BankFrame> ); @@ -90,7 +94,6 @@ function PublicRounting({ }: { onLoggedUser: (username: string, token: AccessToken) => void; }): VNode { - const settings = useSettingsContext(); const { i18n } = useTranslationContext(); const location = useCurrentLocation(publicPages); const { navigateTo } = useNavigationContext(); @@ -109,12 +112,11 @@ function PublicRounting({ async function doAutomaticLogin(username: string, password: string) { await handleError(async () => { - const resp = await authenticator(username) - .createAccessToken(password, { - scope: "readwrite", - duration: { d_us: "forever" }, - refreshable: true, - }); + const resp = await authenticator(username).createAccessToken(password, { + scope: "readwrite", + duration: { d_us: "forever" }, + refreshable: true, + }); if (resp.type === "ok") { onLoggedUser(username, resp.body.access_token); } else { @@ -125,6 +127,7 @@ function PublicRounting({ title: i18n.str`Wrong credentials for "${username}"`, description: resp.detail.hint as TranslatedString, debug: resp.detail, + when: AbsoluteTime.now(), }); case HttpStatusCode.NotFound: return notify({ @@ -132,6 +135,7 @@ function PublicRounting({ title: i18n.str`Account not found`, description: resp.detail.hint as TranslatedString, debug: resp.detail, + when: AbsoluteTime.now(), }); default: assertUnreachable(resp); @@ -198,14 +202,12 @@ export const privatePages = { () => "#/account/charge-wallet", ), homeWireTransfer: urlPattern<{ - account?: string, - subject?: string, - amount?: string, - }>( - /\/account\/wire-transfer/, - () => "#/account/wire-transfer", - ), + account?: string; + subject?: string; + amount?: string; + }>(/\/account\/wire-transfer/, () => "#/account/wire-transfer"), home: urlPattern(/\/account/, () => "#/account"), + notifications: urlPattern(/\/notifications/, () => "#/notifications"), solveSecondFactor: urlPattern(/\/2fa/, () => "#/2fa"), cashoutCreate: urlPattern(/\/new-cashout/, () => "#/new-cashout"), cashoutDetails: urlPattern<{ cid: string }>( @@ -213,9 +215,9 @@ export const privatePages = { ({ cid }) => `#/cashout/${cid}`, ), wireTranserCreate: urlPattern<{ - account?: string, - subject?: string, - amount?: string, + account?: string; + subject?: string; + amount?: string; }>( /\/wire-transfer\/(?<account>[a-zA-Z0-9]+)/, ({ account }) => `#/wire-transfer/${account}`, @@ -278,7 +280,6 @@ function PrivateRouting({ switch (location.name) { case "operationDetails": { - return ( <WithdrawalOperationPage operationId={location.values.wopid} @@ -293,7 +294,6 @@ function PrivateRouting({ ); } case "startOperation": { - return ( <WithdrawalOperationPage operationId={location.values.wopid} @@ -563,17 +563,19 @@ function PrivateRouting({ ); } case "conversionConfig": { - return <ConversionConfig - routeMyAccountCashout={privatePages.myAccountCashouts} - routeMyAccountDelete={privatePages.myAccountDelete} - routeMyAccountDetails={privatePages.myAccountDetails} - routeMyAccountPassword={privatePages.myAccountPassword} - routeConversionConfig={privatePages.conversionConfig} - routeCancel={privatePages.home} - onUpdateSuccess={() => { - navigateTo(privatePages.home.url({})) - }} - />; + return ( + <ConversionConfig + routeMyAccountCashout={privatePages.myAccountCashouts} + routeMyAccountDelete={privatePages.myAccountDelete} + routeMyAccountDetails={privatePages.myAccountDetails} + routeMyAccountPassword={privatePages.myAccountPassword} + routeConversionConfig={privatePages.conversionConfig} + routeCancel={privatePages.home} + onUpdateSuccess={() => { + navigateTo(privatePages.home.url({})); + }} + /> + ); } case "homeWireTransfer": { return ( @@ -598,6 +600,9 @@ function PrivateRouting({ /> ); } + case "notifications": { + return <ShowNotifications />; + } default: assertUnreachable(location); } |