feat:add copilotEnabled and setCopilotEnabled to ChatWindow

This commit is contained in:
litongjava
2025-02-01 02:27:19 -10:00
parent 203ab6215b
commit 78878313da
3 changed files with 19 additions and 7 deletions

View File

@ -10,6 +10,8 @@ const Chat = ({
loading,
messages,
sendMessage,
copilotEnabled,
setCopilotEnabled,
messageAppeared,
rewrite,
fileIds,
@ -18,6 +20,8 @@ const Chat = ({
setFiles,
}: {
messages: Message[];
copilotEnabled: boolean;
setCopilotEnabled: (enable: boolean) => void;
sendMessage: (message: string) => void;
loading: boolean;
messageAppeared: boolean;
@ -89,6 +93,8 @@ const Chat = ({
<MessageInput
loading={loading}
sendMessage={sendMessage}
copilotEnabled={copilotEnabled}
setCopilotEnabled={setCopilotEnabled}
fileIds={fileIds}
setFileIds={setFileIds}
files={files}

View File

@ -414,6 +414,7 @@ const ChatWindow = ({ id }: { id?: string }) => {
const [fileIds, setFileIds] = useState<string[]>([]);
const [focusMode, setFocusMode] = useState('webSearch');
const [copilotEnabled, setCopilotEnabled] = useState(true);
const [optimizationMode, setOptimizationMode] = useState('speed');
const [isMessagesLoaded, setIsMessagesLoaded] = useState(false);
@ -498,8 +499,9 @@ const ChatWindow = ({ id }: { id?: string }) => {
},
files: fileIds,
focusMode: focusMode,
copilotEnabled:copilotEnabled,
optimizationMode: optimizationMode,
history: [...chatHistory, ['human', message]],
history: [...chatHistory],
}),
);
@ -661,6 +663,8 @@ const ChatWindow = ({ id }: { id?: string }) => {
loading={loading}
messages={messages}
sendMessage={sendMessage}
copilotEnabled={copilotEnabled}
setCopilotEnabled={setCopilotEnabled}
messageAppeared={messageAppeared}
rewrite={rewrite}
fileIds={fileIds}

View File

@ -1,14 +1,15 @@
import { cn } from '@/lib/utils';
import { ArrowUp } from 'lucide-react';
import { useEffect, useRef, useState } from 'react';
import {cn} from '@/lib/utils';
import {ArrowUp} from 'lucide-react';
import {useEffect, useRef, useState} from 'react';
import TextareaAutosize from 'react-textarea-autosize';
import Attach from './MessageInputActions/Attach';
import CopilotToggle from './MessageInputActions/Copilot';
import { File } from './ChatWindow';
import {File} from './ChatWindow';
import AttachSmall from './MessageInputActions/AttachSmall';
const MessageInput = ({
sendMessage,
copilotEnabled,
setCopilotEnabled,
loading,
fileIds,
setFileIds,
@ -16,13 +17,14 @@ const MessageInput = ({
setFiles,
}: {
sendMessage: (message: string) => void;
copilotEnabled: boolean;
setCopilotEnabled: (enable: boolean) => void;
loading: boolean;
fileIds: string[];
setFileIds: (fileIds: string[]) => void;
files: File[];
setFiles: (files: File[]) => void;
}) => {
const [copilotEnabled, setCopilotEnabled] = useState(false);
const [message, setMessage] = useState('');
const [textareaRows, setTextareaRows] = useState(1);
const [mode, setMode] = useState<'multi' | 'single'>('single');