import React, { useMemo, useState } from "react"; import { Link } from "react-router-dom"; import type { SessionSnapshot } from "../../../shared/types"; import ChatList from "./ChatList"; import { buildThreads } from "./utils"; import { useI18n } from "../i18n"; export default function ChatListScreen({ session, meId, isBanker, sessionId, backHref, unreadIds, }: { session: SessionSnapshot; meId: string; isBanker: boolean; sessionId: string; backHref: string; unreadIds: Set; }) { const { t } = useI18n(); const [query, setQuery] = useState(""); const threads = useMemo(() => buildThreads(session, meId, isBanker), [session, meId, isBanker]); const filtered = threads.filter((thread) => thread.name.toLowerCase().includes(query.trim().toLowerCase()), ); const list = query.trim() ? filtered : threads; const conversationLabel = threads.length === 1 ? t("chat.conversationCountOne") : t("chat.conversationCount", { count: threads.length }); return (
← {t("chat.back")}

{t("chat.title")}

{conversationLabel}
setQuery(event.target.value)} placeholder={t("chat.searchPlaceholder")} />
+
); }