1- import { Avatar , AvatarFallback , AvatarImage } from "@/components/ui/avatar" ;
1+ import { Avatar , AvatarFallback } from "@/components/ui/avatar" ;
22import { Button } from "@/components/ui/button" ;
33import { Input } from "@/components/ui/input" ;
4+ import {
5+ chooseTwoCharsFromName ,
6+ randomTailwindBackgroundColor ,
7+ } from "@/lib/utils" ;
8+ import { User } from "@/types/user.type" ;
49import { Send } from "lucide-react" ;
510import { useState } from "react" ;
611import { v4 as uuidv4 } from "uuid" ;
@@ -12,7 +17,13 @@ interface Message {
1217 timestamp : string ;
1318}
1419
15- export default function ChatWindow ( { messages } : { messages : Message [ ] } ) {
20+ export default function ChatWindow ( {
21+ withUser,
22+ messages,
23+ } : {
24+ withUser : User ;
25+ messages : Message [ ] ;
26+ } ) {
1627 const [ newMessage , setNewMessage ] = useState ( "" ) ;
1728
1829 const handleSendMessage = ( ) => {
@@ -35,15 +46,15 @@ export default function ChatWindow({ messages }: { messages: Message[] }) {
3546 < div className = "flex-1 flex flex-col" >
3647 < div className = "border-b border-gray-200 dark:border-slate-800 p-4 flex items-center space-x-4" >
3748 < Avatar >
38- < AvatarImage
39- src = "/placeholder.svg?height=40 & width = 40 "
40- alt = "Alice Johnson"
41- />
42- < AvatarFallback > AJ < /AvatarFallback >
49+ < AvatarFallback
50+ className = { randomTailwindBackgroundColor ( withUser . id ) }
51+ >
52+ { chooseTwoCharsFromName ( withUser . display_name ) }
53+ </ AvatarFallback >
4354 </ Avatar >
4455 < div >
4556 < h2 className = "text-black dark:text-white text-lg font-semibold" >
46- Alice Johnson
57+ { withUser . display_name }
4758 </ h2 >
4859 < p className = "text-sm text-gray-500" > Online</ p >
4960 </ div >
0 commit comments