diff options
| author | Dhravya <[email protected]> | 2024-04-08 18:12:16 -0700 |
|---|---|---|
| committer | Dhravya <[email protected]> | 2024-04-08 18:12:16 -0700 |
| commit | f04fa3faf75c1b2c63f094632c15a528a98932c5 (patch) | |
| tree | f2831ca93153a0b7698cb0517a35c0601f1b5ed3 /apps/web/src/components/ChatMessage.tsx | |
| parent | made it functional (diff) | |
| download | supermemory-f04fa3faf75c1b2c63f094632c15a528a98932c5.tar.xz supermemory-f04fa3faf75c1b2c63f094632c15a528a98932c5.zip | |
setup for multi chat
Diffstat (limited to 'apps/web/src/components/ChatMessage.tsx')
| -rw-r--r-- | apps/web/src/components/ChatMessage.tsx | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/apps/web/src/components/ChatMessage.tsx b/apps/web/src/components/ChatMessage.tsx new file mode 100644 index 00000000..a8199758 --- /dev/null +++ b/apps/web/src/components/ChatMessage.tsx @@ -0,0 +1,50 @@ +import React from 'react'; +import { Avatar, AvatarFallback, AvatarImage } from './ui/avatar'; +import { User } from 'next-auth'; +import { User2 } from 'lucide-react'; +import Image from 'next/image'; + +function ChatMessage({ + message, + user, +}: { + message: string; + user: User | 'ai'; +}) { + return ( + <div className="flex flex-col gap-4"> + <div + className={`font-bold ${!(user === 'ai') && 'text-xl '} flex flex-col md:flex-row items-center gap-4`} + > + <Avatar> + {user === 'ai' ? ( + <Image + src="/logo.png" + width={48} + height={48} + alt="AI" + className="rounded-md w-12 h-12" + /> + ) : user?.image ? ( + <> + <AvatarImage + className="h-6 w-6 rounded-lg" + src={user?.image} + alt="user pfp" + /> + <AvatarFallback> + {user?.name?.split(' ').map((n) => n[0])}{' '} + </AvatarFallback> + </> + ) : ( + <User2 strokeWidth={1.3} className="h-6 w-6" /> + )} + </Avatar> + <div className="ml-4">{message}</div> + </div> + <div className="w-full h-0.5 bg-gray-700 my-2 md:my-0 md:mx-4 mt-8"></div> + </div> + ); +} + +export { ChatMessage }; |