chatbot-template/components/sidebar-list.tsx
2023-06-11 11:14:39 -04:00

40 lines
1 KiB
TypeScript

import { getChats } from '@/app/actions'
import { Session } from '@auth/core/types'
import { SidebarItem } from './sidebar-item'
export interface SidebarListProps {
session?: Session
}
export async function SidebarList(props: SidebarListProps) {
const chats = await getChats(props.session?.user?.email)
return (
<div className="flex-1 overflow-auto">
{chats?.length ? (
<div className="px-2 space-y-2">
{chats.map(chat => (
<SidebarItem
key={chat.id}
title={chat.title}
userId={props?.session?.user?.email ?? ''}
href={`/chat/${chat.id}`}
id={chat.id}
/>
))}
</div>
) : (
<div className="p-8 text-center">
<p className="text-sm text-muted-foreground">
{props?.session?.user ? (
<>No chat history</>
) : (
<>Login for history</>
)}
</p>
</div>
)}
</div>
)
}
SidebarList.displayName = 'SidebarList'