import { useState } from 'react' import { Check, X } from 'lucide-react' import { showSubmittedData } from '@/lib/show-submitted-data' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from '@/components/ui/command' import { Dialog, DialogContent, DialogHeader, DialogTitle, } from '@/components/ui/dialog' import { type ChatUser } from '../data/chat-types' type User = Omit type NewChatProps = { users: User[] open: boolean onOpenChange: (open: boolean) => void } export function NewChat({ users, onOpenChange, open }: NewChatProps) { const [selectedUsers, setSelectedUsers] = useState([]) const handleSelectUser = (user: User) => { if (!selectedUsers.find((u) => u.id === user.id)) { setSelectedUsers([...selectedUsers, user]) } else { handleRemoveUser(user.id) } } const handleRemoveUser = (userId: string) => { setSelectedUsers(selectedUsers.filter((user) => user.id !== userId)) } const handleOpenChange = (newOpen: boolean) => { onOpenChange(newOpen) // Reset selected users when dialog closes if (!newOpen) { setSelectedUsers([]) } } return ( New message
To: {selectedUsers.map((user) => ( {user.fullName} ))}
No people found. {users.map((user) => ( handleSelectUser(user)} className='flex items-center justify-between gap-2 hover:bg-accent hover:text-accent-foreground' >
{user.fullName}
{user.fullName} {user.username}
{selectedUsers.find((u) => u.id === user.id) && ( )}
))}
) }