diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 34 | 
1 files changed, 20 insertions, 14 deletions
diff --git a/src/main.rs b/src/main.rs index b18cb1a..ebc2d7e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -27,27 +27,33 @@ fn main() -> Result<()> {      let deck_path = args.deck;      let mut conn = db::init(db_path(&deck_path))?;      let deck_name = deck::pp_from_path(&deck_path).unwrap_or_else(|| "Deck".to_string()); - -    sync::run(&mut conn, &deck_path)?; -    let deck_last_sync = util::time::seconds_since_unix_epoch()?; -      let mut term = gui::setup_terminal()?; -    match gui::start( -        &mut conn, -        &mut term, -        &deck_path, -        &deck_name, -        deck_last_sync, -        args.hide_remaining, -    ) { -        Ok(()) => (), +    match sync::run(&mut conn, &deck_path) { +        Ok(()) => { +            let deck_last_sync = util::time::seconds_since_unix_epoch()?; + +            match gui::start( +                &mut conn, +                &mut term, +                &deck_path, +                &deck_name, +                deck_last_sync, +                args.hide_remaining, +            ) { +                Ok(()) => (), +                Err(msg) => { +                    // Show errors in TUI, otherwise they are hidden +                    gui::message::show(&mut term, &deck_name, &format!("{msg}"), true)? +                } +            } +        },          Err(msg) => { -            // Show errors in TUI, otherwise they are hidden              gui::message::show(&mut term, &deck_name, &format!("{msg}"), true)?          }      } +      gui::restore_terminal(&mut term)  }  | 
