diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte index 768975dacb..3f0f8d13e4 100644 --- a/src/lib/components/chat/Chat.svelte +++ b/src/lib/components/chat/Chat.svelte @@ -1231,7 +1231,19 @@ const { query, files: eventFiles } = $desktopEvent; desktopEvent.set(null); - // TODO: handle eventFiles (attach to chat) + // Attach screenshot images from desktop (e.g. Spotlight region capture) + if (eventFiles?.length) { + for (const ef of eventFiles) { + files = [ + ...files, + { + type: 'image', + url: ef.dataUrl, + name: ef.name + } + ]; + } + } if (query) { messageInput?.setText(query); diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 0f032c6642..b028236533 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -711,8 +711,8 @@ await goto(event.data.path); return; } - if (event.type === 'query' && event.data?.query) { - desktopEvent.set({ query: event.data.query }); + if (event.type === 'query' && (event.data?.query || event.data?.files?.length)) { + desktopEvent.set({ query: event.data.query, files: event.data.files }); await goto('/'); return; }