<?php
declare(strict_types=1);
require_once __DIR__ . '/bootstrap.php';
admin_require_login();

$settings = cms_settings();
$animalsPopup = cms_animals_popup_settings($settings);
$moduleId = 'alpaca-home';
$animalsModule = cms_module($moduleId);
if (!$animalsModule) {
    foreach (cms_all_modules() as $candidate) {
        if ((string)($candidate['anchor'] ?? '') === 'alpacas') {
            $animalsModule = $candidate;
            $moduleId = (string)($candidate['id'] ?? $moduleId);
            break;
        }
    }
}
if (!$animalsModule) {
    $animalsModule = [
        'id' => $moduleId,
        'type' => 'gallery',
        'name' => 'Альпаки и отдых',
        'anchor' => 'alpacas',
        'eyebrow' => 'Наши главные эмоции :)',
        'title' => 'Больше фото и информации про наших животных и отдых',
        'text' => 'Расскажите здесь про альпак, мини-лошадок и впечатления гостей.',
        'images' => [],
    ];
}
$notice = '';

if (request_method() === 'POST') {
    if (!verify_csrf($_POST['csrf_token'] ?? null)) {
        $notice = '<div class="notice notice--error">Ошибка безопасности.</div>';
    } else {
        $settings['animals_popup'] = [
            'button_label' => post_text('button_label', $animalsPopup['button_label'] ?? 'Про наших животных'),
            'eyebrow' => post_text('modal_eyebrow', $animalsPopup['eyebrow'] ?? 'Загородный отдых'),
            'title' => post_text('modal_title', $animalsPopup['title'] ?? 'Про наших животных'),
            'text' => post_text('modal_text', $animalsPopup['text'] ?? ''),
        ];
        cms_save_settings($settings);

        $animalsModule['name'] = post_text('module_name', (string)($animalsModule['name'] ?? 'Альпаки и отдых'));
        $animalsModule['anchor'] = post_text('module_anchor', (string)($animalsModule['anchor'] ?? 'alpacas'));
        $animalsModule['eyebrow'] = post_text('module_eyebrow', (string)($animalsModule['eyebrow'] ?? ''));
        $animalsModule['title'] = post_text('module_title', (string)($animalsModule['title'] ?? ''));
        $animalsModule['text'] = post_text('module_text', (string)($animalsModule['text'] ?? ''));
        cms_save_module($moduleId, $animalsModule);

        $settings = cms_settings();
        $animalsPopup = cms_animals_popup_settings($settings);
        $animalsModule = cms_module($moduleId) ?: $animalsModule;
        $notice = '<div class="notice">Раздел «Про животных» обновлён.</div>';
    }
}

ob_start();
echo $notice;
?>
<form class="grid" method="post">
  <input type="hidden" name="csrf_token" value="<?= e(csrf_token()) ?>">

  <section class="panel grid">
    <div class="admin-page-head admin-page-head--compact">
      <div>
        <div class="badge">Животные</div>
        <h2 style="margin:10px 0 6px">Кнопка и окно «Про наших животных»</h2>
        <p class="muted" style="margin:0">Здесь редактируется сама кнопка на сайте и содержимое модального окна, которое открывается при нажатии.</p>
      </div>
      <div class="module-actions">
        <a class="button button--ghost" href="/admin/media.php">Медиатека</a>
        <a class="button button--ghost" href="/admin/collections.php?name=gallery">Фотогалерея</a>
      </div>
    </div>

    <div class="grid grid-2">
      <label><span>Текст кнопки</span><input name="button_label" value="<?= e($animalsPopup['button_label'] ?? '') ?>"></label>
      <label><span>Маленькая подпись в окне</span><input name="modal_eyebrow" value="<?= e($animalsPopup['eyebrow'] ?? '') ?>"></label>
    </div>
    <label><span>Заголовок окна</span><input name="modal_title" value="<?= e($animalsPopup['title'] ?? '') ?>"></label>
    <label><span>Основной текст окна</span><textarea name="modal_text" style="min-height:220px"><?= e($animalsPopup['text'] ?? '') ?></textarea></label>

    <div class="animals-preview-card">
      <div class="animals-preview-card__button-wrap">
        <span class="badge">Предпросмотр</span>
        <button class="button button--ghost button--animals-preview" type="button"><?= e($animalsPopup['button_label'] ?? 'Про наших животных') ?></button>
      </div>
      <div class="animals-preview-card__modal">
        <div class="animals-preview-card__eyebrow"><?= e($animalsPopup['eyebrow'] ?? 'Загородный отдых') ?></div>
        <h3><?= e($animalsPopup['title'] ?? 'Про наших животных') ?></h3>
        <div class="animals-preview-card__text"><?= nl2br(e($animalsPopup['text'] ?? '')) ?></div>
      </div>
    </div>
  </section>

  <section class="panel grid">
    <div class="admin-page-head admin-page-head--compact">
      <div>
        <div class="badge">Блок на главной</div>
        <h2 style="margin:10px 0 6px">Тексты секции про животных</h2>
        <p class="muted" style="margin:0">Ниже меняются тексты самого блока на главной странице с якорем <code>#alpacas</code>.</p>
      </div>
    </div>
    <div class="grid grid-2">
      <label><span>Внутреннее имя блока</span><input name="module_name" value="<?= e($animalsModule['name'] ?? '') ?>"></label>
      <label><span>Якорь блока</span><input name="module_anchor" value="<?= e($animalsModule['anchor'] ?? 'alpacas') ?>"></label>
    </div>
    <div class="grid grid-2">
      <label><span>Маленькая подпись секции</span><input name="module_eyebrow" value="<?= e($animalsModule['eyebrow'] ?? '') ?>"></label>
      <label><span>Заголовок секции</span><input name="module_title" value="<?= e($animalsModule['title'] ?? '') ?>"></label>
    </div>
    <label><span>Текст секции</span><textarea name="module_text" style="min-height:180px"><?= e($animalsModule['text'] ?? '') ?></textarea></label>
  </section>

  <div class="panel sticky-actions">
    <div class="module-actions">
      <button class="button" type="submit">Сохранить раздел «Про животных»</button>
      <a class="button button--ghost" href="/admin/builder.php?page=home">Открыть конструктор</a>
    </div>
  </div>
</form>
<?php
admin_layout('Про животных', ob_get_clean(), 'animals');
