From 7d5c8d5befaeee1ec58df7db629b0d79c3f32371 Mon Sep 17 00:00:00 2001 From: Arjun Mahanti Date: Thu, 10 Sep 2026 08:26:33 -0700 Subject: [PATCH] Move Pulse app navigation to the window sidebar Signed-off-by: Arjun Mahanti --- .../features/profile/ui/UserProfilePanel.tsx | 2 + .../profile/ui/UserProfilePanelFrame.tsx | 4 +- .../profile/ui/UserProfilePanelUtils.ts | 2 + .../features/pulse/ui/PulseAppNavigation.tsx | 51 +++++++ .../features/pulse/ui/PulseCombinedView.tsx | 3 - .../pulse/ui/PulseConversationSplitView.tsx | 76 +++++------ desktop/src/features/pulse/ui/PulseScreen.tsx | 1 + .../features/pulse/ui/UnifiedPulseView.tsx | 104 ++++++++------ desktop/tests/e2e/pulse-unified.spec.ts | 129 +++++++++++++++--- 9 files changed, 260 insertions(+), 112 deletions(-) create mode 100644 desktop/src/features/pulse/ui/PulseAppNavigation.tsx diff --git a/desktop/src/features/profile/ui/UserProfilePanel.tsx b/desktop/src/features/profile/ui/UserProfilePanel.tsx index d060deb532..a5a87fb29a 100644 --- a/desktop/src/features/profile/ui/UserProfilePanel.tsx +++ b/desktop/src/features/profile/ui/UserProfilePanel.tsx @@ -103,6 +103,7 @@ export type { ProfilePanelTab, ProfilePanelView }; export function UserProfilePanel({ canResetWidth, + className, currentPubkey, isSinglePanelView = false, layout = "standalone", @@ -976,6 +977,7 @@ export function UserProfilePanel({ void; +}) { + return ( + + ); +} diff --git a/desktop/src/features/pulse/ui/PulseCombinedView.tsx b/desktop/src/features/pulse/ui/PulseCombinedView.tsx index 6f40515265..9a940b6c74 100644 --- a/desktop/src/features/pulse/ui/PulseCombinedView.tsx +++ b/desktop/src/features/pulse/ui/PulseCombinedView.tsx @@ -13,7 +13,6 @@ export function PulseCombinedView({ scrollRef, children, view, - workspaceContent, onSelectView, }: { grouped?: boolean; @@ -23,7 +22,6 @@ export function PulseCombinedView({ scrollRef: React.RefCallback; children: React.ReactNode; view: PulseView; - workspaceContent?: React.ReactNode; onSelectView: (view: PulseView) => void; }) { const sorted = React.useMemo(() => { @@ -49,7 +47,6 @@ export function PulseCombinedView({ testPrefix="pulse-combined" allMessages={{ content: children, scrollRef }} navigation={{ view, onSelectView }} - workspaceContent={workspaceContent} /> ); } diff --git a/desktop/src/features/pulse/ui/PulseConversationSplitView.tsx b/desktop/src/features/pulse/ui/PulseConversationSplitView.tsx index bed49264af..e57812974a 100644 --- a/desktop/src/features/pulse/ui/PulseConversationSplitView.tsx +++ b/desktop/src/features/pulse/ui/PulseConversationSplitView.tsx @@ -6,15 +6,7 @@ import { CLEAR_WORKSPACE_PANELS, type PulseView, } from "../lib/workspaceNavigation"; -import { - Inbox, - Search, - MessageCircle, - Users, - Folders, - Bot, - Zap, -} from "lucide-react"; +import { Inbox, Search, MessageCircle, Users } from "lucide-react"; import { allowNavigation } from "@/app/navigation/navigationGuard"; import { buildDirectMessageIntro } from "@/features/channels/lib/dmParticipantDisplay"; import { useUsersBatchQuery } from "@/features/profile/hooks"; @@ -62,7 +54,6 @@ export function PulseConversationSplitView({ testPrefix, allMessages, navigation, - workspaceContent, }: { grouped?: boolean; channels: Channel[]; @@ -75,7 +66,6 @@ export function PulseConversationSplitView({ content: React.ReactNode; scrollRef: React.RefCallback; }; - workspaceContent?: React.ReactNode; navigation?: { view: PulseView; onSelectView: (view: PulseView) => void; @@ -176,9 +166,6 @@ export function PulseConversationSplitView({ [ { id: "search", label: "Search", icon: Search }, { id: "all", label: "For you", icon: Inbox }, - { id: "projects", label: "Projects", icon: Folders }, - { id: "agents", label: "Agents", icon: Bot }, - { id: "workflows", label: "Workflows", icon: Zap }, ] as const ).map(({ id, label, icon: Icon }) => (