<?php
session_start();

$host = "localhost";
$user = "root";
$password = "";
$dbname = "hotel_gestao";
$conn = new mysqli($host, $user, $password, $dbname);
if ($conn->connect_error) {
    die("Erro de conexão: " . $conn->connect_error);
}

// Obter tipos de quarto únicos
$tipos = [];
$tipo_sql = "SELECT DISTINCT tipo FROM quartos";
$tipo_result = $conn->query($tipo_sql);
if ($tipo_result->num_rows > 0) {
    while ($row = $tipo_result->fetch_assoc()) {
        $tipos[] = $row['tipo'];
    }
}

// Filtros
$tipo_filtro = $_GET['tipo'] ?? '';
$preco_min = $_GET['preco_min'] ?? '';
$preco_max = $_GET['preco_max'] ?? '';
$ordenar = $_GET['ordenar'] ?? '';
$pagina = isset($_GET['pagina']) ? max(1, (int)$_GET['pagina']) : 1;
$quartos_por_pagina = 6;
$offset = ($pagina - 1) * $quartos_por_pagina;

// Query base
$query = "SELECT * FROM quartos WHERE 1=1";
$count_query = "SELECT COUNT(*) as total FROM quartos WHERE 1=1";

// Aplicar filtros
if (!empty($tipo_filtro)) {
    $filtro_tipo = $conn->real_escape_string($tipo_filtro);
    $query .= " AND tipo = '$filtro_tipo'";
    $count_query .= " AND tipo = '$filtro_tipo'";
}
if (!empty($preco_min)) {
    $query .= " AND preco >= " . (float)$preco_min;
    $count_query .= " AND preco >= " . (float)$preco_min;
}
if (!empty($preco_max)) {
    $query .= " AND preco <= " . (float)$preco_max;
    $count_query .= " AND preco <= " . (float)$preco_max;
}

// Ordenação
switch ($ordenar) {
    case 'preco_asc':
        $query .= " ORDER BY preco ASC";
        break;
    case 'preco_desc':
        $query .= " ORDER BY preco DESC";
        break;
    case 'nome_asc':
        $query .= " ORDER BY nome ASC";
        break;
    case 'nome_desc':
        $query .= " ORDER BY nome DESC";
        break;
    default:
        $query .= " ORDER BY preco ASC";
}

// Paginação
$query .= " LIMIT $offset, $quartos_por_pagina";
$result = $conn->query($query);

// Total de quartos para paginação
$total_quartos = $conn->query($count_query)->fetch_assoc()['total'];
$total_paginas = ceil($total_quartos / $quartos_por_pagina);

// Preço mais barato e mais caro
$precos_sql = "SELECT MIN(preco) AS menor, MAX(preco) AS maior FROM quartos";
$precos = $conn->query($precos_sql)->fetch_assoc();
$mais_barato = $precos['menor'];
$mais_caro = $precos['maior'];
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <title>Quartos - Hotel Epic Sana</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <link rel="stylesheet" href="css/style.css">
  <style>
    .quarto-barato {
      border-left: 5px solid #28a745;
    }
    .quarto-luxo {
      border-left: 5px solid gold;
    }
    .img-quarto {
      width: 100%;
      height: 200px;
      object-fit: cover;
    }
  </style>
</head>
<body>

<header class="header" id="navigation-menu">
  <div class="container">
    <nav>
      <a href="index.html" class="logo"><img src="image/logo.png" alt=""></a>
      <ul class="nav-menu">
        <li><a href="index.html#home" class="nav-link">Página Inicial</a></li>
        <li><a href="index.html#about" class="nav-link">Sobre nós</a></li>
        <li><a href="index.html#gallary" class="nav-link">Galeria</a></li>
        <li><a href="perfil.php" class="nav-link">Perfil</a></li>
      </ul>
    </nav>
  </div>
</header>
<br><br>
<section class="py-5 bg-light text-center">
  <div class="container">
    <h1 class="display-5">Quartos Disponíveis</h1>
    <p class="lead">Escolha seu quarto ideal com base em tipo ou preço</p>
  </div>
</section>
<br><br>

<section class="container">
  <form class="row g-3 mb-4" method="GET">
    <div class="col-md-2">
      <label for="ordenar" class="form-label">Ordenar por</label>
      <select name="ordenar" id="ordenar" class="form-select">
        <option value="">Preço (menor)</option>
        <option value="preco_desc" <?= ($ordenar === 'preco_desc') ? 'selected' : '' ?>>Preço (maior)</option>
        <option value="nome_asc" <?= ($ordenar === 'nome_asc') ? 'selected' : '' ?>>Nome (A-Z)</option>
        <option value="nome_desc" <?= ($ordenar === 'nome_desc') ? 'selected' : '' ?>>Nome (Z-A)</option>
      </select>
    </div>

    <div class="col-md-4">
      <label for="tipo" class="form-label">Tipo de Quarto</label>
      <select name="tipo" id="tipo" class="form-select">
        <option value="">Todos</option>
        <?php foreach ($tipos as $tipo): ?>
          <option value="<?= $tipo ?>" <?= ($tipo === $tipo_filtro) ? 'selected' : '' ?>>
            <?= ucfirst($tipo) ?>
          </option>
        <?php endforeach; ?>
      </select>
    </div>

    <div class="col-md-3">
      <label for="preco_min" class="form-label">Preço Mínimo (Kz)</label>
      <input type="number" name="preco_min" id="preco_min" class="form-control" value="<?= htmlspecialchars($preco_min) ?>">
    </div>
    <div class="col-md-3">
      <label for="preco_max" class="form-label">Preço Máximo (Kz)</label>
      <input type="number" name="preco_max" id="preco_max" class="form-control" value="<?= htmlspecialchars($preco_max) ?>">
      <br>
    </div>
    
    <div class="col-md-2 d-flex align-items-end">
      <button type="submit" class="btn btn-primary w-100">Filtrar</button>
    </div>
  </form>
</section>

<section class="container">
  <?php if ($result && $result->num_rows > 0): ?>
    <div class="row">
      <?php while ($row = $result->fetch_assoc()): ?>
        <?php
          $classe = '';
          $icone = '';
          if ($row['preco'] == $mais_barato) {
              $classe = 'quarto-barato';
              $icone = '✅ Mais barato';
          } elseif ($row['preco'] == $mais_caro) {
              $classe = 'quarto-luxo';
              $icone = '⭐ Luxo';
          }

          $id_quarto = $row['id'];
          $link_reserva = isset($_SESSION['usuario_id']) ? "reservar.php?id_quarto=$id_quarto" : "login.php";
          $link_detalhes = "detalhes_quarto.php?id=$id_quarto";
        ?>
        <div class="col-12 mb-4">
          <div class="card h-100 shadow-sm <?= $classe ?>">
            <div class="row g-0">
              <div class="col-md-4">
                <img src="image/<?= htmlspecialchars($row['imagem']) ?>" class="img-fluid rounded-start img-quarto" alt="<?= htmlspecialchars($row['nome']) ?>">
              </div>
              <div class="col-md-8">
                <div class="card-body d-flex flex-column">
                  <h5 class="card-title"><?= htmlspecialchars($row['nome']) ?> <?= $icone ? "<span class='text-warning'>$icone</span>" : '' ?></h5>
                  <p class="card-text"><?= nl2br(htmlspecialchars($row['descricao'])) ?></p>
                  <div class="mt-auto d-flex justify-content-between align-items-center flex-wrap">
                    <span class="fw-bold text-primary mb-2">KZ <?= number_format($row['preco'], 2, ',', '.') ?>/noite</span>
                    <div>
                      <a href="<?= $link_detalhes ?>" class="btn btn-secondary btn-sm me-2">Ver Detalhes</a>
                      <a href="<?= $link_reserva ?>" class="btn btn-outline-primary btn-sm">Reservar</a>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      <?php endwhile; ?>
    </div>

    <!-- Paginação -->
    <nav aria-label="Navegação de páginas">
      <ul class="pagination justify-content-center">
        <?php for ($i = 1; $i <= $total_paginas; $i++): ?>
          <li class="page-item <?= ($i == $pagina) ? 'active' : '' ?>">
            <a class="page-link" href="?<?= http_build_query(array_merge($_GET, ['pagina' => $i])) ?>"><?= $i ?></a>
          </li>
        <?php endfor; ?>
      </ul>
    </nav>

  <?php else: ?>
    <div class="alert alert-warning text-center">Nenhum quarto encontrado com os filtros selecionados.</div>
  <?php endif; ?>
</section>

<br><br>
<footer>
   
   <div class="container grid top">
     <div class="box">
       <img src="https://img.icons8.com/external-flatart-icons-flat-flatarticons/48/000000/external-hotel-hotel-services-and-city-elements-flatart-icons-flat-flatarticons-1.png" />
       <p> Estamos disponíveis para o ajudar a encontrar a melhor solução para a sua estadia.</p> <br>

       <p>Métodos de Pagamentos Disponíveis</p> <br>
       <div class="payment grid">
         <img src="https://img.icons8.com/color/48/000000/visa.png" />
         <img src="https://img.icons8.com/color/48/000000/mastercard.png" />
         <img src="https://img.icons8.com/color-glass/48/000000/paypal.png" />
         
       </div>
     </div>
   
     <div class="box">
       <h3>Notícias Recentes</h3>

       <ul>
         <li>Nos Sayanna Wellness & Spa dos hotéis Epic Sana em Lisboa e no Algarve, as massagens de criança utilizam produtos AromsNature à base de óleo de sésamo, camomila e rosas.</li>
         <li>No restaurante Astrolábio, localizado no Sana Metropolitan Hotel, nas Avenidas Novas, em Lisboa, os almoços de quinta-feira são dedicados a esta iguaria.</li>
        
       </ul>
     </div>

     <div class="box">
       <h3>Para Clientes</h3>
       <ul>
         <li>Sobre o Epic Sana</li>
         <li>Ajuda ao cliente</li>
         <li>Contas Empresariais</li>
         <li>Informações Financeiras</li>
         <li>Termos & Condições</li>
       </ul>
     </div>

     <div class="box">
       <h3>Contacte-nos</h3>

       <ul>
         <li> <a style="color: black;" onmouseover="this.style.color='#C1B086'" onmouseout="this.style.color='black'" href="https://maps.app.goo.gl/vZiACx5RJ5rQqfD2A"><i class="far fa-chevron-right" ></i> R. da Missão, Luanda</li></a>
         <li><i class="far fa-envelope"></i> epicsanahotel@gmail.com </li>
         <li><i class="far fa-phone-alt"></i> +244 928 342 855 </li>
         <li><i class="far fa-phone-alt"></i> 222 775 998 </li>
         <li><i class="far fa-comments"></i> Atendimento ao Cliente 24/7 </li>
       </ul>
     </div>
   </div>
   </footer>
<footer class="bg-dark text-white text-center py-3 mt-5">

  <div class="container">
    <small>&copy; <?= date("Y") ?> Hotel Epic Sana - Todos os direitos reservados.</small>
  </div>
</footer>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>

<?php $conn->close(); ?>
