diff --git a/src/components/week_view.rs b/src/components/week_view.rs index 79d4902..954b667 100644 --- a/src/components/week_view.rs +++ b/src/components/week_view.rs @@ -120,6 +120,11 @@ pub fn week_view(props: &WeekViewProps) -> Html { let onmousedown = { let drag_state = drag_state_clone.clone(); Callback::from(move |e: MouseEvent| { + // Only handle left-click (button 0) + if e.button() != 0 { + return; + } + // Calculate Y position relative to day column container // Use layer_y which gives coordinates relative to positioned ancestor let relative_y = e.layer_y() as f64; @@ -197,18 +202,6 @@ pub fn week_view(props: &WeekViewProps) -> Html { html! {
Html { }) }; + let onmousedown_event = { + Callback::from(move |e: MouseEvent| { + e.stop_propagation(); // Prevent drag-to-create from starting on event clicks + }) + }; + let oncontextmenu = { if let Some(callback) = &props.on_event_context_menu { let callback = callback.clone(); @@ -310,6 +309,7 @@ pub fn week_view(props: &WeekViewProps) -> Html { )} {onclick} {oncontextmenu} + onmousedown={onmousedown_event} >
{event.summary.as_ref().unwrap_or(&"Untitled".to_string())}
{if !is_all_day {