|
import { json, type LoaderFunctionArgs, type MetaFunction } from '@remix-run/cloudflare'; |
|
import { ClientOnly } from 'remix-utils/client-only'; |
|
import { BaseChat } from '~/components/chat/BaseChat'; |
|
import { Chat } from '~/components/chat/Chat.client'; |
|
import { Header } from '~/components/header/Header'; |
|
import { loadWithAuth } from '~/lib/.server/auth'; |
|
|
|
export const meta: MetaFunction = () => { |
|
return [{ title: 'Bolt' }, { name: 'description', content: 'Talk with Bolt, an AI assistant from StackBlitz' }]; |
|
}; |
|
|
|
export async function loader(args: LoaderFunctionArgs) { |
|
return loadWithAuth(args, async (_args, session) => json({ avatar: session.avatar })); |
|
} |
|
|
|
export default function Index() { |
|
return ( |
|
<div className="flex flex-col h-full w-full"> |
|
<Header /> |
|
<ClientOnly fallback={<BaseChat />}>{() => <Chat />}</ClientOnly> |
|
</div> |
|
); |
|
} |
|
|