feat(core): improve the design of TT locking loader on homescreen

[no changelog]
pull/3518/head
grdddj 4 months ago committed by Jiří Musil
parent 76c547bb91
commit dba4bf9e38

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

@ -38,7 +38,7 @@ const TOP_CENTER: Point = AREA.top_center();
const LABEL_Y: i16 = HEIGHT - 18;
const LOCKED_Y: i16 = HEIGHT / 2 - 13;
const TAP_Y: i16 = HEIGHT / 2 + 14;
const HOLD_Y: i16 = 35;
const HOLD_Y: i16 = 200;
const COINJOIN_Y: i16 = 30;
const LOADER_OFFSET: Offset = Offset::y(-10);
const LOADER_DELAY: Duration = Duration::from_millis(500);
@ -67,7 +67,7 @@ where
label,
notification,
hold_to_lock,
loader: Loader::new().with_durations(LOADER_DURATION, LOADER_DURATION / 3),
loader: Loader::with_lock_icon().with_durations(LOADER_DURATION, LOADER_DURATION / 3),
pad: Pad::with_background(theme::BG),
paint_notification_only: false,
delay: None,
@ -106,8 +106,8 @@ where
fn paint_loader(&mut self) {
display::text_center(
TOP_CENTER + Offset::y(HOLD_Y),
"HOLD TO LOCK",
Font::BOLD,
"Locking the device...",
Font::NORMAL,
theme::FG,
theme::BG,
);

@ -39,6 +39,15 @@ impl Loader {
pub fn new() -> Self {
let styles = theme::loader_default();
Self::with_styles(styles)
}
pub fn with_lock_icon() -> Self {
let styles = theme::loader_lock_icon();
Self::with_styles(styles)
}
pub fn with_styles(styles: LoaderStyleSheet) -> Self {
Self {
pad: Pad::with_background(styles.normal.background_color),
state: State::Initial,

@ -75,6 +75,7 @@ include_icon!(ICON_LIST_CHECK, "model_tt/res/check16.toif");
include_icon!(ICON_WARN, "model_tt/res/warning16.toif");
include_icon!(ICON_WARNING40, "model_tt/res/warning40.toif");
include_icon!(ICON_LOCK, "model_tt/res/lock16.toif");
include_icon!(ICON_LOCK_BIG, "model_tt/res/lock24.toif");
include_icon!(ICON_COINJOIN, "model_tt/res/coinjoin16.toif");
include_icon!(ICON_MAGIC, "model_tt/res/magic.toif");
@ -575,6 +576,21 @@ pub const fn loader_default() -> LoaderStyleSheet {
}
}
pub const fn loader_lock_icon() -> LoaderStyleSheet {
LoaderStyleSheet {
normal: &LoaderStyle {
icon: Some((ICON_LOCK_BIG, FG)),
loader_color: FG,
background_color: BG,
},
active: &LoaderStyle {
icon: Some((ICON_LOCK_BIG, FG)),
loader_color: GREEN,
background_color: BG,
},
}
}
pub const TEXT_NORMAL: TextStyle = TextStyle::new(Font::NORMAL, FG, BG, GREY_LIGHT, GREY_LIGHT);
pub const TEXT_DEMIBOLD: TextStyle = TextStyle::new(Font::DEMIBOLD, FG, BG, GREY_LIGHT, GREY_LIGHT);
pub const TEXT_BOLD: TextStyle = TextStyle::new(Font::BOLD, FG, BG, GREY_LIGHT, GREY_LIGHT);

Loading…
Cancel
Save