/* ============================================================
chat_ui.jsx — общие детали чата: аватар специалиста, пузыри,
«печатает», карточка загрузки файла и разбор документа.
Используется экраном резюме; вынесено отдельно, чтобы любой
будущий чат брал те же элементы, а не копировал их.
============================================================ */
function AdvisorDot({ size = 30, avatar }) {
if (avatar) return (
);
return (
);
}
function Typing({ avatar }) {
return (
{[0, 1, 2].map(i => (
))}
);
}
function AiBubble({ children, avatar }) {
return (
{children}
);
}
function UserBubble({ children, file }) {
return (
);
}
/* «Читаю документ»: скелет строк, пока идёт разбор. */
function ParsingCard({ label }) {
return (
{label}…
{[88, 64, 76].map((w, i) => (
))}
);
}
/* Живой ввод: человек печатает сам. Есть подсказки-чипы для тех,
кому тяжело набирать текст — тап подставляет готовый вариант. */
function ChatInput({ ph, value, onChange, onSend, numeric, chips, lang, disabled }) {
const ok = value && value.trim().length > 0;
return (