11'use client'
22
33import { useEffect , useState , useRef } from 'react'
4- import { useRouter } from 'next/navigation'
54import type { AI , UIState } from '@/app/actions'
65import { useUIState , useActions } from 'ai/rsc'
76// Removed import of useGeospatialToolMcp as it's no longer used/available
@@ -20,13 +19,11 @@ interface ChatPanelProps {
2019
2120export function ChatPanel ( { messages, input, setInput } : ChatPanelProps ) {
2221 const [ , setMessages ] = useUIState < typeof AI > ( )
23- const { submit } = useActions ( )
22+ const { submit, clearChat } = useActions ( )
2423 // Removed mcp instance as it's no longer passed to submit
25- const [ isButtonPressed , setIsButtonPressed ] = useState ( false )
2624 const [ isMobile , setIsMobile ] = useState ( false )
2725 const inputRef = useRef < HTMLTextAreaElement > ( null )
2826 const formRef = useRef < HTMLFormElement > ( null )
29- const router = useRouter ( )
3027
3128 // Detect mobile layout
3229 useEffect ( ( ) => {
@@ -38,19 +35,8 @@ export function ChatPanel({ messages, input, setInput }: ChatPanelProps) {
3835 return ( ) => window . removeEventListener ( 'resize' , checkMobile )
3936 } , [ ] )
4037
41- useEffect ( ( ) => {
42- if ( isButtonPressed ) {
43- inputRef . current ?. focus ( )
44- setIsButtonPressed ( false )
45- }
46- } , [ isButtonPressed ] )
47-
4838 const handleSubmit = async ( e : React . FormEvent < HTMLFormElement > ) => {
4939 e . preventDefault ( )
50- if ( isButtonPressed ) {
51- handleClear ( )
52- setIsButtonPressed ( false )
53- }
5440 setMessages ( currentMessages => [
5541 ...currentMessages ,
5642 {
@@ -64,16 +50,17 @@ export function ChatPanel({ messages, input, setInput }: ChatPanelProps) {
6450 setMessages ( currentMessages => [ ...currentMessages , responseMessage as any ] )
6551 }
6652
67- const handleClear = ( ) => {
68- router . push ( '/' )
53+ const handleClear = async ( ) => {
54+ setMessages ( [ ] )
55+ await clearChat ( )
6956 }
7057
7158 useEffect ( ( ) => {
7259 inputRef . current ?. focus ( ) ;
7360 } , [ ] )
7461
7562 // New chat button (appears when there are messages)
76- if ( messages . length > 0 && ! isButtonPressed && ! isMobile ) {
63+ if ( messages . length > 0 && ! isMobile ) {
7764 return (
7865 < div
7966 className = { cn (
0 commit comments