fix(android): UX-1/UX-5b/UX-7/BUG-3 — safe-area modals, glyph, help wrap, modal guard
- UX-1 (safe_area.rs): apply_safe_area_to_modal_scrims pads ModalScrim bottom by insets.bottom / scale_factor so Done buttons clear the gesture bar; fires on inset change + Added<ModalScrim> - UX-5b (home_plugin.rs): replace Geometric Shapes (U+25xx, missing from FiraMono) with card suits U+2660/2665/2666 - UX-7 (help_plugin.rs): shorten Android ≡ button description to "Open menu (Stats, Settings, Profile...)" — fits one line at 360 dp - BUG-3 (hud_plugin.rs): guard spawn_menu_popover with scrims.is_empty() so tapping ≡ while a modal is open is a no-op Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,7 @@ use crate::resources::GameStateResource;
|
||||
use crate::selection_plugin::SelectionState;
|
||||
use crate::time_attack_plugin::TimeAttackResource;
|
||||
use crate::ui_focus::{FocusGroup, Focusable};
|
||||
use crate::ui_modal::ModalScrim;
|
||||
use crate::ui_tooltip::Tooltip;
|
||||
|
||||
/// Marker on the score text node.
|
||||
@@ -1074,6 +1075,7 @@ fn handle_menu_button(
|
||||
interaction_query: Query<&Interaction, (With<MenuButton>, Changed<Interaction>)>,
|
||||
popovers: Query<Entity, With<MenuPopover>>,
|
||||
backdrops: Query<Entity, With<MenuPopoverBackdrop>>,
|
||||
scrims: Query<(), With<ModalScrim>>,
|
||||
font_res: Option<Res<FontResource>>,
|
||||
mut commands: Commands,
|
||||
) {
|
||||
@@ -1088,7 +1090,7 @@ fn handle_menu_button(
|
||||
for e in &backdrops {
|
||||
commands.entity(e).despawn();
|
||||
}
|
||||
} else {
|
||||
} else if scrims.is_empty() {
|
||||
spawn_menu_popover(&mut commands, font_res.as_deref());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user