diff --git a/core/embed/rust/src/ui/layout_eckhart/firmware/text_screen.rs b/core/embed/rust/src/ui/layout_eckhart/firmware/text_screen.rs index 40ada70d5c..0a9a516835 100644 --- a/core/embed/rust/src/ui/layout_eckhart/firmware/text_screen.rs +++ b/core/embed/rust/src/ui/layout_eckhart/firmware/text_screen.rs @@ -16,7 +16,7 @@ use crate::{ use super::{ action_bar::ActionBarMsg, theme::{self, SIDE_INSETS}, - ActionBar, Header, HeaderMsg, Hint, + ActionBar, FidoAccountName, FidoCredential, Header, HeaderMsg, Hint, }; /// Full-screen component for rendering text. @@ -128,6 +128,8 @@ where } fn event(&mut self, ctx: &mut EventCtx, event: Event) -> Option { + self.content.event(ctx, event); + if let Some(msg) = self.header.event(ctx, event) { match msg { HeaderMsg::Cancelled => return Some(TextScreenMsg::Cancelled), @@ -179,6 +181,7 @@ pub trait AllowedTextContent: Component + PaginateFull {} impl AllowedTextContent for FormattedText {} impl<'a, T> AllowedTextContent for Paragraphs where T: ParagraphSource<'a> {} impl<'a, T> AllowedTextContent for Checklist where T: ParagraphSource<'a> {} +impl AllowedTextContent for FidoCredential where F: FidoAccountName {} #[cfg(feature = "ui_debug")] impl crate::trace::Trace for TextScreen diff --git a/core/embed/rust/src/ui/layout_eckhart/firmware/vertical_menu_screen.rs b/core/embed/rust/src/ui/layout_eckhart/firmware/vertical_menu_screen.rs index 60af49f206..45203c0c9f 100644 --- a/core/embed/rust/src/ui/layout_eckhart/firmware/vertical_menu_screen.rs +++ b/core/embed/rust/src/ui/layout_eckhart/firmware/vertical_menu_screen.rs @@ -33,6 +33,8 @@ pub enum VerticalMenuScreenMsg { Back, /// Right header button clicked Close, + /// Menu item selected + Menu, } impl VerticalMenuScreen { @@ -189,7 +191,7 @@ impl Component for VerticalMenuScreen { match msg { HeaderMsg::Cancelled => return Some(VerticalMenuScreenMsg::Close), HeaderMsg::Back => return Some(VerticalMenuScreenMsg::Back), - _ => {} + HeaderMsg::Menu => return Some(VerticalMenuScreenMsg::Menu), } } diff --git a/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs b/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs index f2f26acef6..2d3a4b8501 100644 --- a/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs +++ b/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs @@ -729,9 +729,15 @@ impl FirmwareUI for UIEckhart { Button::with_icon(theme::ICON_CLOSE), Button::with_text(button), ) + } else { + ActionBar::new_single(Button::with_text(button)) }; let screen = TextScreen::new(content) - .with_header(Header::new(title).with_icon(theme::ICON_WARNING, theme::RED)) + .with_header( + Header::new(title) + .with_icon(theme::ICON_WARNING, theme::ORANGE) + .with_text_style(theme::label_title_danger()), + ) .with_action_bar(action_bar); let obj = LayoutObj::new(screen)?; Ok(obj)