Open the welcome screen if the database is not available

This commit is contained in:
Savanni D'Gerinel 2024-02-19 16:27:11 -05:00
parent 1c2f40c868
commit 55b6327d42
3 changed files with 9 additions and 17 deletions

View File

@ -96,18 +96,8 @@ impl App {
.unwrap() .unwrap()
} }
pub async fn get_record(&self, id: RecordId) -> Result<Option<Record<TraxRecord>>, AppError> { pub fn database_is_open(&self) -> bool {
let db = self.database.clone(); self.database.read().unwrap().is_some()
self.runtime
.spawn_blocking(move || {
if let Some(ref db) = *db.read().unwrap() {
Ok(db.get(&id))
} else {
Err(AppError::NoDatabase)
}
})
.await
.unwrap()
} }
} }

View File

@ -136,7 +136,6 @@ impl AppWindow {
s s
} }
#[allow(unused)]
fn show_welcome_view(&self) { fn show_welcome_view(&self) {
let view = View::Welcome(WelcomeView::new({ let view = View::Welcome(WelcomeView::new({
let s = self.clone(); let s = self.clone();
@ -177,9 +176,13 @@ impl AppWindow {
glib::spawn_future_local({ glib::spawn_future_local({
let s = self.clone(); let s = self.clone();
async move { async move {
let end = Local::now().date_naive(); if s.app.database_is_open() {
let start = end - Duration::days(7); let end = Local::now().date_naive();
s.show_historical_view(DayInterval { start, end }); let start = end - Duration::days(7);
s.show_historical_view(DayInterval { start, end });
} else {
s.show_welcome_view();
}
} }
}); });
} }

View File

@ -30,7 +30,6 @@ pub use welcome_view::WelcomeView;
pub enum View { pub enum View {
Placeholder(PlaceholderView), Placeholder(PlaceholderView),
#[allow(unused)]
Welcome(WelcomeView), Welcome(WelcomeView),
Historical(HistoricalView), Historical(HistoricalView),
} }