<?php
/**
 * lib/themes.php — Nombres de los 6 temas glass (idx PANEL 0..5).
 *
 * OJO: el índice del panel NO es secuencial con el layout de la app. La cadena real es
 *   idx panel --IBO_THEME_MAP--> valor IBO (1..6) --ThemeChooser--> activity_home_N.
 * Mapa verificado (código + Waydroid):
 *   idx0 -> v1 -> activity_home      : bento launcher (sin fotos TMDB)
 *   idx1 -> v4 -> activity_home_2    : hero + Continue Watching + Trending
 *   idx2 -> v2 -> activity_home_4    : cards laterales + panel hero destacado (derecha)
 *   idx3 -> v3 -> activity_home_3    : backdrop a pantalla completa + cards
 *   idx4 -> v5 -> activity_home_5    : nav lateral + filas Recently Added
 *   idx5 -> v6 -> activity_home_6    : hero + filas Recently Added
 * Solo theme=0 está activo de fábrica; el resto se elige por dispositivo desde el panel.
 */

declare(strict_types=1);

/**
 * Mapa índice PANEL => nombre del tema (describe el layout REAL que renderiza la app).
 *
 * @return array<int,string>
 */
function theme_names(): array
{
    return [
        0 => 'Bento — Live grande + accesos (sin fotos TMDB)',
        1 => 'Hero + Continue Watching + Trending',
        2 => 'Cards + panel hero destacado',
        3 => 'Backdrop a pantalla completa + cards',
        4 => 'Nav lateral + Recently Added',
        5 => 'Hero + Recently Added',
    ];
}

/**
 * Nombre legible de un tema por índice. Devuelve un fallback si el índice no existe.
 */
function theme_name(int $idx): string
{
    $names = theme_names();
    return $names[$idx] ?? ('Theme ' . $idx);
}

/**
 * Valida que un índice de tema esté en el rango 0..5.
 */
function is_valid_theme(int $idx): bool
{
    return $idx >= 0 && $idx <= 5;
}
