import React, { memo, useMemo, useState } from "react"; function EventsTab({ accountEvents, formatTimestamp, onClearEvents }) { const [typeFilter, setTypeFilter] = useState("all"); const [query, setQuery] = useState(""); const eventTypes = useMemo(() => { const types = new Set(accountEvents.map((event) => event.eventType)); return ["all", ...Array.from(types)]; }, [accountEvents]); const filtered = useMemo(() => { const q = query.trim().toLowerCase(); return accountEvents.filter((event) => { if (typeFilter !== "all" && event.eventType !== typeFilter) return false; if (!q) return true; const text = [event.eventType, event.message, event.phone, event.accountId] .join(" ") .toLowerCase(); return text.includes(q); }); }, [accountEvents, typeFilter, query]); return (

События аккаунтов

setQuery(event.target.value)} placeholder="Поиск по событиям" />
{eventTypes.map((type) => ( ))}
{filtered.length === 0 &&
Событий нет.
} {filtered.map((event) => (
{formatTimestamp(event.createdAt)}
{event.eventType}
Аккаунт: {event.phone || event.accountId}
{event.message}
))}
); } export default memo(EventsTab);