From c2363ff7f3f839393e5d6b73602cabd62cf05f97 Mon Sep 17 00:00:00 2001 From: Thomas Petersen Date: Fri, 15 May 2026 10:18:14 -0400 Subject: [PATCH] fix(desktop): experiment with overlaid inbox context header Move the Home inbox context header into the conversation pane so the thread content sits directly under a blurred top overlay. Co-authored-by: Cursor --- desktop/src/features/home/ui/HomeView.tsx | 14 +-- .../src/features/home/ui/InboxDetailPane.tsx | 112 +++++++++--------- 2 files changed, 63 insertions(+), 63 deletions(-) diff --git a/desktop/src/features/home/ui/HomeView.tsx b/desktop/src/features/home/ui/HomeView.tsx index 67141da1e3..68bdc99878 100644 --- a/desktop/src/features/home/ui/HomeView.tsx +++ b/desktop/src/features/home/ui/HomeView.tsx @@ -325,9 +325,9 @@ export function HomeView({ selectedItem.item.pubkey.trim().toLowerCase(); return ( -
+
{ - if (selectedItem) { - handleToggleDone(selectedItem.id); - } - }} onToggleReaction={ canReply ? async (message, emoji, remove) => { @@ -442,6 +437,11 @@ export function HomeView({ } : undefined } + onToggleDone={() => { + if (selectedItem) { + handleToggleDone(selectedItem.id); + } + }} />
diff --git a/desktop/src/features/home/ui/InboxDetailPane.tsx b/desktop/src/features/home/ui/InboxDetailPane.tsx index f6b399e6cd..9310ae7cc5 100644 --- a/desktop/src/features/home/ui/InboxDetailPane.tsx +++ b/desktop/src/features/home/ui/InboxDetailPane.tsx @@ -1,4 +1,5 @@ import { + ArrowUpRight, CheckCheck, Mail, MailOpen, @@ -17,13 +18,13 @@ import { MessageActionBar } from "@/features/messages/ui/MessageActionBar"; import { MessageComposer } from "@/features/messages/ui/MessageComposer"; import { cn } from "@/shared/lib/cn"; import { Button } from "@/shared/ui/button"; -import { Markdown } from "@/shared/ui/markdown"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/shared/ui/dropdown-menu"; +import { Markdown } from "@/shared/ui/markdown"; import { Tooltip, TooltipContent, @@ -53,12 +54,12 @@ type InboxDetailPaneProps = { mentionPubkeys: string[]; parentEventId: string; }) => Promise; - onToggleDone: () => void; onToggleReaction?: ( message: TimelineMessage, emoji: string, remove: boolean, ) => Promise; + onToggleDone: () => void; }; type InboxDisplayMessage = InboxContextMessage & { @@ -94,8 +95,8 @@ export function InboxDetailPane({ onDelete, onOpenContext, onSendReply, - onToggleDone, onToggleReaction, + onToggleDone, }: InboxDetailPaneProps) { const detailPaneRef = React.useRef(null); const [replyTargetId, setReplyTargetId] = React.useState(null); @@ -202,60 +203,59 @@ export function InboxDetailPane({ data-testid="home-inbox-detail" ref={detailPaneRef} > -
-
-
-
- {canOpenChannel && contextChannelId && onOpenContext ? ( - - ) : ( -

- {contextLabel} -

- )} -
- -
- {item.fullTimestampLabel} -
-
- -
- -
-
- - ) : ( - - ) - } - /> -
- {canDelete ? ( - - ) : null} -
-
-
-
-
-
-
+
+
+ {canOpenChannel && contextChannelId && onOpenContext ? ( + + ) : ( +

+ {contextLabel} +

+ )} +
+ + +
+ {canOpenChannel && contextChannelId && onOpenContext ? ( + onOpenContext(contextChannelId, item.id)} + icon={} + /> + ) : null} + + ) : ( + + ) + } + /> + {canDelete ? ( + + ) : null} +
+
+
+ +
{isThreadContextLoading ? (