This commit is contained in:
2025-11-16 21:08:07 +01:00
parent 4b9f74d5a8
commit 1f2c62241c
6 changed files with 82 additions and 142 deletions
+17
View File
@@ -39,6 +39,7 @@ export interface DeskDocument {
id?: Identifier | null;
title?: string;
tags?: TagLike[] | null;
previewEntry?: OverlaySource | null;
[key: string]: unknown;
}
@@ -172,6 +173,7 @@ interface DesktopWorkspaceViewProps {
closeOverlay: () => void;
overlayOriginRect: DOMRect | null;
overlayOriginTransform: OverlayOriginTransform | null;
overlayDocument: DeskDocument | null;
onEntryPointer?: DesktopWorkspaceProps['onEntryPointer'];
onDocumentStackSelect?: DesktopWorkspaceProps['onDocumentStackSelect'];
onPromoteSelection?: DesktopWorkspaceProps['onPromoteSelection'];
@@ -677,6 +679,17 @@ const DesktopWorkspace: React.FC<DesktopWorkspaceProps> = ({
};
}, [overlaySource]);
const overlayDocument = useMemo<DeskDocument | null>(() => {
if (!overlayDocId) {
return null;
}
const baseDoc = documentLookup.get(String(overlayDocId)) || null;
if (baseDoc && overlayDisplay?.url) {
return { ...baseDoc, previewEntry: overlayDisplay };
}
return baseDoc;
}, [documentLookup, overlayDisplay, overlayDocId]);
const openOverlayForDoc = useCallback(
(docId: Identifier | null, originInfo: OverlayOriginHint | null = null) => {
if (!docId) {
@@ -782,6 +795,7 @@ const DesktopWorkspace: React.FC<DesktopWorkspaceProps> = ({
closeOverlay,
overlayOriginRect,
overlayOriginTransform,
overlayDocument,
onEntryPointer,
onDocumentStackSelect,
onPromoteSelection,
@@ -838,6 +852,7 @@ const DesktopWorkspace: React.FC<DesktopWorkspaceProps> = ({
overlayDisplay,
overlayOriginRect,
overlayOriginTransform,
overlayDocument,
documentLookup,
pendingRemovalTag,
pendingTagDocId,
@@ -887,6 +902,7 @@ function DesktopWorkspaceView({
closeOverlay,
overlayOriginRect,
overlayOriginTransform,
overlayDocument,
onEntryPointer,
onDocumentStackSelect,
onPromoteSelection,
@@ -1108,6 +1124,7 @@ function DesktopWorkspaceView({
open={Boolean(overlayDisplay?.url)}
display={overlayDisplay}
onClose={closeOverlay}
document={overlayDocument}
originRect={overlayOriginRect}
originTransform={overlayOriginTransform}
/>