no-fix: move out routing

This commit is contained in:
Sebastian 2022-12-07 10:59:12 -03:00
parent ac2f680f68
commit 0fa3b8ddb9
No known key found for this signature in database
GPG Key ID: BE4FF68352439FC1
3 changed files with 34 additions and 32 deletions

View File

@ -1,13 +1,13 @@
import { h, FunctionalComponent } from "preact";
import { PageStateProvider } from "../context/pageState.js";
import { TranslationProvider } from "../context/translation.js";
import { BankHome } from "../pages/home/index.js";
import { Routing } from "../pages/Routing.js";
const App: FunctionalComponent = () => {
return (
<TranslationProvider>
<PageStateProvider>
<BankHome />
<Routing />
</PageStateProvider>
</TranslationProvider>
);

View File

@ -0,0 +1,28 @@
import { createHashHistory } from "history";
import { h, VNode } from "preact";
import Router, { route, Route } from "preact-router";
import { useEffect } from "preact/hooks";
import {
AccountPage,
PublicHistoriesPage,
RegistrationPage,
} from "./home/index.js";
export function Routing(): VNode {
const history = createHashHistory();
return (
<Router history={history}>
<Route path="/public-accounts" component={PublicHistoriesPage} />
<Route path="/register" component={RegistrationPage} />
<Route path="/account/:id*" component={AccountPage} />
<Route default component={Redirect} to="/account" />
</Router>
);
}
function Redirect({ to }: { to: string }): VNode {
useEffect(() => {
route(to, true);
}, []);
return <div>being redirected to {to}</div>;
}

View File

@ -2079,7 +2079,7 @@ function PublicHistories(Props: any): VNode {
);
}
function PublicHistoriesPage(): VNode {
export function PublicHistoriesPage(): VNode {
const { pageState, pageStateSetter } = usePageContext();
// const { i18n } = useTranslationContext();
return (
@ -2104,7 +2104,7 @@ function PublicHistoriesPage(): VNode {
);
}
function RegistrationPage(): VNode {
export function RegistrationPage(): VNode {
const { i18n } = useTranslationContext();
if (!bankUiSettings.allowRegistrations) {
return (
@ -2120,7 +2120,7 @@ function RegistrationPage(): VNode {
);
}
function AccountPage(): VNode {
export function AccountPage(): VNode {
const [backendState, backendStateSetter] = useBackendState();
const { i18n } = useTranslationContext();
const { pageState, pageStateSetter } = usePageContext();
@ -2129,10 +2129,7 @@ function AccountPage(): VNode {
return (
<BankFrame>
<h1 class="nav">{i18n.str`Welcome to ${bankUiSettings.bankName}!`}</h1>
<LoginForm
pageStateSetter={pageStateSetter}
backendStateSetter={backendStateSetter}
/>
<LoginForm />
</BankFrame>
);
}
@ -2162,26 +2159,3 @@ function AccountPage(): VNode {
</SWRWithCredentials>
);
}
function Redirect({ to }: { to: string }): VNode {
useEffect(() => {
route(to, true);
}, []);
return <div>being redirected to {to}</div>;
}
/**
* If the user is logged in, it displays
* the balance, otherwise it offers to login.
*/
export function BankHome(): VNode {
const history = createHashHistory();
return (
<Router history={history}>
<Route path="/public-accounts" component={PublicHistoriesPage} />
<Route path="/register" component={RegistrationPage} />
<Route path="/account/:id*" component={AccountPage} />
<Route default component={Redirect} to="/account" />
</Router>
);
}