<?php
/**
 * Front controller — lamotilla.es
 */

declare(strict_types=1);

require __DIR__ . '/bootstrap.php';

use Core\Router;
use Controllers\SiteController;

$path = parse_url($_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH) ?: '/';
$path = rawurldecode($path);
$path = rtrim($path, '/');
if ($path === '') { $path = '/'; }

// Redirecciones 301 desde las URLs antiguas (SEO)
$legacy = legacy_redirect($path);
if ($legacy !== null) {
    header('Location: ' . base_url($legacy), true, 301);
    exit;
}

$router = new Router();

// SEO
$router->get('/sitemap.xml',               [SiteController::class, 'sitemap']);
$router->get('/robots.txt',                [SiteController::class, 'robots']);

// Público
$router->get('/',                          [SiteController::class, 'home']);
$router->get('/noticias',                  [SiteController::class, 'news']);
$router->get('/noticias/{slug}',           [SiteController::class, 'newsShow']);
$router->get('/enlaces',                   [SiteController::class, 'links']);
$router->get('/galeria',                   [SiteController::class, 'gallery']);
$router->get('/circulares',                [SiteController::class, 'circulares']);
$router->get('/calendario',                [SiteController::class, 'calendar']);
$router->get('/calendario/{ym}',           [SiteController::class, 'calendar']);
$router->get('/junta-directiva',           [SiteController::class, 'board']);
$router->get('/vocalias',                  [SiteController::class, 'vocalias']);
$router->get('/quejas-y-sugerencias',      [SiteController::class, 'complaint']);
$router->post('/quejas-y-sugerencias',     [SiteController::class, 'complaint']);
$router->get('/buscador',                  [SiteController::class, 'search']);

// Páginas genéricas (estatutos, plano, plan-de-ordenacion, aviso-legal, …)
$router->get('/{key}',                     [SiteController::class, 'page']);

$router->dispatch($_SERVER['REQUEST_METHOD'] ?? 'GET', $path);
