aboutsummaryrefslogtreecommitdiff
path: root/apps/web/src/components/ChatMessage.tsx
diff options
context:
space:
mode:
authorDhravya <[email protected]>2024-04-08 18:12:16 -0700
committerDhravya <[email protected]>2024-04-08 18:12:16 -0700
commitf04fa3faf75c1b2c63f094632c15a528a98932c5 (patch)
treef2831ca93153a0b7698cb0517a35c0601f1b5ed3 /apps/web/src/components/ChatMessage.tsx
parentmade it functional (diff)
downloadsupermemory-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.tsx50
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 };