Import legacy data. Show welcome screen when no database is configured. #198
|
@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -30,7 +30,6 @@ pub use welcome_view::WelcomeView;
|
|||
|
||||
pub enum View {
|
||||
Placeholder(PlaceholderView),
|
||||
#[allow(unused)]
|
||||
Welcome(WelcomeView),
|
||||
Historical(HistoricalView),
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue