import { useState } from 'react'; import { Search, Plus, MessageSquare, Star, Clock } from 'lucide-react'; import { useCommunicationsStore } from '../services/communicationsService'; import { Badge, Button } from '@omnichannel/ui'; interface ContactsViewProps { onAddContactModal: () => void; } export function ContactsView({ onAddContactModal }: ContactsViewProps) { const { conversations, setActiveTab, setActiveChatId } = useCommunicationsStore(); const [filterType, setFilterType] = useState<'all' | 'clients' | 'vip'>('all'); const [searchQuery, setSearchQuery] = useState(''); const contactsList = conversations.map((c) => ({ ...c.contact, conversationId: c.id, })); const filteredContacts = contactsList.filter((cnt) => { if (filterType === 'clients' && !cnt.isClient) return false; if (filterType === 'vip' && !cnt.isVip) return false; if (searchQuery.trim()) { const q = searchQuery.toLowerCase(); return ( cnt.name.toLowerCase().includes(q) || cnt.company.toLowerCase().includes(q) || cnt.role.toLowerCase().includes(q) ); } return true; }); const handleOpenChat = (conversationId: string) => { setActiveChatId(conversationId); setActiveTab('messengers'); }; return (