const { useState, useEffect, useRef } = React;
// Line-style icons for scenarios (match the site's visual language — no emoji)
const SI = {
doc: ,
wallet: ,
car: ,
gift: ,
wrench: ,
file: ,
};
const DEMO_TOPICS = [
{
id: 'smz', icon: SI.doc, name: 'Легализация (СМЗ)',
messages: [
{ side: 'driver', text: 'ребята почему у меня парк 15% забирает а у напарника 3? как так выходит' },
{ side: 'bot', text: 'У тебя статус самозанятого пока не подтверждён в системе — поэтому 15%. С подтверждённым статусом — 3%. Разница на 1 000 заказов: около 12 000 ₽ в месяц.\n\nПоправим за 10 минут: открой «Мой налог», зарегистрируйся по паспорту и пришли справку из приложения. Дальше статус подтяну сам.' },
{ side: 'driver', text: 'а 4% налог это сверху еще снимут?' },
{ side: 'bot', text: 'Нет, не сверху. Эти 4% уже включены в комиссию — Яндекс сам удерживает их с каждого заказа и перечисляет за тебя в налоговую в конце месяца. Тебе отдельно ничего платить и подавать не нужно.' },
],
},
{
id: 'payouts', icon: SI.wallet, name: 'Выплаты',
messages: [
{ side: 'driver', text: 'на балансе 8 400 а вывести могу 0 рублей. почему так?' },
{ side: 'bot', text: 'Привет, Руслан. Баланс 8 400 ₽, но к выводу сейчас 0 ₽: 1 200 ₽ — гарантийный остаток парка (вернётся в конце месяца), а оставшиеся 7 200 ₽ ты уже выводил сегодня в 09:14.\n\nЛимит вывода — раз в сутки. Следующий доступен после 03:00. Прислать уведомление, когда деньги откроются?' },
{ side: 'driver', text: 'а почему комиссия 1.5%? раньше же без процентов было' },
{ side: 'bot', text: 'Статус самозанятого сейчас «не подтверждён» — система ставит стандартный тариф 1,5%. После подтверждения комиссия становится 0%, обычно подтягивается за сутки после регистрации в «Мой налог».\n\nПроверить статус прямо сейчас?' },
],
},
{
id: 'onboarding', icon: SI.car, name: 'Подключение',
messages: [
{ side: 'driver', text: 'здраствуйте хочу к вам в парк. правда первый раз буду таксовать, простите если че напутаю' },
{ side: 'bot', text: 'Привет. Не переживай — проведу за руку, у новичков всегда одни и те же затыки.\n\nЧтобы понять, подходишь ли по требованиям:\n• права категории B со стажем от 3 лет\n• самозанятость (если нет — оформим в чате за 10 минут)\n• авто до 7 лет, четырёхдверное\n\nЧто из этого уже есть?' },
{ side: 'driver', text: 'права 4 года, смз нет, машина киа рио 2019' },
{ side: 'bot', text: 'Подходишь по всем пунктам. Самозанятость оформим прямо сейчас — это единственное, что отделяет тебя от первой смены, занимает 10 минут.\n\nСкачивай «Мой налог» (App Store / Google Play) и пиши, как откроешь — дальше пошагово.' },
],
},
{
id: 'bonus', icon: SI.gift, name: 'Бонусы',
messages: [
{ side: 'driver', text: 'если приведу друга мне чтото будет?' },
{ side: 'bot', text: 'Да. Получаешь 1% от заработка друга — пока он работает в парке, без ограничений по сроку. В среднем один активный реферал приносит 2 500–4 000 ₽ в месяц.\n\nУсловие одно: при подключении друг должен указать, что пришёл от тебя. Просто регистрация в Яндекс.Про не считается.' },
{ side: 'driver', text: 'а сразу как зарегается начнет капать?' },
{ side: 'bot', text: 'Не сразу — отчисления стартуют после его 50-й оплаченной поездки. Это страховка от неактивных рефералов. У водителя на полной смене — 3–4 дня.' },
],
},
{
id: 'order', icon: SI.wrench, name: 'Проблема с заказом',
messages: [
{ side: 'driver', text: 'второй день одни дешевые заказы дают по 150-200р, что за дела' },
{ side: 'bot', text: 'Посмотрел статистику: за последние 24 часа средний чек по тебе 187 ₽ против 340 ₽ по парку. Причина — рейтинг просел до 4,71 после двух отмен 5 апреля.\n\nЧтобы вернуть нормальные заказы:\n• 10 поездок без отмен подряд — алгоритм пересчитает приоритет за сутки\n• выйти в утренний пик 7:00–10:00, там «дешёвых» по определению нет\n\nПроверим вечером, как пойдёт?' },
],
},
{
id: 'docs', icon: SI.file, name: 'Документы',
messages: [
{ side: 'driver', text: 'мне путевой на сегодня и узнать готова лицензия или нет' },
{ side: 'bot', text: 'Путевой на 7 мая сформировал — держи PDF. Медосмотр пройден в 06:08, техосмотр действует до 23.05.\n\nПо лицензии: пришла из Минтранса вчера в 17:42, серия АА №104822. Включил в реестр, заказы по тарифу «Комфорт» уже доступны.' },
],
},
];
function DemoDialog() {
const [activeId, setActiveId] = useState('smz');
const [visible, setVisible] = useState(0);
const [typing, setTyping] = useState(false);
const msgRef = useRef(null);
const active = DEMO_TOPICS.find(t => t.id === activeId);
useEffect(() => { setVisible(0); setTyping(false); }, [activeId]);
useEffect(() => {
if (visible >= active.messages.length) return;
const next = active.messages[visible];
const isBot = next.side === 'bot';
if (isBot) {
setTyping(true);
const t1 = setTimeout(() => { setTyping(false); setVisible(v => v + 1); }, 1100 + Math.random() * 400);
return () => clearTimeout(t1);
} else {
const t1 = setTimeout(() => setVisible(v => v + 1), 700);
return () => clearTimeout(t1);
}
}, [visible, activeId]);
useEffect(() => {
if (msgRef.current) msgRef.current.scrollTop = msgRef.current.scrollHeight;
});
const replay = () => setVisible(0);
return (