import React from 'react'; import { MessageCircle, Megaphone, Users, Settings, BrainCircuit, } from 'lucide-react'; import { getAvatarProxyUrl } from '../utils/inboxUtils'; import { useRouter } from 'next/router'; export type TabType = 'chats' | 'broadcasts' | 'groups' | 'settings'; interface ThinSidebarProps { activeTab: TabType; setActiveTab: (tab: TabType) => void; activeInstance: any; // We'll pass the active instance to show the avatar } export default function ThinSidebar({ activeTab, setActiveTab, activeInstance }: ThinSidebarProps) { const router = useRouter(); const isConnected = activeInstance?.status === 'connected' || activeInstance?.status === 'open'; const renderIcon = (id: TabType, IconComponent: any, title: string) => { const isActive = activeTab === id; return ( ); }; return (
{/* Top Icons */}
{renderIcon('chats', MessageCircle, 'Conversas')} {renderIcon('broadcasts', Megaphone, 'Transmissões')} {renderIcon('groups', Users, 'Sessões')} {/* Secretária IA — abre a tela de configuração da secretária virtual */}
{/* Bottom Icons */}
{/* Configurações — abre o painel na área central (aba 'settings') */} {renderIcon('settings', Settings, 'Configurações')}
{(() => { // Avatar da instância SEMPRE via proxy do backend. Nunca usar a URL // crua do CDN do WhatsApp (pps.whatsapp.net) como fallback: ela expira // e o navegador recebe 403 (hotlink). Sem proxy resolvível → ícone. const avatarSrc = activeInstance?.instance ? getAvatarProxyUrl({ instance_name: activeInstance.instance, remote_jid: activeInstance.phone ? `${activeInstance.phone}@s.whatsapp.net` : null, }) : null; return avatarSrc ? ( Status { e.currentTarget.style.display = 'none'; }} /> ) : (
); })()}
{/* Status indicator badge */}
); }