use yew::prelude::*; use yew_router::prelude::*; use crate::services::calendar_service::UserInfo; use crate::components::CalendarListItem; #[derive(Clone, Routable, PartialEq)] pub enum Route { #[at("/")] Home, #[at("/login")] Login, #[at("/calendar")] Calendar, } #[derive(Properties, PartialEq)] pub struct SidebarProps { pub user_info: Option, pub on_logout: Callback<()>, pub on_create_calendar: Callback<()>, pub color_picker_open: Option, pub on_color_change: Callback<(String, String)>, pub on_color_picker_toggle: Callback, pub available_colors: Vec, pub on_calendar_context_menu: Callback<(MouseEvent, String)>, } #[function_component(Sidebar)] pub fn sidebar(props: &SidebarProps) -> Html { html! { } }