diff --git a/crates/chattyness-user-ui/src/pages/realm.rs b/crates/chattyness-user-ui/src/pages/realm.rs index 36add8f..b40d0fe 100644 --- a/crates/chattyness-user-ui/src/pages/realm.rs +++ b/crates/chattyness-user-ui/src/pages/realm.rs @@ -813,6 +813,20 @@ pub fn RealmPage() -> impl IntoView { } } + // If any modal is open, skip hotkeys (modals handle their own Escape key) + if settings_open.get_untracked() + || inventory_open.get_untracked() + || log_open.get_untracked() + || keybindings_open.get_untracked() + || avatar_editor_open.get_untracked() + || register_modal_open.get_untracked() + || history_modal_open.get_untracked() + || conversation_modal_open.get_untracked() + { + *e_pressed_clone.borrow_mut() = false; + return; + } + // Handle space to focus chat input (no prefix) if key == " " { set_focus_prefix.set(' ');