implement error view which displays all error on the display
This commit was merged in pull request #48.
This commit is contained in:
+9
-4
@@ -2,14 +2,17 @@ use crate::navigation::outputs::Outputs;
|
||||
use crate::peripherals::Peripherals;
|
||||
use crate::views::card_view::CardView;
|
||||
use crate::views::{
|
||||
flash_info_view::FlashInfoView, journal_view::JournalView, main_menu::MainMenu,
|
||||
scan_menu::ScanMenu, settings_menu::SettingsMenu,
|
||||
error_view::ErrorView, flash_info_view::FlashInfoView, journal_view::JournalView,
|
||||
main_menu::MainMenu, scan_menu::ScanMenu, settings_menu::SettingsMenu,
|
||||
};
|
||||
use alloc::boxed::Box;
|
||||
use core::error;
|
||||
|
||||
use crate::navigation::navigation::{Navigable, NewState};
|
||||
|
||||
#[derive(Debug, Clone)]
|
||||
pub enum View {
|
||||
Error(ErrorView),
|
||||
Main(MainMenu),
|
||||
Scan(ScanMenu),
|
||||
Settings(SettingsMenu),
|
||||
@@ -22,10 +25,11 @@ impl Navigable for View {
|
||||
fn display(
|
||||
&self,
|
||||
outputs: &mut Outputs,
|
||||
peripherals: &Peripherals
|
||||
) -> impl core::future::Future<Output = ()> + Send {
|
||||
peripherals: &Peripherals,
|
||||
) -> impl core::future::Future<Output = Result<(), Box<dyn error::Error>>> + Send {
|
||||
async move {
|
||||
match self {
|
||||
View::Error(error_view) => error_view.display(outputs, peripherals).await,
|
||||
View::Main(main_menu) => main_menu.display(outputs, peripherals).await,
|
||||
View::Scan(scan_menu) => scan_menu.display(outputs, peripherals).await,
|
||||
View::Settings(settings_menu) => settings_menu.display(outputs, peripherals).await,
|
||||
@@ -44,6 +48,7 @@ impl Navigable for View {
|
||||
) -> impl core::future::Future<Output = NewState> + Send {
|
||||
async move {
|
||||
match self {
|
||||
View::Error(error_view) => error_view.handle_input(input).await,
|
||||
View::Main(main_menu) => main_menu.handle_input(input).await,
|
||||
View::Scan(scan_menu) => scan_menu.handle_input(input).await,
|
||||
View::Settings(settings_menu) => settings_menu.handle_input(input).await,
|
||||
|
||||
Reference in New Issue
Block a user