diff --git a/packages/web_ui/src/components/App.jsx b/packages/web_ui/src/components/App.jsx index 7532d7c8..b5ea5aa8 100644 --- a/packages/web_ui/src/components/App.jsx +++ b/packages/web_ui/src/components/App.jsx @@ -55,8 +55,13 @@ export default function App(props) { connector.on("error", onError); if (token && !connected) { - connector.token = token; - connector.connect(); + if (props.control.loggingOut) { + clearToken(); + props.control.loggingOut = false; + } else { + connector.token = token; + connector.connect(); + } } return () => { diff --git a/packages/web_ui/src/components/SiteLayout.jsx b/packages/web_ui/src/components/SiteLayout.jsx index 6553837b..bdfeedc9 100644 --- a/packages/web_ui/src/components/SiteLayout.jsx +++ b/packages/web_ui/src/components/SiteLayout.jsx @@ -1,8 +1,10 @@ import React, { useEffect, useState } from "react"; import { Switch, Route, useHistory } from "react-router-dom"; -import { Layout, Menu } from "antd"; +import { Dropdown, Layout, Menu } from "antd"; +import UserOutlined from "@ant-design/icons/UserOutlined"; import webUiPackage from "../../package.json"; +import { useAccount } from "../model/account"; import ErrorBoundary from "./ErrorBoundary"; import ErrorPage from "./ErrorPage"; @@ -40,6 +42,7 @@ const sidebar = [ export default function SiteLayout(props) { let history = useHistory(); let [sidebarPath, setSidebarPath] = useState(null); + let account = useAccount(); function SetSidebar(setSidebarProps) { useEffect(() => { @@ -48,14 +51,27 @@ export default function SiteLayout(props) { return null; } + let accountMenu =
; + + return