diff --git a/components/canvas/CanvasChatPanel.tsx b/components/canvas/CanvasChatPanel.tsx index 8177143bf..7fdceff7f 100644 --- a/components/canvas/CanvasChatPanel.tsx +++ b/components/canvas/CanvasChatPanel.tsx @@ -5,7 +5,7 @@ import { DefaultChatTransport } from "ai"; import { useEffect, useRef, useState, useCallback, useMemo } from "react"; import { createPortal } from "react-dom"; import useSWR from "swr"; -import { Send, Loader2, ImagePlus, Paperclip, X, User, Bot, Plus, History, LayoutGrid, Maximize2, RefreshCw, Globe, Box, ArrowUp } from "lucide-react"; +import { Send, Loader2, ImagePlus, Paperclip, X, User, Bot, Plus, History, LayoutGrid, Maximize2, RefreshCw, Globe, Box, ArrowUp, Video } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Textarea } from "@/components/ui/textarea"; import { ScrollArea } from "@/components/ui/scroll-area"; @@ -1776,6 +1776,38 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF const shouldShowImageLoading = hasGenerationStart && !hasGenerationEnd && !!currentModel; const loadingImageCount = imageParams.imageCount || 1; + const renderModelSelectContent = () => ( + +
+ {allModels.map((model) => ( + + + + + {model.avatarUrl ? ( + {model.displayName} + ) : ( + + {model.id === "auto" ? "A" : model.displayName.slice(0, 1)} + + )} + + {model.displayName} + + {selectedModelId === model.id ? ( + ✓ + ) : null} + + + ))} +
+
+ ); + const createNewChatSession = useCallback(() => { const now = Date.now(); const newChatSessionId = `canvas-${crypto.randomUUID()}`; @@ -2259,8 +2291,6 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF {/* Bottom Toolbar */}
- {/* 左侧:附件和模型选择 */} -
- - - {/* Agent Selector (Model) - 包含Agent模式选项 */} - -
- - {/* 中间:图片参数(可收缩) */} -
{isVideoModel ? ( - + <> + +
+ +
+ ) : ( - + <> +
+ + +
+
+ +
+ )}
-
- {/* 右侧:发送按钮(固定不收缩) */} - + + +