summaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx')
-rw-r--r--packages/merchant-backoffice-ui/src/components/menu/SideBar.tsx27
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" />