vision-agent / components /chat /TopPrompt.tsx
wuyiqunLu
fix: change hugging face default port (#94)
d360551 unverified
raw
history blame contribute delete
No virus
2.2 kB
import { sessionUser } from '@/auth';
import { Card } from '../ui/Card';
import { IconExclamationTriangle } from '../ui/Icons';
import Link from 'next/link';
import { ChatWithMessages } from '@/lib/types';
import { dbGetUser } from '@/lib/db/functions';
import Avatar from '../Avatar';
export interface TopPrompt {
chat: ChatWithMessages;
userId?: string | null;
}
export default async function TopPrompt({ chat, userId }: TopPrompt) {
const authorId = chat.userId;
// 1. Viewer logged in, Viewer = Author
if (userId && authorId === userId) {
return null;
}
// 2. Viewer logged in, No Author
if (userId && !authorId) {
return null;
}
// 3. Author, but is not Viewer
if (authorId && authorId !== userId) {
const chatAuthor = authorId ? await dbGetUser(authorId) : null;
return (
<Card className="group py-2 px-4 flex flex-row items-center">
<p className="leading-normal text-sm">Authored by</p>
<div className="flex-1 px-1 ml-2 flex flex-row items-center space-x-2">
<Avatar name={chatAuthor?.name} avatar={chatAuthor?.avatar} />
<p className="font-medium">{chatAuthor?.name ?? 'Unknown'}</p>
</div>
</Card>
);
}
// 4. No author, Viewer not logged in
if (!userId && !authorId) {
return (
<Card className="group py-2 px-4 flex items-center">
<div className="bg-background flex size-8 shrink-0 select-none items-center justify-center rounded-md">
<IconExclamationTriangle className="font-medium" />
</div>
<div className="flex-1 px-1 ml-2 overflow-hidden">
<p className="leading-normal font-medium">
{process.env.NEXT_PUBLIC_IS_HUGGING_FACE ? (
<Link
href="https://va.landing.ai"
target="_blank"
className="underline"
>
Visit Landing AI{"'"}s website
</Link>
) : (
<Link href="/sign-in" className="underline">
Sign in
</Link>
)}{' '}
to save and revisit your chat history!
</p>
</div>
</Card>
);
}
return null;
}