diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader.tsx deleted file mode 100644 index b51c2ab9292..00000000000 --- a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import { LuLayers } from "react-icons/lu"; - -export function WorkspaceSidebarHeader() { - return ( -
- - - Workspaces - -
- ); -} diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/NewWorkspaceButton.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/NewWorkspaceButton.tsx new file mode 100644 index 00000000000..0f392fe62e5 --- /dev/null +++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/NewWorkspaceButton.tsx @@ -0,0 +1,30 @@ +import { LuPlus } from "react-icons/lu"; +import { trpc } from "renderer/lib/trpc"; +import { useOpenNewWorkspaceModal } from "renderer/stores/new-workspace-modal"; + +export function NewWorkspaceButton() { + const openModal = useOpenNewWorkspaceModal(); + const { data: activeWorkspace, isLoading } = + trpc.workspaces.getActive.useQuery(); + + const handleClick = () => { + // projectId may be undefined if no workspace is active or query failed + // openModal handles undefined by opening without a pre-selected project + const projectId = activeWorkspace?.projectId; + openModal(projectId); + }; + + return ( + + ); +} diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/WorkspaceSidebarHeader.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/WorkspaceSidebarHeader.tsx new file mode 100644 index 00000000000..a5aff06d598 --- /dev/null +++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/WorkspaceSidebarHeader.tsx @@ -0,0 +1,18 @@ +import { LuLayers } from "react-icons/lu"; +import { NewWorkspaceButton } from "./NewWorkspaceButton"; + +export function WorkspaceSidebarHeader() { + return ( +
+
+
+ +
+ + Workspaces + +
+ +
+ ); +} diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/index.ts b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/index.ts new file mode 100644 index 00000000000..844ddc41ea7 --- /dev/null +++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/index.ts @@ -0,0 +1 @@ +export { WorkspaceSidebarHeader } from "./WorkspaceSidebarHeader";