use crate::config::Config;
use crate::core::calculator::timeline::Timeline;
use crate::core::logic::Core;
use crate::utils::time::parse_lunch_window;
pub fn calculate_expected(timeline: &Timeline, cfg: &Config) -> i64 {
if timeline.pairs.is_empty() {
return 0;
}
let work_minutes = Core::parse_work_duration_to_minutes(&cfg.min_work_duration);
let first_pair = &timeline.pairs[0];
let mut lunch = first_pair.lunch_minutes;
if lunch == 0
&& let Some((_win_start, win_end)) = parse_lunch_window(&cfg.lunch_window)
{
let start_time = first_pair.in_event.timestamp().time();
if start_time <= win_end {
lunch = cfg.min_duration_lunch_break as i64;
}
}
work_minutes + lunch
}