use yew::prelude::*; use chrono::{NaiveDate, Datelike}; use crate::components::ViewMode; use web_sys::MouseEvent; #[derive(Properties, PartialEq)] pub struct CalendarHeaderProps { pub current_date: NaiveDate, pub view_mode: ViewMode, pub on_prev: Callback, pub on_next: Callback, pub on_today: Callback, } #[function_component(CalendarHeader)] pub fn calendar_header(props: &CalendarHeaderProps) -> Html { let title = format!("{} {}", get_month_name(props.current_date.month()), props.current_date.year()); html! {

{title}

} } fn get_month_name(month: u32) -> &'static str { match month { 1 => "January", 2 => "February", 3 => "March", 4 => "April", 5 => "May", 6 => "June", 7 => "July", 8 => "August", 9 => "September", 10 => "October", 11 => "November", 12 => "December", _ => "Invalid" } }