<?php
session_start();
require_once '../includes/db_config.php';

/* ===== підготовка header ===== */
$siteName  = 'Розклад занять';
$group_id  = isset($_GET['group_id']) ? (int)$_GET['group_id'] : 0;
$group_name = 'Невідома група';

$pageTitle = $group_id > 0 ? ('Консультації — ' . $group_name) : 'Консультації';
$pageCss   = [
    'https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css',
    '/css/rozklad-consultations.css?v=3'
];

/* ===== Отримуємо список груп / назву групи / консультації ===== */
$groups = [];
$consultation_schedule = [];

if ($group_id <= 0) {
    $groups_query = "SELECT * FROM `groups` ORDER BY position";
    $groups_result = $conn->query($groups_query);
    if ($groups_result) {
        while ($row = $groups_result->fetch_assoc()) {
            $groups[] = $row;
        }
    }
} else {
    // Назва групи
    $group_query = "SELECT name FROM `groups` WHERE id = ?";
    $group_stmt = $conn->prepare($group_query);
    if ($group_stmt) {
        $group_stmt->bind_param("i", $group_id);
        $group_stmt->execute();
        $group_result = $group_stmt->get_result();
        if ($group_result && $group_result->num_rows > 0) {
            $group = $group_result->fetch_assoc();
            $group_name = !empty($group['name']) ? (string)$group['name'] : 'Невідома група';
        } else {
            $conn->close();
            die("Помилка: Група не знайдена.");
        }
        $group_stmt->close();
    }

    // Оновлюємо title вже з назвою
    $pageTitle = 'Консультації — ' . $group_name;

    // Розклад консультацій
    $sql = "SELECT * FROM consultations WHERE group_id = ? ORDER BY date";
    $stmt = $conn->prepare($sql);
    if ($stmt) {
        $stmt->bind_param("i", $group_id);
        $stmt->execute();
        $result = $stmt->get_result();
        while ($row = $result->fetch_assoc()) {
            $consultation_schedule[] = $row;
        }
        $stmt->close();
    }
}

$conn->close();

/* ===== довідники ===== */
$days = ['Понеділок', 'Вівторок', 'Середа', 'Четвер', 'П’ятниця', 'Субота', 'Неділя'];
$consultation_times = [
    7 => '15:30–16:15',
    8 => '16:20–17:05'
];

/* ===== header ===== */
include '../includes/header.php';
?>

<main class="page">
  <div class="kp-container">
    <div class="container py-3 py-sm-4 consultations-wrap">
      <h1 class="page-title mb-3">
        Консультації<?= $group_id > 0 ? ' для ' . htmlspecialchars($group_name, ENT_QUOTES, 'UTF-8') : '' ?>
      </h1>

      <?php if ($group_id <= 0): ?>
        <div class="tab block-card">
          <h2 class="block-title">Оберіть групу</h2>

          <div class="table-responsive">
            <table class="table table-striped table-hover schedule-table align-middle">
              <thead>
                <tr>
                  <th>Група</th>
                  <th style="width: 220px;">Дії</th>
                </tr>
              </thead>
              <tbody>
              <?php if (count($groups) > 0): ?>
                <?php foreach ($groups as $g): ?>
                  <tr>
                    <td data-label="Група">
                      <?= htmlspecialchars((string)$g['name'], ENT_QUOTES, 'UTF-8'); ?>
                    </td>
                    <td data-label="Дії">
                      <a
                        href="consultations.php?group_id=<?= (int)$g['id']; ?>"
                        class="btn btn-primary btn-sm w-100 w-sm-auto"
                      >
                        Переглянути консультації
                      </a>
                    </td>
                  </tr>
                <?php endforeach; ?>
              <?php else: ?>
                <tr>
                  <td colspan="2" class="text-center text-body-secondary">Немає груп.</td>
                </tr>
              <?php endif; ?>
              </tbody>
            </table>
          </div>
        </div>

      <?php else: ?>

        <div class="tab block-card">
          <div class="table-responsive">
            <table class="table table-striped table-hover schedule-table align-middle">
              <thead>
                <tr>
                  <th style="width: 110px;">Дата</th>
                  <th style="width: 160px;">День тижня</th>
                  <th>Предмет</th>
                  <th style="width: 120px;">Час</th>
                  <th>Примітка</th>
                </tr>
              </thead>
              <tbody>
              <?php if (count($consultation_schedule) > 0): ?>
                <?php foreach ($consultation_schedule as $entry): ?>
                  <?php
                    $dw = (int)($entry['day_of_week'] ?? 0);
                    $day_name = $days[$dw - 1] ?? '—';
                    $subject_name = (string)($entry['subject_name'] ?? 'Невідомий предмет');
                    $ln = (int)($entry['lesson_number'] ?? 0);
                    $time = $consultation_times[$ln] ?? 'Невідомий час';
                    $date_raw = $entry['date'] ?? null;
                    $date = $date_raw ? (new DateTime((string)$date_raw))->format('d.m.Y') : '—';
                    $notes = (string)($entry['notes'] ?? '');
                  ?>
                  <tr>
                    <td data-label="Дата"><?= htmlspecialchars($date, ENT_QUOTES, 'UTF-8'); ?></td>
                    <td data-label="День тижня"><?= htmlspecialchars($day_name, ENT_QUOTES, 'UTF-8'); ?></td>
                    <td data-label="Предмет"><?= htmlspecialchars($subject_name, ENT_QUOTES, 'UTF-8'); ?></td>
                    <td data-label="Час"><?= htmlspecialchars($time, ENT_QUOTES, 'UTF-8'); ?></td>
                    <td data-label="Примітка">
                      <?= $notes !== '' ? htmlspecialchars($notes, ENT_QUOTES, 'UTF-8') : '<span class="text-body-secondary">—</span>'; ?>
                    </td>
                  </tr>
                <?php endforeach; ?>
              <?php else: ?>
                <tr>
                  <td colspan="5" class="text-center text-body-secondary">Немає консультацій для цієї групи.</td>
                </tr>
              <?php endif; ?>
              </tbody>
            </table>
          </div>

          <div class="mt-3">
            <a class="btn btn-outline-secondary w-100 w-sm-auto" href="consultations.php">
              ← Повернутися до списку груп
            </a>
          </div>
        </div>

      <?php endif; ?>
    </div>
  </div>
</main>

<?php include '../includes/footer.php'; ?>

</body>
</html>
