From daa51884a9333c6de222adfa5c3918336aed351f Mon Sep 17 00:00:00 2001 From: AviPeltz Date: Sat, 10 Jan 2026 10:39:21 -0800 Subject: [PATCH 1/5] organizations + move avatar --- .../WorkspaceSidebar/WorkspaceSidebarFooter.tsx | 7 +++++-- .../WorkspaceSidebarHeader.tsx | 5 ----- .../ScrollToBottomButton/ScrollToBottomButton.tsx | 12 +++++++++--- .../ContentView/TabsContent/Terminal/Terminal.tsx | 5 ++++- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarFooter.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarFooter.tsx index 517c44616bd..637ed3f2be9 100644 --- a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarFooter.tsx +++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarFooter.tsx @@ -5,6 +5,7 @@ import { LuFolderOpen } from "react-icons/lu"; import { useOpenNew } from "renderer/react-query/projects"; import { useCreateBranchWorkspace } from "renderer/react-query/workspaces"; import { STROKE_WIDTH } from "./constants"; +import { OrganizationDropdown } from "./WorkspaceSidebarHeader/OrganizationDropdown"; interface WorkspaceSidebarFooterProps { isCollapsed?: boolean; @@ -55,7 +56,7 @@ export function WorkspaceSidebarFooter({ if (isCollapsed) { return ( -
+
); } 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 index ec8598c5c26..759dfc8e0af 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 @@ -19,7 +19,6 @@ import { } from "renderer/stores/app-state"; import { STROKE_WIDTH, STROKE_WIDTH_THIN } from "../constants"; import { NewWorkspaceButton } from "./NewWorkspaceButton"; -import { OrganizationDropdown } from "./OrganizationDropdown"; interface WorkspaceSidebarHeaderProps { isCollapsed?: boolean; @@ -86,8 +85,6 @@ export function WorkspaceSidebarHeader({ Toggle sidebar - - From a50f3796e95e7f44ec464c2d8a2fc86d64ba8b93 Mon Sep 17 00:00:00 2001 From: AviPeltz Date: Sat, 10 Jan 2026 11:04:01 -0800 Subject: [PATCH 3/5] make avatar dropdown better --- .../OrganizationDropdown.tsx | 68 ++++++++++++++++++- 1 file changed, 65 insertions(+), 3 deletions(-) diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/OrganizationDropdown.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/OrganizationDropdown.tsx index 370f689a6f7..776076fff70 100644 --- a/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/OrganizationDropdown.tsx +++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceSidebar/WorkspaceSidebarHeader/OrganizationDropdown.tsx @@ -6,6 +6,7 @@ import { DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, + DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, @@ -13,15 +14,21 @@ import { } from "@superset/ui/dropdown-menu"; import { Tooltip, TooltipContent, TooltipTrigger } from "@superset/ui/tooltip"; import { useLiveQuery } from "@tanstack/react-db"; +import { FaDiscord, FaXTwitter } from "react-icons/fa6"; import { HiCheck, HiChevronUpDown, HiOutlineArrowRightOnRectangle, + HiOutlineCog6Tooth, + HiOutlineCommandLine, + HiOutlineEnvelope, + HiOutlineUserGroup, } from "react-icons/hi2"; import { useAuth } from "renderer/contexts/AuthProvider"; import { useCollections } from "renderer/contexts/CollectionsProvider"; import { trpc } from "renderer/lib/trpc"; import { useOpenSettings } from "renderer/stores/app-state"; +import { useHotkeyText } from "renderer/stores/hotkeys"; interface OrganizationDropdownProps { isCollapsed?: boolean; @@ -35,6 +42,7 @@ export function OrganizationDropdown({ const setActiveOrg = trpc.auth.setActiveOrganization.useMutation(); const signOut = trpc.auth.signOut.useMutation(); const openSettings = useOpenSettings(); + const hotkeysShortcut = useHotkeyText("SHOW_HOTKEYS"); const activeOrganizationId = session?.session?.activeOrganizationId; @@ -102,13 +110,30 @@ export function OrganizationDropdown({ {activeOrganization && ( <> {/* Settings */} - openSettings()}> + openSettings()} className="gap-2"> + Settings {/* Team management */} - openSettings("team")}> - Invite and manage members + openSettings("team")} + className="gap-2" + > + + Team + + + {/* Hotkeys */} + openSettings("keyboard")} + className="gap-2" + > + + Hotkeys + {hotkeysShortcut !== "Unassigned" && ( + {hotkeysShortcut} + )} @@ -153,6 +178,43 @@ export function OrganizationDropdown({ )} + {/* Contact Us */} + + + + Contact us + + + + window.open("https://discord.gg/superset", "_blank") + } + className="gap-2" + > + + Discord + + + window.open("mailto:founders@superset.sh", "_blank") + } + className="gap-2" + > + + Email founders + + window.open("https://x.com/supersetsh", "_blank")} + className="gap-2" + > + + X (Twitter) + + + + + + {/* Sign out - ALWAYS show so users can never get trapped */} From c27168eb72ff182d0cf02140423906779fedc341 Mon Sep 17 00:00:00 2001 From: AviPeltz Date: Sat, 10 Jan 2026 11:07:59 -0800 Subject: [PATCH 4/5] fix accessibility --- .../Terminal/ScrollToBottomButton/ScrollToBottomButton.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/ScrollToBottomButton/ScrollToBottomButton.tsx b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/ScrollToBottomButton/ScrollToBottomButton.tsx index af31e938a7d..868f8bb627a 100644 --- a/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/ScrollToBottomButton/ScrollToBottomButton.tsx +++ b/apps/desktop/src/renderer/screens/main/components/WorkspaceView/ContentView/TabsContent/Terminal/ScrollToBottomButton/ScrollToBottomButton.tsx @@ -60,12 +60,14 @@ export function ScrollToBottomButton({ ? "translate-y-0 opacity-100" : "pointer-events-none translate-y-2 opacity-0", )} + aria-hidden={!isVisible} >