From 0b31a124c335a769b5264d6242c7b082e1164c7b Mon Sep 17 00:00:00 2001 From: Lukas Bielesch Date: Sat, 12 Apr 2025 23:53:31 +0200 Subject: [PATCH] chore(eckhart): Update components Fix show_error action bar and header colors Implement AllowedTextContent for FidoCredential Add new return type for VerticalMenuScreen --- .../rust/src/ui/layout_eckhart/firmware/text_screen.rs | 3 ++- .../ui/layout_eckhart/firmware/vertical_menu_screen.rs | 4 +++- core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs | 8 +++++++- 3 files changed, 12 insertions(+), 3 deletions(-) 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..50722f732d 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, FidoCredential, Header, HeaderMsg, Hint, }; /// Full-screen component for rendering text. @@ -179,6 +179,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: Fn() -> TString<'static> {} #[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 f27f6e284e..cedec509c4 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 @@ -34,6 +34,8 @@ pub enum VerticalMenuScreenMsg { Back, /// Right header button clicked Close, + /// Menu item selected + Menu, } impl VerticalMenuScreen { @@ -141,7 +143,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 214b05d8e6..6683696cd6 100644 --- a/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs +++ b/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs @@ -731,9 +731,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)