Change time to int
This commit is contained in:
@@ -30,7 +30,7 @@ pub fn add_stat(stat: &mut CardStatistics, connection: &Connection) {
|
||||
&stat.word_id,
|
||||
&stat.set_id,
|
||||
&stat.score,
|
||||
&stat.last_open,
|
||||
&stat.last_open.timestamp(),
|
||||
),
|
||||
|row| row.get(0)
|
||||
)
|
||||
@@ -45,7 +45,7 @@ pub fn update_stat_score(stat: &CardStatistics, connection: &Connection){
|
||||
"UPDATE card_stats SET score = ?1, last_opened = ?2 WHERE id = ?3",
|
||||
(
|
||||
&stat.score,
|
||||
&stat.last_open,
|
||||
&stat.last_open.timestamp(),
|
||||
&stat.id
|
||||
),
|
||||
)
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
use crate::{AppState, NavigatedPage, Page, RootMessage};
|
||||
use iced::widget::*;
|
||||
use iced::{Element, Fill, Left, Task};
|
||||
use std::sync::{Arc, Mutex};
|
||||
use HistoryMessage::Back;
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct HistoryState {
|
||||
set_id: u32,
|
||||
list: Vec<HistoryItem>
|
||||
}
|
||||
|
||||
impl NavigatedPage<HistoryMessage> for HistoryState {
|
||||
fn navigate(&self, message: &HistoryMessage) -> Option<Page> {
|
||||
match message {
|
||||
Back => Some(Page::PreviousPage),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl HistoryState {
|
||||
pub fn new(id: u32, state: Arc<Mutex<AppState>>) -> Self {
|
||||
Self { set_id: id, list: vec![] }
|
||||
}
|
||||
|
||||
pub fn update(&mut self, message: HistoryMessage) -> Task<RootMessage> {
|
||||
Task::none()
|
||||
}
|
||||
|
||||
pub fn view(&self) -> Element<'_, HistoryMessage> {
|
||||
container(
|
||||
iced::widget::column![
|
||||
button("Назад").on_press(HistoryMessage::Back),
|
||||
// column![
|
||||
//
|
||||
// ]
|
||||
// .height(Fill)
|
||||
// .width(Fill)
|
||||
]
|
||||
.align_x(Left)
|
||||
.width(Fill),
|
||||
)
|
||||
.center_x(Fill)
|
||||
.padding(10)
|
||||
.into()
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
pub enum HistoryMessage {
|
||||
Back,
|
||||
}
|
||||
|
||||
#[derive(Clone)]
|
||||
pub struct HistoryItem{
|
||||
|
||||
}
|
||||
+8
-6
@@ -11,6 +11,7 @@ mod selector;
|
||||
mod sync;
|
||||
mod word;
|
||||
mod writing;
|
||||
mod history;
|
||||
|
||||
use crate::data_provider::card_sets::load_sets;
|
||||
use crate::data_provider::settings::get_setting;
|
||||
@@ -26,18 +27,16 @@ use crate::selector::*;
|
||||
use crate::sync::{SyncMessage, SyncState};
|
||||
use crate::word::{WordMessage, WordState};
|
||||
use crate::writing::{WritingMessage, WritingState};
|
||||
use crate::Page::{
|
||||
Dictionary, DictionaryQuiz, Quiz, Randomizer, Repetition, Repetitions, Selector, Sync, Word,
|
||||
Writing,
|
||||
};
|
||||
use crate::Page::{Dictionary, DictionaryQuiz, History, Quiz, Randomizer, Repetition, Repetitions, Selector, Sync, Word, Writing};
|
||||
use crate::RootMessage::Keyboard;
|
||||
use iced::keyboard::Event;
|
||||
use iced::widget::text;
|
||||
use iced::{keyboard, Element, Subscription};
|
||||
use iced::{keyboard, Element, Program, Subscription};
|
||||
use iced::{Font, Task};
|
||||
use rusqlite::Connection;
|
||||
use std::sync::{Arc, Mutex};
|
||||
use crate::data_provider::sqlite::create_db;
|
||||
use crate::history::{HistoryMessage, HistoryState};
|
||||
|
||||
const DEFAULT_SPACING: f32 = 10.0;
|
||||
|
||||
@@ -66,6 +65,7 @@ pub enum RootMessage {
|
||||
Repetition(RepetitionMessage),
|
||||
Word(WordMessage),
|
||||
Sync(SyncMessage),
|
||||
History(HistoryMessage),
|
||||
Keyboard(Event),
|
||||
}
|
||||
|
||||
@@ -80,6 +80,7 @@ pub enum Page {
|
||||
Repetition(RepetitionState),
|
||||
Word(WordState),
|
||||
Sync(SyncState),
|
||||
History(HistoryState),
|
||||
PreviousPage,
|
||||
}
|
||||
|
||||
@@ -146,7 +147,8 @@ impl ScreenState {
|
||||
Repetitions,
|
||||
Repetition,
|
||||
Word,
|
||||
Sync
|
||||
Sync,
|
||||
History
|
||||
);
|
||||
Task::none()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user