early return on no sessionid

This commit is contained in:
2026-03-31 15:47:41 +02:00
parent c62ee37538
commit caa9604704

View File

@@ -1,5 +1,5 @@
'use client'
import { useState, useEffect } from 'react'
import { useState, useEffect } from 'react'
import { useChat } from '@ai-sdk/react'
import { DefaultChatTransport, type UIMessage } from 'ai'
import { Button } from '~/components/ui/button'
@@ -11,6 +11,7 @@ import Messages from './Messages'
import { DeleteIcon } from 'lucide-react';
import { trpc } from '~/app/_trpc/Client'
import { Spinner } from '~/components/ui/spinner';
import { Skeleton } from '~/components/ui/skeleton';
interface DBMessage {
id: string
role: 'user' | 'assistant'
@@ -30,8 +31,17 @@ function toUIMessages(dbMessages: DBMessage[]): UIMessage[] {
}))
}
export default function ChatInterface({ sessionId }: ChatInterfaceProps) {
if (!sessionId) {
return (
<div className="flex flex-col h-full">
<Skeleton className="w-full"/>
<Skeleton className="w-[20%]"/>
<Skeleton className='w-[45%]'/>
</div>
)
}
const utils = trpc.useUtils();
const { data: dbMessages, refetch: refetchMessages } = trpc.chat.getMessages.useQuery(sessionId ? sessionId : "")
const { data: dbMessages, refetch: refetchMessages } = trpc.chat.getMessages.useQuery(sessionId)
const [messages, setMessages] = useState<UIMessage[]>([]);
function addMessage(newMessage: UIMessage) {
setMessages(prev => [...prev, newMessage]);
@@ -100,7 +110,7 @@ export default function ChatInterface({ sessionId }: ChatInterfaceProps) {
}, [messages])
return (
<div className="flex flex-col h-full">
{messages &&
{messages &&
<Messages messages={messages} />
}