diff --git a/src/assets/locale/ar/common.json b/src/assets/locale/ar/common.json index 2f8e349..6c2d77a 100644 --- a/src/assets/locale/ar/common.json +++ b/src/assets/locale/ar/common.json @@ -124,5 +124,6 @@ }, "pin": "تثبيت", "unpin": "إلغاء التثبيت", - "generationInfo": "معلومات التوليد" + "generationInfo": "معلومات التوليد", + "sidebarChat": "دردشة الشريط الجانبي" } diff --git a/src/assets/locale/ar/settings.json b/src/assets/locale/ar/settings.json index 23e964d..ac3973a 100644 --- a/src/assets/locale/ar/settings.json +++ b/src/assets/locale/ar/settings.json @@ -77,6 +77,9 @@ }, "googleDomain": { "label": "نطاق جوجل" + }, + "searchOnByDefault": { + "label": "تفعيل البحث على الإنترنت بشكل افتراضي" } }, "system": { diff --git a/src/assets/locale/da/common.json b/src/assets/locale/da/common.json index de82642..9b2b30b 100644 --- a/src/assets/locale/da/common.json +++ b/src/assets/locale/da/common.json @@ -117,5 +117,6 @@ }, "pin": "Fastgør", "unpin": "Frigør", - "generationInfo": "Genererings Info" + "generationInfo": "Genererings Info", + "sidebarChat": "Sidepanel Chat" } \ No newline at end of file diff --git a/src/assets/locale/da/settings.json b/src/assets/locale/da/settings.json index 7efe9eb..74a2346 100644 --- a/src/assets/locale/da/settings.json +++ b/src/assets/locale/da/settings.json @@ -74,6 +74,9 @@ "braveApi": { "label": "Brave API Nøgle", "placeholder": "Indtast din Brave API nøgle" + }, + "searchOnByDefault": { + "label": "Internet Søgning TIL som standard" } }, "system": { diff --git a/src/assets/locale/de/common.json b/src/assets/locale/de/common.json index 65b72ab..d6bb325 100644 --- a/src/assets/locale/de/common.json +++ b/src/assets/locale/de/common.json @@ -117,5 +117,6 @@ }, "pin": "Anheften", "unpin": "Losheften", - "generationInfo": "Generierungsinformationen" + "generationInfo": "Generierungsinformationen", + "sidebarChat": "Seitenleisten-Chat" } \ No newline at end of file diff --git a/src/assets/locale/de/settings.json b/src/assets/locale/de/settings.json index 9d5822b..efee952 100644 --- a/src/assets/locale/de/settings.json +++ b/src/assets/locale/de/settings.json @@ -74,6 +74,9 @@ "braveApi": { "label": "Brave API-Schlüssel", "placeholder": "Geben Sie Ihren Brave API-Schlüssel ein" + }, + "searchOnByDefault": { + "label": "Internetsuche standardmäßig aktiviert" } }, "system": { diff --git a/src/assets/locale/en/common.json b/src/assets/locale/en/common.json index 6f14588..2268c8d 100644 --- a/src/assets/locale/en/common.json +++ b/src/assets/locale/en/common.json @@ -151,5 +151,6 @@ }, "pin": "Pin", "unpin": "Unpin", - "generationInfo": "Generation Info" + "generationInfo": "Generation Info", + "sidebarChat": "Sidebar Chat" } \ No newline at end of file diff --git a/src/assets/locale/en/settings.json b/src/assets/locale/en/settings.json index 2d7cdcd..a158d05 100644 --- a/src/assets/locale/en/settings.json +++ b/src/assets/locale/en/settings.json @@ -77,6 +77,9 @@ }, "googleDomain": { "label": "Google Domain" + }, + "searchOnByDefault": { + "label": "Internet Search ON by default" } }, "system": { diff --git a/src/assets/locale/es/common.json b/src/assets/locale/es/common.json index 210e043..4a3967c 100644 --- a/src/assets/locale/es/common.json +++ b/src/assets/locale/es/common.json @@ -116,5 +116,6 @@ }, "pin": "Fijar", "unpin": "Desfijar", - "generationInfo": "Información de Generación" + "generationInfo": "Información de Generación", + "sidebarChat": "Chat lateral" } \ No newline at end of file diff --git a/src/assets/locale/es/settings.json b/src/assets/locale/es/settings.json index 41a24cb..1e474ab 100644 --- a/src/assets/locale/es/settings.json +++ b/src/assets/locale/es/settings.json @@ -74,6 +74,9 @@ "braveApi": { "label": "Clave API de Brave", "placeholder": "Ingrese su clave API de Brave" + }, + "searchOnByDefault": { + "label": "Búsqueda en Internet activada por defecto" } }, "system": { diff --git a/src/assets/locale/fa/common.json b/src/assets/locale/fa/common.json index 72301c7..8532074 100644 --- a/src/assets/locale/fa/common.json +++ b/src/assets/locale/fa/common.json @@ -110,5 +110,6 @@ }, "pin": "پین کردن", "unpin": "حذف پین", - "generationInfo": "اطلاعات تولید" + "generationInfo": "اطلاعات تولید", + "sidebarChat": "چت کناری" } \ No newline at end of file diff --git a/src/assets/locale/fa/settings.json b/src/assets/locale/fa/settings.json index 48aaf5d..8b23ebf 100644 --- a/src/assets/locale/fa/settings.json +++ b/src/assets/locale/fa/settings.json @@ -71,6 +71,9 @@ "braveApi": { "label": "کلید API بریو", "placeholder": "کلید API بریو خود را وارد کنید" + }, + "searchOnByDefault": { + "label": "جستجوی اینترنتی به صورت پیش‌فرض فعال باشد" } }, "system": { diff --git a/src/assets/locale/fr/common.json b/src/assets/locale/fr/common.json index d11ef8c..432c2c0 100644 --- a/src/assets/locale/fr/common.json +++ b/src/assets/locale/fr/common.json @@ -116,5 +116,6 @@ }, "pin": "Épingler", "unpin": "Désépingler", - "generationInfo": "Informations de génération" + "generationInfo": "Informations de génération", + "sidebarChat": "Chat latéral" } \ No newline at end of file diff --git a/src/assets/locale/fr/settings.json b/src/assets/locale/fr/settings.json index dbd7fad..780ddb4 100644 --- a/src/assets/locale/fr/settings.json +++ b/src/assets/locale/fr/settings.json @@ -74,6 +74,9 @@ "braveApi": { "label": "Clé API Brave", "placeholder": "Entrez votre clé API Brave" + }, + "searchOnByDefault": { + "label": "Recherche Internet activée par défaut" } }, "system": { diff --git a/src/assets/locale/it/common.json b/src/assets/locale/it/common.json index 6b08509..edcc2b8 100644 --- a/src/assets/locale/it/common.json +++ b/src/assets/locale/it/common.json @@ -116,5 +116,6 @@ }, "pin": "Fissa", "unpin": "Rimuovi", - "generationInfo": "Informazioni sulla Generazione" + "generationInfo": "Informazioni sulla Generazione", + "sidebarChat": "Chat Laterale" } \ No newline at end of file diff --git a/src/assets/locale/it/settings.json b/src/assets/locale/it/settings.json index 3b61c5c..4b0c900 100644 --- a/src/assets/locale/it/settings.json +++ b/src/assets/locale/it/settings.json @@ -74,6 +74,9 @@ "braveApi": { "label": "Chiave API Brave", "placeholder": "Inserisci la tua chiave API Brave" + }, + "searchOnByDefault": { + "label": "Ricerca Internet attiva per impostazione predefinita" } }, "system": { diff --git a/src/assets/locale/ja-JP/common.json b/src/assets/locale/ja-JP/common.json index 92ba8e0..dd2700b 100644 --- a/src/assets/locale/ja-JP/common.json +++ b/src/assets/locale/ja-JP/common.json @@ -116,5 +116,6 @@ }, "pin": "固定", "unpin": "固定解除", - "generationInfo": "生成情報" + "generationInfo": "生成情報", + "sidebarChat": "サイドバーチャット" } \ No newline at end of file diff --git a/src/assets/locale/ja-JP/settings.json b/src/assets/locale/ja-JP/settings.json index 239ffa4..6aabff0 100644 --- a/src/assets/locale/ja-JP/settings.json +++ b/src/assets/locale/ja-JP/settings.json @@ -77,6 +77,9 @@ "braveApi": { "label": "Brave APIキー", "placeholder": "Brave APIキーを入力してください" + }, + "searchOnByDefault": { + "label": "デフォルトでインターネット検索をオンにする" } }, "system": { diff --git a/src/assets/locale/ko/common.json b/src/assets/locale/ko/common.json index ed9e0b9..0e83e43 100644 --- a/src/assets/locale/ko/common.json +++ b/src/assets/locale/ko/common.json @@ -73,7 +73,8 @@ "numPredict": { "label": "최대 토큰 수 (num_predict)", "placeholder": "최대 토큰 수를 입력하세요 (예: 2048, 4096)" - }, "seed": { + }, + "seed": { "label": "시드", "placeholder": "시드 값을 입력하세요 (예: 1234)", "help": "모델 출력의 재현성" @@ -115,5 +116,6 @@ }, "pin": "고정", "unpin": "고정 해제", - "generationInfo": "생성 정보" -} + "generationInfo": "생성 정보", + "sidebarChat": "사이드바 채팅" +} \ No newline at end of file diff --git a/src/assets/locale/ko/settings.json b/src/assets/locale/ko/settings.json index 9728e98..b652959 100644 --- a/src/assets/locale/ko/settings.json +++ b/src/assets/locale/ko/settings.json @@ -77,6 +77,9 @@ "braveApi": { "label": "Brave API 키", "placeholder": "Brave API 키를 입력하세요" + }, + "searchOnByDefault": { + "label": "기본적으로 인터넷 검색 켜기" } }, "system": { diff --git a/src/assets/locale/ml/common.json b/src/assets/locale/ml/common.json index cd6868d..ae5489a 100644 --- a/src/assets/locale/ml/common.json +++ b/src/assets/locale/ml/common.json @@ -115,6 +115,7 @@ }, "pin": "പിൻ ചെയ്യുക", "unpin": "അൺപിൻ ചെയ്യുക", - "generationInfo": "ജനറേഷൻ വിവരങ്ങൾ" + "generationInfo": "ജനറേഷൻ വിവരങ്ങൾ", + "sidebarChat": "സൈഡ്ബാർ ചാറ്റ്" } \ No newline at end of file diff --git a/src/assets/locale/ml/settings.json b/src/assets/locale/ml/settings.json index fab6e6f..c093da0 100644 --- a/src/assets/locale/ml/settings.json +++ b/src/assets/locale/ml/settings.json @@ -77,6 +77,9 @@ "braveApi": { "label": "ബ്രേവ് API കീ", "placeholder": "നിങ്ങളുടെ ബ്രേവ് API കീ നൽകുക" + }, + "searchOnByDefault": { + "label": "സ്ഥിരസ്ഥിതിയായി ഇന്റർനെറ്റ് തിരച്ചിൽ പ്രവർത്തനക്ഷമമാക്കുക" } }, "system": { diff --git a/src/assets/locale/no/common.json b/src/assets/locale/no/common.json index 1720d1f..24b51b5 100644 --- a/src/assets/locale/no/common.json +++ b/src/assets/locale/no/common.json @@ -117,5 +117,6 @@ }, "pin": "Fest", "unpin": "Løsne", - "generationInfo": "Generasjonsinformasjon" + "generationInfo": "Generasjonsinformasjon", + "sidebarChat": "Sidepanel-chat" } \ No newline at end of file diff --git a/src/assets/locale/no/settings.json b/src/assets/locale/no/settings.json index 40dece1..16f6c59 100644 --- a/src/assets/locale/no/settings.json +++ b/src/assets/locale/no/settings.json @@ -74,6 +74,9 @@ "braveApi": { "label": "Brave API Nøkkel", "placeholder": "Skriv inn din Brave API nøkkel" + }, + "searchOnByDefault": { + "label": "Internett-søk PÅ som standard" } }, "system": { diff --git a/src/assets/locale/pt-BR/common.json b/src/assets/locale/pt-BR/common.json index 660514d..4e1a15b 100644 --- a/src/assets/locale/pt-BR/common.json +++ b/src/assets/locale/pt-BR/common.json @@ -116,5 +116,6 @@ }, "pin": "Fixar", "unpin": "Desafixar", - "generationInfo": "Informações de Geração" + "generationInfo": "Informações de Geração", + "sidebarChat": "Chat Lateral" } \ No newline at end of file diff --git a/src/assets/locale/pt-BR/settings.json b/src/assets/locale/pt-BR/settings.json index e296201..8b1423d 100644 --- a/src/assets/locale/pt-BR/settings.json +++ b/src/assets/locale/pt-BR/settings.json @@ -74,6 +74,9 @@ "braveApi": { "label": "Chave da API do Brave", "placeholder": "Digite sua chave da API do Brave" + }, + "searchOnByDefault": { + "label": "Pesquisa na Internet ativada por padrão" } }, "system": { diff --git a/src/assets/locale/ru/common.json b/src/assets/locale/ru/common.json index 31291a0..cbdc13d 100644 --- a/src/assets/locale/ru/common.json +++ b/src/assets/locale/ru/common.json @@ -116,5 +116,6 @@ }, "pin": "Закрепить", "unpin": "Открепить", - "generationInfo": "Информация о генерации" + "generationInfo": "Информация о генерации", + "sidebarChat": "Боковой чат" } \ No newline at end of file diff --git a/src/assets/locale/ru/settings.json b/src/assets/locale/ru/settings.json index 1f985ae..6afd82c 100644 --- a/src/assets/locale/ru/settings.json +++ b/src/assets/locale/ru/settings.json @@ -75,6 +75,9 @@ "braveApi": { "label": "API-ключ Brave", "placeholder": "Введите ваш API-ключ Brave" + }, + "searchOnByDefault": { + "label": "Поиск в интернете включен по умолчанию" } }, "system": { diff --git a/src/assets/locale/sv/common.json b/src/assets/locale/sv/common.json index 4698dc7..6918290 100644 --- a/src/assets/locale/sv/common.json +++ b/src/assets/locale/sv/common.json @@ -121,5 +121,6 @@ }, "pin": "Fäst", "unpin": "Ta bort fäst", - "generationInfo": "Generationsinformation" -} + "generationInfo": "Generationsinformation", + "sidebarChat": "Sidofältschatt" +} \ No newline at end of file diff --git a/src/assets/locale/sv/settings.json b/src/assets/locale/sv/settings.json index aa049c6..bc10a22 100644 --- a/src/assets/locale/sv/settings.json +++ b/src/assets/locale/sv/settings.json @@ -74,6 +74,9 @@ "braveApi": { "label": "Brave API-nyckel", "placeholder": "Ange din Brave API-nyckel" + }, + "searchOnByDefault": { + "label": "Internetsökning PÅ som standard" } }, "system": { diff --git a/src/assets/locale/uk/common.json b/src/assets/locale/uk/common.json index 899e12b..b4773d4 100644 --- a/src/assets/locale/uk/common.json +++ b/src/assets/locale/uk/common.json @@ -121,5 +121,6 @@ }, "pin": "Прикріпити", "unpin": "Відкріпити", - "generationInfo": "Інформація про генерацію" -} + "generationInfo": "Інформація про генерацію", + "sidebarChat": "Бічний чат" +} \ No newline at end of file diff --git a/src/assets/locale/uk/settings.json b/src/assets/locale/uk/settings.json index 34752c9..d8c8a98 100644 --- a/src/assets/locale/uk/settings.json +++ b/src/assets/locale/uk/settings.json @@ -74,6 +74,9 @@ "braveApi": { "label": "Ключ API Brave", "placeholder": "Введіть ваш ключ API Brave" + }, + "searchOnByDefault": { + "label": "Пошук в Інтернеті увімкнено за замовчуванням" } }, "system": { diff --git a/src/assets/locale/zh/common.json b/src/assets/locale/zh/common.json index 080776a..4d01d24 100644 --- a/src/assets/locale/zh/common.json +++ b/src/assets/locale/zh/common.json @@ -116,5 +116,6 @@ }, "pin": "置顶", "unpin": "取消置顶", - "generationInfo": "生成信息" + "generationInfo": "生成信息", + "sidebarChat": "侧边栏聊天" } \ No newline at end of file diff --git a/src/assets/locale/zh/settings.json b/src/assets/locale/zh/settings.json index 1a66351..e86b363 100644 --- a/src/assets/locale/zh/settings.json +++ b/src/assets/locale/zh/settings.json @@ -77,6 +77,9 @@ "braveApi": { "label": "Brave API 密钥", "placeholder": "输入您的 Brave API 密钥" + }, + "searchOnByDefault": { + "label": "默认开启网络搜索" } }, "system": { diff --git a/src/components/Common/Playground/Message.tsx b/src/components/Common/Playground/Message.tsx index 1d76280..79a7d23 100644 --- a/src/components/Common/Playground/Message.tsx +++ b/src/components/Common/Playground/Message.tsx @@ -169,6 +169,7 @@ export const PlaygroundMessage = (props: Props) => { {props.isTTSEnabled && ( @@ -227,6 +231,7 @@ export const PlaygroundMessage = (props: Props) => { props.currentMessageIndex === props.totalMessages - 1 && ( diff --git a/src/components/Layouts/Layout.tsx b/src/components/Layouts/Layout.tsx index e8e9c1d..3a6b6b8 100644 --- a/src/components/Layouts/Layout.tsx +++ b/src/components/Layouts/Layout.tsx @@ -11,6 +11,7 @@ import { EraserIcon } from "lucide-react" import { PageAssitDatabase } from "@/db" import { useMessageOption } from "@/hooks/useMessageOption" import { useQueryClient } from "@tanstack/react-query" +import { useStoreChatModelSettings } from "@/store/model" export default function OptionLayout({ children @@ -20,8 +21,19 @@ export default function OptionLayout({ const [sidebarOpen, setSidebarOpen] = useState(false) const { t } = useTranslation(["option", "common", "settings"]) const [openModelSettings, setOpenModelSettings] = useState(false) - const { clearChat } = useMessageOption() + const { + setMessages, + setHistory, + setHistoryId, + historyId, + clearChat, + setSelectedModel, + temporaryChat, + setSelectedSystemPrompt + } = useMessageOption() + const queryClient = useQueryClient() + const { setSystemPrompt } = useStoreChatModelSettings() return ( <> @@ -70,7 +82,19 @@ export default function OptionLayout({ closeIcon={null} onClose={() => setSidebarOpen(false)} open={sidebarOpen}> - setSidebarOpen(false)} /> + setSidebarOpen(false)} + setMessages={setMessages} + setHistory={setHistory} + setHistoryId={setHistoryId} + setSelectedModel={setSelectedModel} + setSelectedSystemPrompt={setSelectedSystemPrompt} + clearChat={clearChat} + historyId={historyId} + setSystemPrompt={setSystemPrompt} + temporaryChat={temporaryChat} + history={history} + /> { selectedKnowledge, temporaryChat, useOCR, - setUseOCR + setUseOCR, + defaultInternetSearchOn } = useMessageOption() const isMobile = () => { @@ -71,8 +72,17 @@ export const PlaygroundForm = ({ dropedFile }: Props) => { React.useEffect(() => { textAreaFocus() + if (defaultInternetSearchOn) { + setWebSearch(true) + } }, []) + React.useEffect(() => { + if (defaultInternetSearchOn) { + setWebSearch(true) + } + }, [defaultInternetSearchOn]) + const onInputChange = async ( e: React.ChangeEvent | File ) => { @@ -195,7 +205,7 @@ export const PlaygroundForm = ({ dropedFile }: Props) => { return (
{
{ diff --git a/src/components/Option/Settings/search-mode.tsx b/src/components/Option/Settings/search-mode.tsx index f77149c..207912a 100644 --- a/src/components/Option/Settings/search-mode.tsx +++ b/src/components/Option/Settings/search-mode.tsx @@ -19,7 +19,8 @@ export const SearchModeSettings = () => { searxngURL: "", searxngJSONMode: false, braveApiKey: "", - googleDomain: "" + googleDomain: "", + defaultInternetSearchOn: false } }) @@ -171,6 +172,19 @@ export const SearchModeSettings = () => {
+
+ + {t("generalSettings.webSearch.searchOnByDefault.label")} + +
+ +
+
diff --git a/src/components/Option/Sidebar.tsx b/src/components/Option/Sidebar.tsx index bb97d83..cc44b82 100644 --- a/src/components/Option/Sidebar.tsx +++ b/src/components/Option/Sidebar.tsx @@ -8,14 +8,14 @@ import { pinHistory, getPromptById } from "@/db" -import { Empty, Skeleton, Dropdown, Menu } from "antd" -import { useMessageOption } from "~/hooks/useMessageOption" +import { Empty, Skeleton, Dropdown, Menu, Tooltip } from "antd" import { PencilIcon, Trash2, MoreVertical, PinIcon, - PinOffIcon + PinOffIcon, + BotIcon } from "lucide-react" import { useNavigate } from "react-router-dom" import { useTranslation } from "react-i18next" @@ -24,26 +24,33 @@ import { getLastUsedChatSystemPrompt, lastUsedChatModelEnabled } from "@/services/model-settings" -import { useStoreChatModelSettings } from "@/store/model" type Props = { onClose: () => void + setMessages: (messages: any) => void + setHistory: (history: any) => void + setHistoryId: (historyId: string) => void + setSelectedModel: (model: string) => void + setSelectedSystemPrompt: (prompt: string) => void + setSystemPrompt: (prompt: string) => void + clearChat: () => void + temporaryChat: boolean + historyId: string + history: any } -export const Sidebar = ({ onClose }: Props) => { - const { - setMessages, - setHistory, - setHistoryId, - historyId, - clearChat, - setSelectedModel, - temporaryChat, - setSelectedSystemPrompt - } = useMessageOption() - - const { setSystemPrompt } = useStoreChatModelSettings() - +export const Sidebar = ({ + onClose, + setMessages, + setHistory, + setHistoryId, + setSelectedModel, + setSelectedSystemPrompt, + clearChat, + historyId, + setSystemPrompt, + temporaryChat +}: Props) => { const { t } = useTranslation(["option", "common"]) const client = useQueryClient() const navigate = useNavigate() @@ -162,7 +169,12 @@ export const Sidebar = ({ onClose }: Props) => { {group.items.map((chat, index) => (
+ className="flex py-2 px-2 items-center gap-3 relative rounded-md truncate hover:pr-4 group transition-opacity duration-300 ease-in-out bg-gray-100 dark:bg-[#232222] dark:text-gray-100 text-gray-800 border hover:bg-gray-200 dark:hover:bg-[#2d2d2d] dark:border-gray-800"> + {chat?.message_source === "copilot" && ( + + + + )}