Some checks failed
Build and Push Docker Image / docker (push) Failing after 1m7s
Moved event fetching logic from CalendarView to Calendar component to properly use the visible date range instead of hardcoded current month. The Calendar component already tracks the current visible date through navigation, so events now load correctly for August and other months when navigating. Changes: - Calendar component now manages its own events state and fetching - Event fetching responds to current_date changes from navigation - CalendarView simplified to just render Calendar component - Fixed cargo fmt/clippy formatting across codebase 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
49 lines
1.1 KiB
Rust
49 lines
1.1 KiB
Rust
use web_sys::MouseEvent;
|
|
use yew::prelude::*;
|
|
|
|
#[derive(Properties, PartialEq)]
|
|
pub struct ContextMenuProps {
|
|
pub is_open: bool,
|
|
pub x: i32,
|
|
pub y: i32,
|
|
pub on_delete: Callback<MouseEvent>,
|
|
pub on_close: Callback<()>,
|
|
}
|
|
|
|
#[function_component(ContextMenu)]
|
|
pub fn context_menu(props: &ContextMenuProps) -> Html {
|
|
let menu_ref = use_node_ref();
|
|
|
|
// Close menu when clicking outside (handled by parent component)
|
|
|
|
if !props.is_open {
|
|
return html! {};
|
|
}
|
|
|
|
let style = format!(
|
|
"position: fixed; left: {}px; top: {}px; z-index: 1001;",
|
|
props.x, props.y
|
|
);
|
|
|
|
let on_delete_click = {
|
|
let on_delete = props.on_delete.clone();
|
|
let on_close = props.on_close.clone();
|
|
Callback::from(move |e: MouseEvent| {
|
|
on_delete.emit(e);
|
|
on_close.emit(());
|
|
})
|
|
};
|
|
|
|
html! {
|
|
<div
|
|
ref={menu_ref}
|
|
class="context-menu"
|
|
style={style}
|
|
>
|
|
<div class="context-menu-item context-menu-delete" onclick={on_delete_click}>
|
|
{"Delete Calendar"}
|
|
</div>
|
|
</div>
|
|
}
|
|
}
|