summaryrefslogtreecommitdiff
path: root/packages/merchant-backoffice-ui/src/components/menu/index.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/merchant-backoffice-ui/src/components/menu/index.tsx')
-rw-r--r--packages/merchant-backoffice-ui/src/components/menu/index.tsx21
1 files changed, 8 insertions, 13 deletions
diff --git a/packages/merchant-backoffice-ui/src/components/menu/index.tsx b/packages/merchant-backoffice-ui/src/components/menu/index.tsx
index fa2de563e..aa955db4e 100644
--- a/packages/merchant-backoffice-ui/src/components/menu/index.tsx
+++ b/packages/merchant-backoffice-ui/src/components/menu/index.tsx
@@ -21,7 +21,7 @@ import { InstancePaths } from "../../Routing.js";
import { Notification } from "../../utils/types.js";
import { NavigationBar } from "./NavigationBar.js";
import { Sidebar } from "./SideBar.js";
-import { useSessionState } from "../../hooks/session.js";
+import { useSessionContext } from "../../context/session.js";
import { useNavigationContext } from "@gnu-taler/web-util/browser";
function getInstanceTitle(path: string, id: string): string {
@@ -97,15 +97,14 @@ function WithTitle({
export function Menu(_p: MenuProps): VNode {
const [mobileOpen, setMobileOpen] = useState(false);
- const { state, logIn } = useSessionState();
+ const { state, deImpersonate } = useSessionContext();
const { path } = useNavigationContext();
const titleWithSubtitle = !state.isAdmin
? getInstanceTitle(path, state.instance)
: getAdminTitle(path, state.instance);
- const isLoggedIn =
- state.status === "loggedIn" || state.status === "impersonate";
+ const isLoggedIn =state.status === "loggedIn";
return (
<WithTitle title={titleWithSubtitle}>
@@ -119,10 +118,10 @@ export function Menu(_p: MenuProps): VNode {
/>
{isLoggedIn && (
- <Sidebar mobile={mobileOpen} mimic={state.status === "impersonate"} />
+ <Sidebar mobile={mobileOpen} />
)}
- {state.status === "impersonate" && (
+ {state.status !== "loggedOut" && state.impersonate !== undefined && (
<nav
class="level"
style={{
@@ -139,10 +138,7 @@ export function Menu(_p: MenuProps): VNode {
<a
href="#/instances"
onClick={(e) => {
- logIn({
- instance: state.originalInstance,
- token: state.originalToken,
- });
+ deImpersonate();
e.preventDefault();
}}
>
@@ -227,14 +223,13 @@ export function NotConnectedAppMenu({
export function NotYetReadyAppMenu({ title }: NotYetReadyAppMenuProps): VNode {
const [mobileOpen, setMobileOpen] = useState(false);
- const { state } = useSessionState();
+ const { state } = useSessionContext();
useEffect(() => {
document.title = `Taler Backoffice: ${title}`;
}, [title]);
- const isLoggedIn =
- state.status === "loggedIn" || state.status === "impersonate";
+ const isLoggedIn = state.status === "loggedIn";
return (
<div