diff --git a/web/src/components/Header.tsx b/web/src/components/Header.tsx
index 4baf7f6..b3248ec 100644
--- a/web/src/components/Header.tsx
+++ b/web/src/components/Header.tsx
@@ -1,12 +1,17 @@
-import { Link, useNavigate } from "react-router-dom";
+import { Link, useNavigate, useParams } from "react-router-dom";
import { useAppSelector } from "../store";
import { userService } from "../services";
import Icon from "./Icon";
import Dropdown from "./common/Dropdown";
+import Only from "./common/OnlyWhen";
+import showCreateWorkspaceDialog from "./CreateWorkspaceDialog";
const Header: React.FC = () => {
+ const params = useParams();
const navigate = useNavigate();
const { user } = useAppSelector((state) => state.user);
+ const { workspaceList } = useAppSelector((state) => state.workspace);
+ const activedWorkspace = workspaceList.find((workspace) => workspace.name === params.workspaceName ?? "");
const handleSignOutButtonClick = async () => {
await userService.doSignOut();
@@ -16,9 +21,50 @@ const Header: React.FC = () => {
return (
-
- Corgi
-
+
+
+ Corgi
+
+ 0 && activedWorkspace !== undefined}>
+ <>
+ /
+
+ {activedWorkspace?.name}
+
+
+ }
+ actions={
+ <>
+ {workspaceList.map((workspace) => {
+ return (
+
+ {workspace.name}
+
+
+
+
+ );
+ })}
+
+
+ >
+ }
+ actionsClassName="!w-48 !-left-4"
+ >
+ >
+
+
{user ? (
{
<>
- My information
+ My Account
>
}
- actionsClassName="!w-36"
+ actionsClassName="!w-40"
>
) : (
navigate("/user/auth")}>
diff --git a/web/src/pages/WorkspaceDetail.tsx b/web/src/pages/WorkspaceDetail.tsx
index 1e8a93d..392ee44 100644
--- a/web/src/pages/WorkspaceDetail.tsx
+++ b/web/src/pages/WorkspaceDetail.tsx
@@ -33,22 +33,16 @@ const WorkspaceDetail: React.FC = () => {
...state,
workspace,
});
+ loadingState.setLoading();
Promise.all([shortcutService.fetchWorkspaceShortcuts(workspace.id)]).finally(() => {
loadingState.setFinish();
});
- }, []);
+ }, [params.workspaceName]);
return (
-
-
- Home
-
- /
- Workspace: {state?.workspace.name}
-
Shortcut List