From f566c5940a7606221d4953061d357f8aebbcae58 Mon Sep 17 00:00:00 2001
From: "Taylor Wilsdon (aider)" <taylor@taylorwilsdon.com>
Date: Sun, 15 Dec 2024 16:08:32 -0500
Subject: [PATCH] feat: Add Google Drive picker button to MessageInput
 component

---
 src/lib/components/chat/Chat.svelte         |  2 ++
 src/lib/components/chat/MessageInput.svelte | 10 ++++++++++
 2 files changed, 12 insertions(+)

diff --git a/src/lib/components/chat/Chat.svelte b/src/lib/components/chat/Chat.svelte
index eda2cf86a..102453dc0 100644
--- a/src/lib/components/chat/Chat.svelte
+++ b/src/lib/components/chat/Chat.svelte
@@ -2316,6 +2316,8 @@
 										await uploadWeb(data);
 									} else if (type === 'youtube') {
 										await uploadYoutubeTranscription(data);
+									} else if (type === 'google-drive') {
+										await uploadGoogleDriveFile(data);
 									}
 								}}
 								on:submit={async (e) => {
diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte
index 6dd6ff258..1303cf373 100644
--- a/src/lib/components/chat/MessageInput.svelte
+++ b/src/lib/components/chat/MessageInput.svelte
@@ -496,6 +496,16 @@
 										uploadFilesHandler={() => {
 											filesInputElement.click();
 										}}
+										uploadGoogleDriveHandler={async () => {
+											try {
+												const fileData = await createPicker();
+												if (fileData) {
+													dispatch('upload', { type: 'google-drive', data: fileData });
+												}
+											} catch (error) {
+												toast.error('Error accessing Google Drive: ' + error.message);
+											}
+										}}
 										onClose={async () => {
 											await tick();