from trezor import ui class RecoveryHomescreen(ui.Component): def __init__(self, dry_run: bool, text: str, subtext: str | None = None): super().__init__() self.text = text self.subtext = subtext self.dry_run = dry_run def on_render(self) -> None: if not self.repaint: return if self.dry_run: heading = "SEED CHECK" else: heading = "RECOVERY MODE" ui.header_warning(heading) if not self.subtext: ui.display.text_center(ui.WIDTH // 2, 80, self.text, ui.BOLD, ui.FG, ui.BG) else: ui.display.text_center(ui.WIDTH // 2, 65, self.text, ui.BOLD, ui.FG, ui.BG) ui.display.text_center( ui.WIDTH // 2, 92, self.subtext, ui.NORMAL, ui.FG, ui.BG ) ui.display.text_center( ui.WIDTH // 2, 130, "It is safe to eject Trezor", ui.NORMAL, ui.GREY, ui.BG ) ui.display.text_center( ui.WIDTH // 2, 155, "and continue later", ui.NORMAL, ui.GREY, ui.BG ) self.repaint = False if __debug__: def read_content(self) -> list[str]: return [self.__class__.__name__, self.text, self.subtext or ""]