diff --git a/frontend/src/components/week_view.rs b/frontend/src/components/week_view.rs index 772356c..6a5f366 100644 --- a/frontend/src/components/week_view.rs +++ b/frontend/src/components/week_view.rs @@ -399,6 +399,13 @@ pub fn week_view(props: &WeekViewProps) -> Html { let drag_state = drag_state_clone.clone(); let time_increment = props.time_increment; Callback::from(move |e: MouseEvent| { + // Only process mouse move if a button is still pressed + if e.buttons() == 0 { + // No mouse button pressed, clear drag state + drag_state.set(None); + return; + } + if let Some(mut current_drag) = (*drag_state).clone() { if current_drag.is_dragging { // Use layer_y for consistent coordinate calculation @@ -568,9 +575,20 @@ pub fn week_view(props: &WeekViewProps) -> Html { }) }; + // Check if currently dragging to create an event + let is_creating_event = if let Some(drag) = (*drag_state).clone() { + matches!(drag.drag_type, DragType::CreateEvent) && drag.is_dragging + } else { + false + }; + html! {