Files
Dani Akash 290ee91a8b Add 'packages/browseros-agent/' from commit '90bd4be3008285bf3825aad3702aff98f872671a'
git-subtree-dir: packages/browseros-agent
git-subtree-mainline: 8f148d0918
git-subtree-split: 90bd4be300
2026-03-13 21:22:09 +05:30

50 lines
1.3 KiB
TypeScript

import type { FC } from 'react'
import { Outlet } from 'react-router'
import { ChatHeader } from '../index/ChatHeader'
import {
ChatSessionProvider,
useChatSessionContext,
} from './ChatSessionContext'
const ChatLayoutContent: FC = () => {
const {
providers,
selectedProvider,
handleSelectProvider,
resetConversation,
messages,
isLoading,
} = useChatSessionContext()
if (isLoading || !selectedProvider) {
return (
<div className="flex h-screen w-screen items-center justify-center bg-background">
<div className="h-5 w-5 animate-spin rounded-full border-2 border-muted-foreground border-t-transparent" />
</div>
)
}
return (
<div className="mx-auto flex h-screen w-screen flex-col overflow-hidden bg-background text-foreground">
<ChatHeader
selectedProvider={selectedProvider}
onSelectProvider={handleSelectProvider}
providers={providers}
onNewConversation={resetConversation}
hasMessages={messages.length > 0}
/>
<div className="flex min-h-0 flex-1 flex-col overflow-hidden">
<Outlet />
</div>
</div>
)
}
export const ChatLayout: FC = () => {
return (
<ChatSessionProvider>
<ChatLayoutContent />
</ChatSessionProvider>
)
}