<?php
/**
 * router.php — Router para el servidor embebido de PHP (`php -S`).
 *
 * El servidor `php -S` NO procesa .htaccess, así que las rutas limpias del
 * contrato (`/api/device/config` sin .php) darían 404. Este router las mapea
 * al front controller del API y deja pasar todo lo demás (archivos estáticos
 * y páginas .php) tal cual.
 *
 * Uso recomendado para desarrollo/pruebas:
 *     php -S 0.0.0.0:8080 router.php
 *
 * En producción (Apache/Nginx) NO se usa este archivo: ahí actúa api/.htaccess.
 */

declare(strict_types=1);

$uri  = parse_url($_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH) ?? '/';
$path = '/' . ltrim($uri, '/');

// Rutas limpias del API (sin .php) -> front controller.
if (preg_match('#^/api/device/(config|login|activate|parental)/?$#', $path)
    || preg_match('#^/api/(tmdb|ads|sports)/?$#', $path)) {
    require __DIR__ . '/api/index.php';
    return true;
}

// Si el recurso existe en disco, que lo sirva el servidor embebido.
$file = __DIR__ . $path;
if ($path !== '/' && is_file($file)) {
    return false; // delega en el handler estático/php por defecto
}

// Raíz -> index.php (redirección login/dashboard).
if ($path === '/' || $path === '') {
    require __DIR__ . '/index.php';
    return true;
}

// Resto: que el servidor resuelva (404 si no existe).
return false;
