diff options
Diffstat (limited to 'packages/merchant-backoffice-ui/src/components/menu/index.tsx')
-rw-r--r-- | packages/merchant-backoffice-ui/src/components/menu/index.tsx | 21 |
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 |