<?php $ms=is_array($moysklad_connection??null)?$moysklad_connection:array(); ?>
<section class="tab-pane fade<?php echo $integration_tab_active('moysklad')?' show active':''; ?> easychat-moysklad" id="moysklad-panel" role="tabpanel" aria-labelledby="moysklad-tab" data-moysklad-root>
  <header class="easychat-moysklad__header">
    <img src="assets/channels/moysklad.svg" width="48" height="48" alt="МойСклад">
    <div>
      <h2 class="h5 fw-bold mb-1">Заказы рядом с диалогом</h2>
      <p class="small text-muted mb-0">EasyChat дополняет данные магазина актуальными заказами из МойСклад. Ничего в учётной системе не изменяется.</p>
    </div>
  </header>
  <div class="alert d-none" role="status" aria-live="polite" tabindex="-1" data-moysklad-status></div>
  <form autocomplete="off" data-moysklad-form>
    <input type="hidden" name="nonce" value="<?php echo htmlspecialchars((string)($moysklad_nonce??''),ENT_QUOTES,'UTF-8'); ?>">
    <div class="easychat-moysklad__row">
      <div class="easychat-moysklad__copy"><h3 class="h6 fw-semibold mb-1">Подключение</h3><p class="small text-muted mb-0">Клиент определяется только по точному телефону или e-mail. Неоднозначные совпадения не объединяются.</p></div>
      <div class="form-check form-switch"><input class="form-check-input easychat-switch-lg" type="checkbox" role="switch" name="enabled" id="moysklad-enabled" value="1" <?php echo !empty($ms['enabled'])?'checked':''; ?>><label class="visually-hidden" for="moysklad-enabled">Использовать МойСклад</label></div>
    </div>
    <div class="mt-3">
      <label class="form-label fw-semibold" for="moysklad-token">Токен доступа</label>
      <input class="form-control" id="moysklad-token" name="token" type="password" autocomplete="new-password" placeholder="<?php echo !empty($ms['token_saved'])?'Сохранён: '.htmlspecialchars((string)$ms['token_mask'],ENT_QUOTES,'UTF-8'):'Вставьте токен МойСклад'; ?>" aria-describedby="moysklad-token-help">
    <div class="form-text" id="moysklad-token-help">Нужен отдельный токен сотрудника с правами чтения контрагентов и заказов. Пустое поле не меняет сохранённый токен.</div>
    </div>
    <details class="easychat-moysklad__mapping mt-4">
      <summary class="fw-semibold"><span>Доставка из МойСклад</span><span class="easychat-moysklad__mapping-hint">Настроить сопоставление полей</span></summary>
      <p class="small text-muted mt-2 mb-3">Если CMS не передала доставку, EasyChat прочитает отгрузку и выбранные дополнительные поля МойСклад. Поля сохраняются по постоянному ID.</p>
      <div class="row g-3">
        <?php foreach(array('carrier'=>'Перевозчик','tracking_number'=>'Трек-номер','apiship_client_number'=>'ApiShip clientNumber','apiship_order_id'=>'ApiShip orderId','provider_number'=>'Номер перевозчика') as $key=>$label): ?>
          <div class="col-md-6"><label class="form-label" for="ms-map-<?php echo $key; ?>"><?php echo $label; ?></label><input class="form-control" id="ms-map-<?php echo $key; ?>" data-ms-map="<?php echo $key; ?>" value="<?php echo htmlspecialchars((string)($ms['field_mapping'][$key]??''),ENT_QUOTES,'UTF-8'); ?>" placeholder="UUID дополнительного поля"></div>
        <?php endforeach; ?>
      </div>
      <div class="easychat-moysklad__mapping-actions">
        <button class="btn btn-outline-secondary" type="button" data-moysklad-discover>Найти поля</button>
        <button class="btn btn-outline-primary" type="button" data-moysklad-save-mapping>Сохранить сопоставление</button>
      </div>
      <div class="form-text mt-2" data-moysklad-discovery></div>
    </details>
    <div class="easychat-moysklad__actions">
      <button class="btn btn-primary" type="submit" data-moysklad-save>Сохранить</button>
      <button class="btn btn-outline-secondary" type="button" data-moysklad-test <?php echo empty($ms['token_saved'])?'disabled':''; ?>>Проверить подключение</button>
      <a class="btn btn-link" href="https://docs.easychat24.ru/docs/integrations/moysklad/" target="_blank" rel="noopener noreferrer">Как настроить <span aria-hidden="true">↗</span></a>
    </div>
  </form>
</section>
