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

View File

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