diff --git a/apps/desktop/src/renderer/screens/main/components/TopBar/index.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/TopBar.tsx
similarity index 79%
rename from apps/desktop/src/renderer/screens/main/components/TopBar/index.tsx
rename to apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/TopBar.tsx
index 9e36080cd8c..4bbaaca5074 100644
--- a/apps/desktop/src/renderer/screens/main/components/TopBar/index.tsx
+++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/TopBar.tsx
@@ -1,8 +1,9 @@
import { useParams } from "@tanstack/react-router";
import { electronTrpc } from "renderer/lib/electron-trpc";
-import { OpenInMenuButton } from "./OpenInMenuButton";
-import { OrganizationDropdown } from "./OrganizationDropdown";
-import { WindowControls } from "./WindowControls";
+import { OpenInMenuButton } from "./components/OpenInMenuButton";
+import { OrganizationDropdown } from "./components/OrganizationDropdown";
+import { SidebarToggle } from "./components/SidebarToggle";
+import { WindowControls } from "./components/WindowControls";
export function TopBar() {
const { data: platform } = electronTrpc.window.getPlatform.useQuery();
@@ -21,7 +22,9 @@ export function TopBar() {
style={{
paddingLeft: isMac ? "88px" : "16px",
}}
- />
+ >
+
+
diff --git a/apps/desktop/src/renderer/screens/main/components/TopBar/OpenInMenuButton.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OpenInMenuButton/OpenInMenuButton.tsx
similarity index 100%
rename from apps/desktop/src/renderer/screens/main/components/TopBar/OpenInMenuButton.tsx
rename to apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OpenInMenuButton/OpenInMenuButton.tsx
diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OpenInMenuButton/index.ts b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OpenInMenuButton/index.ts
new file mode 100644
index 00000000000..455415d437d
--- /dev/null
+++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OpenInMenuButton/index.ts
@@ -0,0 +1 @@
+export { OpenInMenuButton } from "./OpenInMenuButton";
diff --git a/apps/desktop/src/renderer/screens/main/components/TopBar/OrganizationDropdown.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/OrganizationDropdown.tsx
similarity index 100%
rename from apps/desktop/src/renderer/screens/main/components/TopBar/OrganizationDropdown.tsx
rename to apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/OrganizationDropdown.tsx
diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/index.ts b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/index.ts
new file mode 100644
index 00000000000..939703e43d9
--- /dev/null
+++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/OrganizationDropdown/index.ts
@@ -0,0 +1 @@
+export { OrganizationDropdown } from "./OrganizationDropdown";
diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/SidebarToggle/SidebarToggle.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/SidebarToggle/SidebarToggle.tsx
new file mode 100644
index 00000000000..7d2828cf1c3
--- /dev/null
+++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/SidebarToggle/SidebarToggle.tsx
@@ -0,0 +1,47 @@
+import { Tooltip, TooltipContent, TooltipTrigger } from "@superset/ui/tooltip";
+import { LuPanelLeft, LuPanelLeftClose, LuPanelLeftOpen } from "react-icons/lu";
+import { HotkeyTooltipContent } from "renderer/components/HotkeyTooltipContent";
+import { useWorkspaceSidebarStore } from "renderer/stores";
+
+export function SidebarToggle() {
+ const { isCollapsed, toggleCollapsed } = useWorkspaceSidebarStore();
+ const collapsed = isCollapsed();
+
+ const getToggleIcon = (isHovering: boolean) => {
+ if (collapsed) {
+ return isHovering ? (
+
+ ) : (
+
+ );
+ }
+ return isHovering ? (
+
+ ) : (
+
+ );
+ };
+
+ return (
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/SidebarToggle/index.ts b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/SidebarToggle/index.ts
new file mode 100644
index 00000000000..6ed6715b715
--- /dev/null
+++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/SidebarToggle/index.ts
@@ -0,0 +1 @@
+export { SidebarToggle } from "./SidebarToggle";
diff --git a/apps/desktop/src/renderer/screens/main/components/TopBar/WindowControls.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/WindowControls/WindowControls.tsx
similarity index 100%
rename from apps/desktop/src/renderer/screens/main/components/TopBar/WindowControls.tsx
rename to apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/WindowControls/WindowControls.tsx
diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/WindowControls/index.ts b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/WindowControls/index.ts
new file mode 100644
index 00000000000..87f577b6f5d
--- /dev/null
+++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/components/WindowControls/index.ts
@@ -0,0 +1 @@
+export { WindowControls } from "./WindowControls";
diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/index.ts b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/index.ts
new file mode 100644
index 00000000000..7cc3ff0450b
--- /dev/null
+++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/components/TopBar/index.ts
@@ -0,0 +1 @@
+export { TopBar } from "./TopBar";
diff --git a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/layout.tsx b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/layout.tsx
index ca434cc58ee..36e0f50e705 100644
--- a/apps/desktop/src/renderer/routes/_authenticated/_dashboard/layout.tsx
+++ b/apps/desktop/src/renderer/routes/_authenticated/_dashboard/layout.tsx
@@ -6,7 +6,6 @@ import {
} from "@tanstack/react-router";
import { electronTrpc } from "renderer/lib/electron-trpc";
import { ResizablePanel } from "renderer/screens/main/components/ResizablePanel";
-import { TopBar } from "renderer/screens/main/components/TopBar";
import { WorkspaceSidebar } from "renderer/screens/main/components/WorkspaceSidebar";
import { useAppHotkey } from "renderer/stores/hotkeys";
import { useOpenNewWorkspaceModal } from "renderer/stores/new-workspace-modal";
@@ -15,6 +14,7 @@ import {
MAX_WORKSPACE_SIDEBAR_WIDTH,
useWorkspaceSidebarStore,
} from "renderer/stores/workspace-sidebar-state";
+import { TopBar } from "./components/TopBar";
export const Route = createFileRoute("/_authenticated/_dashboard")({
component: DashboardLayout,
diff --git a/apps/desktop/src/renderer/screens/main/components/StartView/StartTopBar.tsx b/apps/desktop/src/renderer/screens/main/components/StartView/StartTopBar.tsx
index 02e53f550fc..2474e8c7c26 100644
--- a/apps/desktop/src/renderer/screens/main/components/StartView/StartTopBar.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/StartView/StartTopBar.tsx
@@ -1,5 +1,5 @@
import { electronTrpc } from "renderer/lib/electron-trpc";
-import { WindowControls } from "../TopBar/WindowControls";
+import { WindowControls } from "renderer/routes/_authenticated/_dashboard/components/TopBar/components/WindowControls";
export function StartTopBar() {
const { data: platform, isLoading } =
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
index d9acbddb7c6..10ffe4fdc02 100644
--- a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/WorkspaceSidebarHeader.tsx
+++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/WorkspaceSidebarHeader.tsx
@@ -3,16 +3,9 @@ import { Tooltip, TooltipContent, TooltipTrigger } from "@superset/ui/tooltip";
import { cn } from "@superset/ui/utils";
import { useMatchRoute, useNavigate } from "@tanstack/react-router";
import { useFeatureFlagEnabled } from "posthog-js/react";
-import { useState } from "react";
import { HiOutlineClipboardDocumentList } from "react-icons/hi2";
-import {
- LuLayers,
- LuPanelLeft,
- LuPanelLeftClose,
- LuPanelLeftOpen,
-} from "react-icons/lu";
-import { useWorkspaceSidebarStore } from "renderer/stores";
-import { STROKE_WIDTH, STROKE_WIDTH_THIN } from "../constants";
+import { LuLayers } from "react-icons/lu";
+import { STROKE_WIDTH } from "../constants";
import { NewWorkspaceButton } from "./NewWorkspaceButton";
interface WorkspaceSidebarHeaderProps {
@@ -24,8 +17,6 @@ export function WorkspaceSidebarHeader({
}: WorkspaceSidebarHeaderProps) {
const navigate = useNavigate();
const matchRoute = useMatchRoute();
- const { toggleCollapsed } = useWorkspaceSidebarStore();
- const [isHovering, setIsHovering] = useState(false);
const hasTasksAccess = useFeatureFlagEnabled(
FEATURE_FLAGS.ELECTRIC_TASKS_ACCESS,
);
@@ -47,43 +38,9 @@ export function WorkspaceSidebarHeader({
navigate({ to: "/tasks" });
};
- const handleToggleSidebar = () => {
- toggleCollapsed();
- };
-
- const getToggleIcon = () => {
- if (isCollapsed) {
- return isHovering ? (
-
- ) : (
-
- );
- }
- return isHovering ? (
-
- ) : (
-
- );
- };
-
if (isCollapsed) {
return (
-
-
-
-
- Toggle sidebar
-
-