MCPcopy Create free account
hub / github.com/Seanium/ChatMap / handleSuggestedQuery

Function handleSuggestedQuery

components/chat-interface.tsx:362–414  ·  view source on GitHub ↗
(suggestedQuery: string)

Source from the content-addressed store, hash-verified

360 }
361
362 const handleSuggestedQuery = (suggestedQuery: string) => {
363 try {
364 if (!suggestedQuery || typeof suggestedQuery !== "string") {
365 console.error("Invalid suggested query:", suggestedQuery)
366 return
367 }
368
369 // 设置查询内容(用于显示在输入框中)
370 setQuery(suggestedQuery)
371
372 // 重置文本框高度
373 resetTextareaHeight()
374
375 // 使用预设的查询内容直接提交,而不是依赖表单
376 if (!isStreaming && !isExtractingInfo && !isUpdatingMap) {
377 // 添加用户消息
378 const userMessageId = generateId()
379 const userMessage: Message = {
380 id: userMessageId,
381 role: "user",
382 content: suggestedQuery,
383 }
384
385 // 创建助手的初始加载消息
386 const assistantMessageId = generateId()
387 const assistantMessage: Message = {
388 id: assistantMessageId,
389 role: "assistant",
390 content: "",
391 isLoading: true,
392 }
393
394 // 添加消息到对话中
395 setMessages((prev) => [...prev, userMessage, assistantMessage])
396
397 // 清空输入
398 setQuery("")
399
400 // 滚动到底部
401 setTimeout(scrollToBottom, 100)
402
403 // 开始生成回复
404 handleGenerateResponse(suggestedQuery, userMessageId, assistantMessageId)
405 }
406 } catch (error) {
407 console.error("Error in handleSuggestedQuery:", error)
408 toast({
409 title: "错误",
410 description: "处理建议的查询时出错。",
411 variant: "destructive",
412 })
413 }
414 }
415
416 const handleKeyDown = (e: KeyboardEvent<HTMLTextAreaElement>) => {
417 // 如果按下Enter键且没有按住Shift键,则提交表单

Callers

nothing calls this directly

Calls 4

resetTextareaHeightFunction · 0.85
generateIdFunction · 0.85
handleGenerateResponseFunction · 0.85
toastFunction · 0.50

Tested by

no test coverage detected