// ui/panel_pautaje.rs — Helpers para cálculo de tiempos del panel de pautaje
//
// En el futuro, cuando se integre lectura real de duración de audio (ej. con
// symphonia o gstreamer-pbutils), las funciones de este módulo proveerán
// los tiempos para lbl_acumulado y lbl_corte.

use crate::models::TipoPautaje;
use crate::storage;

/// Tiempo total acumulado (segundos) de todos los cortes de una hora
pub fn tiempo_acumulado_hora(tipo: &TipoPautaje, hora: u8) -> u64 {
    (0u8..60)
        .step_by(5)
        .map(|m| tiempo_corte(tipo, hora, m))
        .sum()
}

/// Tiempo total (segundos) de un corte específico
pub fn tiempo_corte(tipo: &TipoPautaje, hora: u8, minuto: u8) -> u64 {
    storage::leer_entradas(tipo, hora, minuto)
        .iter()
        .map(|e| e.duracion_secs())
        .sum()
}
