import React from "react";

export default function InfoModal({ open, onClose, infoTab, setInfoTab }) {
  if (!open) return null;

  return (
    <div className="modal-overlay" onClick={onClose}>
      <div className="modal" onClick={(event) => event.stopPropagation()}>
        <div className="row-header">
          <h3>Как пользоваться</h3>
          <button className="ghost" type="button" onClick={onClose}>Закрыть</button>
        </div>
        <div className="info-tabs">
          <button
            type="button"
            className={`tab ${infoTab === "usage" ? "active" : ""}`}
            onClick={() => setInfoTab("usage")}
          >
            Быстрый старт
          </button>
          <button
            type="button"
            className={`tab ${infoTab === "features" ? "active" : ""}`}
            onClick={() => setInfoTab("features")}
          >
            Функции
          </button>
          <button
            type="button"
            className={`tab ${infoTab === "strategies" ? "active" : ""}`}
            onClick={() => setInfoTab("strategies")}
          >
            Стратегии
          </button>
          <button
            type="button"
            className={`tab ${infoTab === "limits" ? "active" : ""}`}
            onClick={() => setInfoTab("limits")}
          >
            Ограничения Telegram
          </button>
        </div>
        {infoTab === "usage" && (
          <>
            <ol className="help-list">
              <li>Создайте задачу: название, наша группа и группы конкурентов.</li>
              <li>Импортируйте аккаунты (tdata) и назначьте роли для задачи.</li>
              <li>Нажмите “Собрать историю”, чтобы добавить авторов из последних сообщений.</li>
              <li>Нажмите “Запустить”, чтобы отслеживать новые сообщения и приглашать по расписанию.</li>
              <li>Следите за статусом, логами, событиями и очередью.</li>
            </ol>
            <p className="help-note">
              “Собрать историю” добавляет в очередь авторов старых сообщений. Без этого учитываются только новые сообщения.
            </p>
          </>
        )}
        {infoTab === "features" && (
          <div className="help-note">
            <strong>Функции и режимы:</strong>
            <div>1) Мониторинг: отслеживает новые сообщения в чатах конкурентов и добавляет авторов в очередь.</div>
            <div>2) Инвайт по расписанию: приглашает с интервалом и дневным лимитом.</div>
            <div>3) Инвайт через админов: временно выдает право “Приглашать”, затем снимает.</div>
            <div>4) Инвайт в чаты с флудом: распределяет инвайт через цепочку выдачи прав.</div>
            <div>5) Циклический обход конкурентов: переключает мониторинг по списку групп.</div>
            <div>6) Парсинг участников: пытается получить список участников для закрытых чатов.</div>
            <div>7) Прогрев лимита: плавно увеличивает дневной лимит по дням.</div>
            <div>8) Fallback‑лист: собирает проблемные инвайты и предлагает маршруты.</div>
          </div>
        )}
        {infoTab === "strategies" && (
          <div className="help-note">
            <strong>Стратегии инвайта:</strong>
            <div>1) access_hash из сообщения.</div>
            <div>2) Резолв через участников/источник.</div>
            <div>3) Инвайт по username (если доступен).</div>
            <div>4) Инвайт через админов (если включен).</div>
            <div>5) Отправка инвайт‑ссылки (если включено).</div>
            <div>После успешного инвайта выполняется проверка фактического вступления.</div>
          </div>
        )}
        {infoTab === "limits" && (
          <div className="help-note">
            <strong>Особенности Telegram и ошибки:</strong>
            <div>1) AUTH_KEY_DUPLICATED: tdata уже используется — выйдите из аккаунта на других устройствах и пересоберите tdata.</div>
            <div>2) CHAT_ADMIN_REQUIRED: аккаунт должен быть админом с правом “добавлять участников”.</div>
            <div>3) USER_ID_INVALID: скрытые/анонимные авторы, удаленные аккаунты — инвайт возможен только по username.</div>
            <div>4) USER_NOT_MUTUAL_CONTACT: ограничения Telegram/приватность пользователя — помогает инвайт‑ссылка или другой аккаунт.</div>
            <div>5) USER_PRIVACY_RESTRICTED: пользователь запретил инвайты в чаты.</div>
            <div>6) FLOOD/PEER_FLOOD: снизить лимиты, увеличить интервалы, распределить нагрузку.</div>
            <div>7) CHANNEL_PRIVATE/INVITE_HASH_INVALID: ссылка недействительна или чат приватный.</div>
          </div>
        )}
      </div>
    </div>
  );
}
