Real time map update
This commit is contained in:
+28
-4
@@ -5,11 +5,12 @@ use crate::navigation::{KeyPressedPage, NavigatedPage, Page};
|
||||
use crate::repetitions::CardSetSettings;
|
||||
use crate::styling::*;
|
||||
use crate::{AppState, RootMessage};
|
||||
use chrono::Local;
|
||||
use iced::alignment::Horizontal::Center;
|
||||
use iced::keyboard::key::Physical::Code;
|
||||
use iced::widget::text::Style;
|
||||
use iced::widget::{button, column, container, row, rule, space, text, tooltip, Column};
|
||||
use iced::{alignment, keyboard, Element, Fill, Task, Theme};
|
||||
use iced::widget::{Column, button, column, container, row, rule, space, text, tooltip};
|
||||
use iced::{Element, Fill, Task, Theme, alignment, keyboard};
|
||||
use rodio::MixerDeviceSink;
|
||||
use std::collections::HashSet;
|
||||
use std::sync::{Arc, Mutex};
|
||||
@@ -111,10 +112,28 @@ impl RepetitionState {
|
||||
|_| RootMessage::Repetition(RepetitionMessage::PlayFinished),
|
||||
);
|
||||
}
|
||||
|
||||
self.increment_counter();
|
||||
Task::none()
|
||||
}
|
||||
|
||||
fn increment_counter(&mut self) {
|
||||
let mut state = self.state.lock().unwrap();
|
||||
let id = self.settings.id;
|
||||
let activity = state.activity.get_mut(&id);
|
||||
|
||||
let now = Local::now().date_naive();
|
||||
|
||||
if let Some(activity) = activity {
|
||||
let (last_day, counter) = activity.last_mut().unwrap();
|
||||
if *last_day == now {
|
||||
*counter += 1;
|
||||
} else {
|
||||
activity.push((now, 1));
|
||||
}
|
||||
} else {
|
||||
state.activity.insert(id, vec![(now, 1)]);
|
||||
}
|
||||
}
|
||||
pub fn view(&self) -> Element<'_, RepetitionMessage> {
|
||||
back_overlay(
|
||||
column![
|
||||
@@ -152,7 +171,12 @@ impl RepetitionState {
|
||||
|
||||
fn draw_backward(&self) -> Element<'_, RepetitionMessage> {
|
||||
if !self.open {
|
||||
return container(text!("?").size(72)).width(Fill).height(Fill).align_y(alignment::Vertical::Center).align_x(Center).into();
|
||||
return container(text!("?").size(72))
|
||||
.width(Fill)
|
||||
.height(Fill)
|
||||
.align_y(alignment::Vertical::Center)
|
||||
.align_x(Center)
|
||||
.into();
|
||||
}
|
||||
|
||||
self.draw_card_view(self.settings.backward.as_str())
|
||||
|
||||
Reference in New Issue
Block a user