<?php
declare(strict_types=1);

/**
 * /includes/footer.php
 * Відповідає за:
 * - закриття <main>
 * - футер
 * - глобальний аудіо-плеєр (fixed bottom) + кнопка Закрити
 * - підключення bootstrap та global_player.js
 *
 * ОНОВЛЕНО:
 * - додано копірайт + посилання на сайт розробника SitePro
 * - вбудовано стилі футера прямо в цей файл
 * - додано кнопку переходу в рекламний центр користувача
 * - додано текстові сторінки у футер
 * - посилання на сторінки тепер стоять під копірайтом
 */

$u = $me ?? current_user();

$langNow = function_exists('lang') ? (string)lang() : (string)($_SESSION['lang'] ?? 'uk');
if (!in_array($langNow, ['uk', 'ru', 'en'], true)) {
  $langNow = 'uk';
}

/* developer label (3 languages) */
$devLabel = match ($langNow) {
  'en' => 'Developed by',
  'ru' => 'Разработка',
  default => 'Розробка',
};

/* ad center label (3 languages) */
$reclamaLabel = match ($langNow) {
  'en' => 'Advertising center',
  'ru' => 'Рекламный центр',
  default => 'Рекламний центр',
};

$reclamaEnabled = false;
if ($u) {
  try {
    $reclamaLib = __DIR__ . '/../functional/reclama/_lib.php';
    if (is_file($reclamaLib)) {
      require_once $reclamaLib;
      $pdoFooter = (isset($pdo) && $pdo instanceof PDO) ? $pdo : (function_exists('db') ? db() : null);
      if ($pdoFooter instanceof PDO && function_exists('reclama_is_enabled')) {
        $reclamaEnabled = (bool)reclama_is_enabled($pdoFooter);
      }
    }
  } catch (Throwable $e) {
    $reclamaEnabled = false;
  }
}

$footerPages = [];
try {
  $sitePagesLib = __DIR__ . '/../functional/pages/_lib.php';
  if (is_file($sitePagesLib)) {
    require_once $sitePagesLib;
    $pdoFooterPages = (isset($pdo) && $pdo instanceof PDO) ? $pdo : (function_exists('db') ? db() : null);
    if ($pdoFooterPages instanceof PDO && function_exists('vm_site_pages_footer_pages')) {
      $footerPages = vm_site_pages_footer_pages($pdoFooterPages);
    }
  }
} catch (Throwable $e) {
  $footerPages = [];
}
?>
</main>

<style>
  .footer-app {
    position: relative;
  }

  .footer-app .footer-main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
  }

  .footer-app .footer-left {
    flex: 1 1 auto;
    min-width: 260px;
  }

  .footer-app .footer-copy {
    color: #6c757d;
    font-size: 14px;
    line-height: 1.45;
  }

  .footer-app .footer-pages {
    margin-top: 14px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .footer-app .footer-page-link {
    color: #6c757d;
    text-decoration: none;
    font-size: 14px;
    line-height: 1.35;
    transition: color .18s ease;
  }

  .footer-app .footer-page-link:hover {
    color: #0d6efd;
    text-decoration: underline;
  }

  .footer-app .footer-right {
    flex: 0 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
  }

  .footer-app .footer-lang {
    white-space: nowrap;
  }

  .footer-app .footer-reclama-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(13, 110, 253, .18);
    background: rgba(13, 110, 253, .06);
    color: #0d6efd;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: .18s ease;
  }

  .footer-app .footer-reclama-link:hover {
    background: rgba(13, 110, 253, .12);
    color: #0a58ca;
  }

  @media (max-width: 767.98px) {
    .footer-app .footer-main {
      flex-direction: column;
      align-items: center;
      text-align: center;
    }

    .footer-app .footer-left {
      min-width: 0;
      width: 100%;
    }

    .footer-app .footer-pages {
      align-items: center;
    }

    .footer-app .footer-right {
      width: 100%;
      justify-content: center;
    }
  }
</style>

<footer class="py-4 mt-4 border-top footer-app">
  <div class="container footer-main">
    <div class="footer-left">
      <div class="footer-copy">
        © <?= date('Y') ?> <?= h(t('site')) ?>
        <span class="mx-2">•</span>
        <?= h($devLabel) ?>:
        <a class="link-secondary text-decoration-none" href="https://sitepro.net.ua/" target="_blank" rel="noopener nofollow">
          SitePro
        </a>
      </div>

      <?php if ($footerPages): ?>
        <div class="footer-pages">
          <?php foreach ($footerPages as $page): ?>
            <?php
            $pageTitle = function_exists('vm_site_pages_row_title')
              ? vm_site_pages_row_title($page, $langNow)
              : (string)($page['title_uk'] ?? '');
            $pageSlug = (string)($page['slug'] ?? '');
            if ($pageSlug === '' || trim($pageTitle) === '') {
              continue;
            }
            ?>
            <a class="footer-page-link" href="/functional/pages/view.php?slug=<?= rawurlencode($pageSlug) ?>">
              <?= h($pageTitle) ?>
            </a>
          <?php endforeach; ?>
        </div>
      <?php endif; ?>
    </div>

    <div class="footer-right">
      <?php if ($u && $reclamaEnabled): ?>
        <a class="footer-reclama-link" href="/functional/reclama/">
          📣 <?= h($reclamaLabel) ?>
        </a>
      <?php endif; ?>

      <div class="text-muted small footer-lang">UA / EN / RU</div>
    </div>
  </div>
</footer>

<?php if ($u): ?>
  <!-- Global Audio Dock (persists across PJAX navigation) -->
  <div id="vmAudioDock" class="vm-audio-dock d-none" aria-label="Audio player">
    <div class="vm-audio-inner container">
      <div class="vm-audio-now">
        <div id="vmGA_Title" class="vm-audio-title">—</div>
        <div id="vmGA_Artist" class="vm-audio-artist"></div>

        <div class="vm-audio-progress">
          <span id="vmGA_Cur" class="vm-audio-time">0:00</span>
          <input id="vmGA_Seek" class="vm-audio-seek" type="range" min="0" max="1000" value="0">
          <span id="vmGA_Dur" class="vm-audio-time">0:00</span>
        </div>
      </div>

      <div class="vm-audio-controls">
        <button class="vm-audio-btn" type="button" id="vmGA_Prev" title="Prev">⏮</button>
        <button class="vm-audio-btn vm-audio-btn-primary" type="button" id="vmGA_Play" title="Play/Pause">▶</button>
        <button class="vm-audio-btn" type="button" id="vmGA_Next" title="Next">⏭</button>
      </div>

      <div class="vm-audio-right">
        <button class="vm-audio-btn vm-audio-btn-close" type="button" id="vmGA_Close" title="Close">✕</button>

        <span class="vm-audio-vol-ico">🔊</span>
        <input id="vmGA_Vol" class="vm-audio-vol" type="range" min="0" max="100" value="80">

        <a class="vm-audio-link" href="/functional/audio/?lang=<?= h($langNow) ?>">
          🎧 <?= h((function_exists('t') ? (string)t('audio') : 'Audio')) ?>
        </a>
      </div>
    </div>

    <audio id="vmGA_Audio" preload="metadata"></audio>
  </div>
<?php endif; ?>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>

<?php if ($u): ?>
  <script src="/functional/audio/global_player.js?v=2"></script>
<?php endif; ?>

</body>
</html>