diff options
Diffstat (limited to 'packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx')
-rw-r--r-- | packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx b/packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx index 0a15f122a..a9b9618bb 100644 --- a/packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx +++ b/packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx @@ -19,32 +19,32 @@ * @author Sebastian Javier Marchano (sebasjm) */ -import { useTranslationContext } from "@gnu-taler/web-util/browser"; +import { useMerchantApiContext, useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, h, VNode } from "preact"; import { useConfigContext } from "../../context/config.js"; import { useInstanceKYCDetails } from "../../hooks/instance.js"; import { LangSelector } from "./LangSelector.js"; import { useSessionState } from "../../hooks/session.js"; -const GIT_HASH = typeof __GIT_HASH__ !== "undefined" ? __GIT_HASH__ : undefined; +// const GIT_HASH = typeof __GIT_HASH__ !== "undefined" ? __GIT_HASH__ : undefined; const VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : undefined; interface Props { mobile?: boolean; - mimic?: boolean; } export function Sidebar({ mobile, - mimic, }: Props): VNode { const config = useConfigContext(); // const { url: backendURL } = useBackendContext() const { i18n } = useTranslationContext(); const kycStatus = useInstanceKYCDetails(); const needKYC = kycStatus.ok && kycStatus.data.type === "redirect"; - const { state } = useSessionState(); - + const { state, logOut } = useSessionState(); + const { url } = useMerchantApiContext(); + const isLoggedIn = state.status === "loggedIn" || state.status === "impersonate" + const hasToken = isLoggedIn && state.token !== undefined return ( <aside class="aside is-placed-left is-expanded" style={{ overflowY: "scroll" }}> {mobile && ( @@ -71,7 +71,7 @@ export function Sidebar({ </div> </div> <div class="menu is-menu-main"> - {instance ? ( + {isLoggedIn ? ( <Fragment> <ul class="menu-list"> <li> @@ -206,7 +206,7 @@ export function Sidebar({ <i class="mdi mdi-web" /> </span> <span class="menu-item-label"> - {new URL(backendURL).hostname} + {url.hostname} </span> </div> </li> @@ -216,11 +216,11 @@ export function Sidebar({ ID </span> <span class="menu-item-label"> - {!instance ? "default" : instance} + {state.instance} </span> </div> </li> - {admin && !mimic && ( + {state.isAdmin && state.status !== "impersonate" && ( <Fragment> <p class="menu-label"> <i18n.Translate>Instances</i18n.Translate> @@ -247,11 +247,14 @@ export function Sidebar({ </li> </Fragment> )} - {isPasswordOk ? + {hasToken ? <li> <a class="has-icon is-state-info is-hoverable" - onClick={(): void => onLogout()} + onClick={(e): void => { + logOut() + e.preventDefault(); + }} > <span class="icon"> <i class="mdi mdi-logout default" /> |