+
Add repository
+
);
}
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..13c0944e0d6 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/store";
interface OrganizationDropdownProps {
isCollapsed?: boolean;
@@ -34,7 +41,9 @@ export function OrganizationDropdown({
const collections = useCollections();
const setActiveOrg = trpc.auth.setActiveOrganization.useMutation();
const signOut = trpc.auth.signOut.useMutation();
+ const openUrl = trpc.external.openUrl.useMutation();
const openSettings = useOpenSettings();
+ const hotkeysShortcut = useHotkeyText("SHOW_HOTKEYS");
const activeOrganizationId = session?.session?.activeOrganizationId;
@@ -102,13 +111,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 +179,39 @@ export function OrganizationDropdown({
>
)}
+ {/* Contact Us */}
+
+
+
+ Contact us
+
+
+ openUrl.mutate("https://discord.gg/superset")}
+ className="gap-2"
+ >
+
+ Discord
+
+ openUrl.mutate("mailto:founders@superset.sh")}
+ className="gap-2"
+ >
+
+ Email founders
+
+ openUrl.mutate("https://x.com/supersetsh")}
+ className="gap-2"
+ >
+
+ X (Twitter)
+
+
+
+
+
+
{/* Sign out - ALWAYS show so users can never get trapped */}
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
-
-
-
-