From 7443d0ab6b8d1ca1bfff451c0daf96d412535bb1 Mon Sep 17 00:00:00 2001 From: n4ze3m Date: Sat, 18 Jan 2025 22:04:39 +0530 Subject: [PATCH] feat: Add option to enable chat with website by default --- src/assets/locale/ar/settings.json | 3 +++ src/assets/locale/de/settings.json | 3 +++ src/assets/locale/en/settings.json | 3 +++ src/assets/locale/es/settings.json | 3 +++ src/assets/locale/fa/settings.json | 3 +++ src/assets/locale/fr/settings.json | 3 +++ src/assets/locale/it/settings.json | 3 +++ src/assets/locale/ja-JP/settings.json | 3 +++ src/assets/locale/ko/settings.json | 3 +++ src/assets/locale/ml/settings.json | 3 +++ src/assets/locale/no/settings.json | 3 +++ src/assets/locale/pt-BR/settings.json | 3 +++ src/assets/locale/ru/settings.json | 3 +++ src/assets/locale/sv/settings.json | 3 +++ src/assets/locale/uk/settings.json | 3 +++ src/assets/locale/zh/settings.json | 3 +++ .../Option/Settings/general-settings.tsx | 17 ++++++++++++++++- src/components/Sidepanel/Chat/form.tsx | 13 ++++++++++++- src/hooks/useMessage.tsx | 11 ++++++++++- 19 files changed, 86 insertions(+), 3 deletions(-) diff --git a/src/assets/locale/ar/settings.json b/src/assets/locale/ar/settings.json index ac3973a..a93eafd 100644 --- a/src/assets/locale/ar/settings.json +++ b/src/assets/locale/ar/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "استئناف آخر محادثة عند فتح اللوحة الجانبية (كوبيلوت)" }, + "turnOnChatWithWebsite": { + "label": "تمكين الدردشة مع الموقع بشكل افتراضي (كوبيلوت)" + }, "webUIResumeLastChat": { "label": "استئناف آخر محادثة عند فتح واجهة المستخدم" }, diff --git a/src/assets/locale/de/settings.json b/src/assets/locale/de/settings.json index efee952..d8a106d 100644 --- a/src/assets/locale/de/settings.json +++ b/src/assets/locale/de/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Letzten Chat beim Öffnen des Seitenpanels fortsetzen (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "Chat mit Website standardmäßig aktivieren (Copilot)" + }, "webUIResumeLastChat": { "label": "Letzten Chat beim Öffnen der Web-UI fortsetzen" }, diff --git a/src/assets/locale/en/settings.json b/src/assets/locale/en/settings.json index a158d05..c7c75b7 100644 --- a/src/assets/locale/en/settings.json +++ b/src/assets/locale/en/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Resume the last chat when opening the SidePanel (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "Enable Chat with Website by default (Copilot)" + }, "webUIResumeLastChat": { "label": "Resume the last chat when opening the Web UI" }, diff --git a/src/assets/locale/es/settings.json b/src/assets/locale/es/settings.json index 1e474ab..4ff0ac6 100644 --- a/src/assets/locale/es/settings.json +++ b/src/assets/locale/es/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Retomar el último chat al abrir el Panel Lateral (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "Habilitar Chat con Sitio Web por defecto (Copilot)" + }, "webUIResumeLastChat": { "label": "Retomar el último chat al abrir la Interfaz Web" }, diff --git a/src/assets/locale/fa/settings.json b/src/assets/locale/fa/settings.json index 8b23ebf..a66db85 100644 --- a/src/assets/locale/fa/settings.json +++ b/src/assets/locale/fa/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "آخرین گفتگو را هنگام باز کردن SidePanel (Copilot) از سر بگیر" }, + "turnOnChatWithWebsite": { + "label": "فعال کردن گپ با وب سایت به صورت پیش‌فرض (کوپایلوت)" + }, "hideCurrentChatModelSettings": { "label": "مخفی کردن تنظیمات مدل گپ فعلی را" }, diff --git a/src/assets/locale/fr/settings.json b/src/assets/locale/fr/settings.json index 780ddb4..8dcfcba 100644 --- a/src/assets/locale/fr/settings.json +++ b/src/assets/locale/fr/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Reprendre la dernière conversation lors de l'ouverture du sidepanel (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "Activer le chat avec le site Web par défaut (Copilot)" + }, "webUIResumeLastChat": { "label": "Reprendre la dernière conversation lors de l'ouverture de l'interface Web" }, diff --git a/src/assets/locale/it/settings.json b/src/assets/locale/it/settings.json index 4b0c900..7f1e71d 100644 --- a/src/assets/locale/it/settings.json +++ b/src/assets/locale/it/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Riprendi l'ultima chat quando apri il Pannello Laterale (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "Abilita Chat con il Sito Web per impostazione predefinita (Copilot)" + }, "webUIResumeLastChat": { "label": "Riprendi l'ultima chat quando apri l'interfaccia Web" }, diff --git a/src/assets/locale/ja-JP/settings.json b/src/assets/locale/ja-JP/settings.json index 6aabff0..8c06300 100644 --- a/src/assets/locale/ja-JP/settings.json +++ b/src/assets/locale/ja-JP/settings.json @@ -24,6 +24,9 @@ "copilotResumeLastChat": { "label": "サイドパネルを開いたときに最後のチャットを再開 (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "デフォルトでウェブサイトとのチャットを有効にする (Copilot)" + }, "webUIResumeLastChat": { "label": "Web UIを開いたときに最後のチャットを再開" }, diff --git a/src/assets/locale/ko/settings.json b/src/assets/locale/ko/settings.json index b652959..f7950ea 100644 --- a/src/assets/locale/ko/settings.json +++ b/src/assets/locale/ko/settings.json @@ -24,6 +24,9 @@ "copilotResumeLastChat": { "label": "사이드 패널을 열 때 마지막 채팅 재개 (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "웹사이트와의 채팅 기본 활성화 (Copilot)" + }, "webUIResumeLastChat": { "label": "웹 UI를 열 때 마지막 채팅 재개" }, diff --git a/src/assets/locale/ml/settings.json b/src/assets/locale/ml/settings.json index c093da0..13700f3 100644 --- a/src/assets/locale/ml/settings.json +++ b/src/assets/locale/ml/settings.json @@ -24,6 +24,9 @@ "copilotResumeLastChat": { "label": "സൈഡ്പാനൽ തുറക്കുമ്പോൾ അവസാനത്തെ ചാറ്റ് പുനരാരംഭിക്കുക (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "സ്ഥിരസ്ഥിതിയായി വെബ്സൈറ്റുമായുള്ള ചാറ്റ് പ്രവർത്തനക്ഷമമാക്കുക (കോപൈലറ്റ്)" + }, "webUIResumeLastChat": { "label": "വെബ് UI തുറക്കുമ്പോൾ അവസാനത്തെ ചാറ്റ് പുനരാരംഭിക്കുക" }, diff --git a/src/assets/locale/no/settings.json b/src/assets/locale/no/settings.json index 16f6c59..4b9c66d 100644 --- a/src/assets/locale/no/settings.json +++ b/src/assets/locale/no/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Gjenoppta siste chat ved åpning av SidePanel (copilot)" }, + "turnOnChatWithWebsite": { + "label": "Aktiver Chat med Nettsted som standard (Copilot)" + }, "webUIResumeLastChat": { "label": "Gjenoppta siste chat når Web UI åpnes" }, diff --git a/src/assets/locale/pt-BR/settings.json b/src/assets/locale/pt-BR/settings.json index 8b1423d..dc186ef 100644 --- a/src/assets/locale/pt-BR/settings.json +++ b/src/assets/locale/pt-BR/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Retomar o último chat ao abrir o Painel Lateral (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "Ativar Chat com o Site por padrão (Copilot)" + }, "webUIResumeLastChat": { "label": "Retomar o último chat ao abrir a Interface Web" }, diff --git a/src/assets/locale/ru/settings.json b/src/assets/locale/ru/settings.json index 6afd82c..80592e4 100644 --- a/src/assets/locale/ru/settings.json +++ b/src/assets/locale/ru/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Возобновить последний чат при открытии боковой панели (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "Включить чат с веб-сайтом по умолчанию (Copilot)" + }, "webUIResumeLastChat": { "label": "Возобновить последний чат при открытии веб-интерфейса" }, diff --git a/src/assets/locale/sv/settings.json b/src/assets/locale/sv/settings.json index bc10a22..84f38dd 100644 --- a/src/assets/locale/sv/settings.json +++ b/src/assets/locale/sv/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Återuppta den senaste chatten när du öppnar sidopanelen (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "Aktivera Chatta med Webbplats som standard (Copilot)" + }, "webUIResumeLastChat": { "label": "Återuppta den senaste chatten när du öppnar webbgränssnittet" }, diff --git a/src/assets/locale/uk/settings.json b/src/assets/locale/uk/settings.json index d8c8a98..3d937a8 100644 --- a/src/assets/locale/uk/settings.json +++ b/src/assets/locale/uk/settings.json @@ -21,6 +21,9 @@ "copilotResumeLastChat": { "label": "Поновити останню розмову при відкритті бічної панелі (Copilot)" }, + "turnOnChatWithWebsite": { + "label": "Увімкнути чат з веб-сайтом за замовчуванням (Copilot)" + }, "webUIResumeLastChat": { "label": "Поновити останню розмову при відкритті веб-інтерфейсу" }, diff --git a/src/assets/locale/zh/settings.json b/src/assets/locale/zh/settings.json index e86b363..ccaf4eb 100644 --- a/src/assets/locale/zh/settings.json +++ b/src/assets/locale/zh/settings.json @@ -24,6 +24,9 @@ "copilotResumeLastChat": { "label": "打开侧边栏时恢复上次聊天(Copilot)" }, + "turnOnChatWithWebsite": { + "label": "默认启用与网站对话(Copilot)" + }, "webUIResumeLastChat": { "label": "打开Web UI时恢复上次聊天" }, diff --git a/src/components/Option/Settings/general-settings.tsx b/src/components/Option/Settings/general-settings.tsx index 45bd9c2..d000614 100644 --- a/src/components/Option/Settings/general-settings.tsx +++ b/src/components/Option/Settings/general-settings.tsx @@ -31,6 +31,10 @@ export const GeneralSettings = () => { "webUIResumeLastChat", false ) + const [defaultChatWithWebsite, setDefaultChatWithWebsite] = useStorage( + "defaultChatWithWebsite", + false + ) const [restoreLastChatModel, setRestoreLastChatModel] = useStorage( "restoreLastChatModel", @@ -118,6 +122,17 @@ export const GeneralSettings = () => { onChange={(checked) => setCopilotResumeLastChat(checked)} /> +
+
+ + {t("generalSettings.settings.turnOnChatWithWebsite.label")} + +
+ setDefaultChatWithWebsite(checked)} + /> +
@@ -220,7 +235,7 @@ export const GeneralSettings = () => {
- +
{t("generalSettings.system.export.label")} diff --git a/src/components/Sidepanel/Chat/form.tsx b/src/components/Sidepanel/Chat/form.tsx index c0bacad..7d0c376 100644 --- a/src/components/Sidepanel/Chat/form.tsx +++ b/src/components/Sidepanel/Chat/form.tsx @@ -134,7 +134,8 @@ export const SidepanelForm = ({ dropedFile }: Props) => { speechToTextLanguage, useOCR, setUseOCR, - defaultInternetSearchOn + defaultInternetSearchOn, + defaultChatWithWebsite } = useMessage() React.useEffect(() => { @@ -200,6 +201,10 @@ export const SidepanelForm = ({ dropedFile }: Props) => { setWebSearch(true) } + if (defaultChatWithWebsite) { + setChatMode("rag") + } + return () => { textareaRef.current?.removeEventListener("drop", handleDrop) textareaRef.current?.removeEventListener("dragover", handleDragOver) @@ -212,6 +217,12 @@ export const SidepanelForm = ({ dropedFile }: Props) => { } }, [defaultInternetSearchOn]) + React.useEffect(() => { + if (defaultChatWithWebsite) { + setChatMode("rag") + } + }, [defaultChatWithWebsite]) + return (
{ "defaultInternetSearchOn", false ) + + const [ + defaultChatWithWebsite, + ] = useStorage("defaultChatWithWebsite", false) + const [chatWithWebsiteEmbedding] = useStorage( "chatWithWebsiteEmbedding", true @@ -113,6 +118,9 @@ export const useMessage = () => { if(defaultInternetSearchOn) { setWebSearch(true) } + if(defaultChatWithWebsite) { + setChatMode("rag") + } } const chatWithWebsiteMode = async ( @@ -1721,6 +1729,7 @@ export const useMessage = () => { setSpeechToTextLanguage, useOCR, setUseOCR, - defaultInternetSearchOn + defaultInternetSearchOn, + defaultChatWithWebsite } }