// Bellia — Écran de conversation avec un agent IA const AGENT_LIST = [ { id: 'ana', name: 'Analyse', icon: 'chart', desc: 'Détecte les dérives & propose des leviers', online: true }, { id: 'dep', name: 'Dépenses', icon: 'receipt', desc: 'Traite les factures fournisseurs', online: true, badge: 4 }, { id: 'plan',name: 'Planning', icon: 'cal', desc: 'Génère et alerte sur le planning', online: true }, { id: 'tva', name: 'TVA', icon: 'percent', desc: 'Collecte TVA et pré-comptable', online: true }, { id: 'ven', name: 'Ventes', icon: 'bag', desc: 'Consolide les ventes des caisses', online: true }, { id: 'fou', name: 'Fournisseurs',icon: 'truck', desc: 'Compare prix et alerte hausses', online: false }, ]; const CONVERSATIONS = { ana: [ { role: 'agent', t: 'agent', text: 'Bonjour Yannis. J\'ai terminé l\'analyse de la semaine du 4 au 10 mai. Voici les 3 points qui méritent ton attention.', time: '14:32' }, { role: 'agent', t: 'cards', cards: [ { kind: 'warn', title: 'Food cost en dérive', value: '32,0 %', delta: '+4,0 pts vs cible', detail: 'Boucherie : +18 % vs avril. Boulangerie : stable. Primeurs : +6 %.' }, { kind: 'accent', title: 'Panier moyen midi en hausse', value: '28,50 €', delta: '+1,80 € vs avril', detail: 'Effet menu « formule printemps ». Bonne dynamique sur les desserts.' }, { kind: 'warn', title: 'Productivité salle samedi soir', value: '–11 %', delta: 'vs samedis d\'avril', detail: 'Plus de couverts mais service plus lent. À investiguer.' }, ] }, { role: 'agent', t: 'agent', text: 'Veux-tu que je creuse l\'écart de food cost sur la boucherie ?', time: '14:32', suggestions: ['Oui, montre-moi l\'écart par fournisseur', 'Compare avec mai 2025', 'Propose un plan d\'action'] }, { role: 'user', t: 'user', text: 'Oui, montre-moi l\'écart par fournisseur boucherie', time: '14:34' }, { role: 'agent', t: 'agent', text: 'Voici la comparaison avril / mai sur les 3 fournisseurs de boucherie. Metro Cash & Carry a augmenté ses prix sur l\'entrecôte (+22 %) et la côte de bœuf (+18 %).', time: '14:34' }, { role: 'agent', t: 'chart' }, { role: 'agent', t: 'agent', text: 'Trois pistes concrètes :', time: '14:35', list: [ 'Demander un devis comparatif à Boucherie Hugo (notre fournisseur secondaire) — économie estimée 280 €/mois', 'Réduire la grammage entrecôte de 220g à 200g — gain 6 % marge sans impact perçu', 'Remplacer la côte de bœuf par une bavette d\'aloyau sur le menu chasse — marge × 1,4', ], suggestions: ['Lance la demande de devis', 'Prépare un mémo pour la cuisine', 'Programme un suivi hebdomadaire'] }, ], dep: [ { role: 'agent', t: 'agent', text: 'Bonjour. 4 factures sont en attente de ta validation pour un total de 2 967,50 €. Je les ai toutes pré-imputées.', time: '09:12' }, ], }; const ChatAgentScreen = ({ onNav }) => { const [active, setActive] = React.useState('ana'); const [input, setInput] = React.useState(''); const scrollRef = React.useRef(null); const agent = AGENT_LIST.find(a => a.id === active); const messages = CONVERSATIONS[active] || [ { role: 'agent', t: 'agent', text: `Bonjour ! Je suis l'agent ${agent.name}. Que veux-tu savoir ?`, time: '14:00' } ]; React.useEffect(() => { if (scrollRef.current) scrollRef.current.scrollTop = scrollRef.current.scrollHeight; }, [active]); return (
}>Nouvelle conversation onNav('automation')} icon={}>Tous les agents } />
{/* ===== Agent list ===== */}
Agents {AGENT_LIST.filter(a => a.online).length} en ligne
{AGENT_LIST.map(a => { const sel = a.id === active; return ( ); })}
{/* ===== Chat area ===== */}
{/* Chat header */}
Agent {agent.name}
En ligne · accède aux données de République
}>Claude Sonnet
{/* Messages */}
Aujourd'hui · lun. 11 mai 2026
{messages.map((m, i) => ( ))} {/* typing */}
{/* Input */}
{['Résume la semaine', 'Compare avec mai 2025', 'Plan d\'action food cost', 'Top 5 produits'].map(s => ( ))}