use std::time::Duration;
#[cfg(target_os = "macos")]
use chrono::{DateTime, Utc};
use notify_rust::Notification;
use tracing::info;
use crate::utils::format_as_secs_minutes_and_hours;
pub(crate) fn move_notif(duration_elapsed: Duration) -> notify_rust::error::Result<()> {
let body = format!(
"Move a bit!\n({} elapsed)",
format_as_secs_minutes_and_hours(duration_elapsed)
);
let mut notif = Notification::new();
notif.summary("Time to move!").body(body.as_str());
#[cfg(all(unix, not(target_os = "macos")))]
notif.timeout(Duration::from_secs(60));
notif.sound_name("ping");
#[cfg(not(target_os = "macos"))]
notif.urgency(notify_rust::Urgency::Critical);
#[cfg(target_os = "macos")]
notif.schedule(Utc::now());
info!("showing notification");
let _handle = notif.show();
Ok(())
}