From 346333c3793c1606a36d106185202911bcc2ec32 Mon Sep 17 00:00:00 2001 From: obrusvit Date: Mon, 10 Mar 2025 17:59:24 +0100 Subject: [PATCH] feat(eckhart): implement bootloader components - skimmed variants of Header, ActionBar, TextScreen, Menu - implement ErrorScreen - implement WelcomeScreen - implement bootloader loader --- .../bootloader/bld_actionbar.rs | 116 +++++++++++ .../layout_eckhart/bootloader/bld_header.rs | 184 ++++++++++++++++++ .../ui/layout_eckhart/bootloader/bld_menu.rs | 100 ++++++++++ .../bootloader/bld_menu_screen.rs | 90 +++++++++ .../bootloader/bld_text_screen.rs | 181 +++++++++++++++++ .../{welcome.rs => welcome_screen.rs} | 17 +- .../src/ui/layout_eckhart/component/error.rs | 86 ++++---- .../component/welcome_screen.rs | 45 ++--- .../src/ui/layout_eckhart/cshape/loader.rs | 112 ++++++++--- .../rust/src/ui/layout_eckhart/cshape/mod.rs | 2 +- .../ui/layout_eckhart/cshape/screen_border.rs | 2 +- 11 files changed, 824 insertions(+), 111 deletions(-) create mode 100644 core/embed/rust/src/ui/layout_eckhart/bootloader/bld_actionbar.rs create mode 100644 core/embed/rust/src/ui/layout_eckhart/bootloader/bld_header.rs create mode 100644 core/embed/rust/src/ui/layout_eckhart/bootloader/bld_menu.rs create mode 100644 core/embed/rust/src/ui/layout_eckhart/bootloader/bld_menu_screen.rs create mode 100644 core/embed/rust/src/ui/layout_eckhart/bootloader/bld_text_screen.rs rename core/embed/rust/src/ui/layout_eckhart/bootloader/{welcome.rs => welcome_screen.rs} (82%) diff --git a/core/embed/rust/src/ui/layout_eckhart/bootloader/bld_actionbar.rs b/core/embed/rust/src/ui/layout_eckhart/bootloader/bld_actionbar.rs new file mode 100644 index 0000000000..087a46bac5 --- /dev/null +++ b/core/embed/rust/src/ui/layout_eckhart/bootloader/bld_actionbar.rs @@ -0,0 +1,116 @@ +use crate::ui::{ + component::{Component, Event, EventCtx}, + geometry::{Insets, Offset, Rect}, + shape::Renderer, +}; + +use super::super::component::{Button, ButtonMsg}; + +/// Component for control buttons in the bottom of the screen. Reduced variant +/// for Bootloader UI. +pub struct BldActionBar { + /// Behavior based on `Mode` + mode: Mode, + /// Right or single button. + right_button: Button, + /// Optional left button. + left_button: Option