Change time to int

This commit is contained in:
2026-07-05 01:22:19 +03:00
parent be60b170eb
commit 0718251073
3 changed files with 68 additions and 8 deletions
+2 -2
View File
@@ -30,7 +30,7 @@ pub fn add_stat(stat: &mut CardStatistics, connection: &Connection) {
&stat.word_id, &stat.word_id,
&stat.set_id, &stat.set_id,
&stat.score, &stat.score,
&stat.last_open, &stat.last_open.timestamp(),
), ),
|row| row.get(0) |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", "UPDATE card_stats SET score = ?1, last_opened = ?2 WHERE id = ?3",
( (
&stat.score, &stat.score,
&stat.last_open, &stat.last_open.timestamp(),
&stat.id &stat.id
), ),
) )
+58
View File
@@ -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
View File
@@ -11,6 +11,7 @@ mod selector;
mod sync; mod sync;
mod word; mod word;
mod writing; mod writing;
mod history;
use crate::data_provider::card_sets::load_sets; use crate::data_provider::card_sets::load_sets;
use crate::data_provider::settings::get_setting; use crate::data_provider::settings::get_setting;
@@ -26,18 +27,16 @@ use crate::selector::*;
use crate::sync::{SyncMessage, SyncState}; use crate::sync::{SyncMessage, SyncState};
use crate::word::{WordMessage, WordState}; use crate::word::{WordMessage, WordState};
use crate::writing::{WritingMessage, WritingState}; use crate::writing::{WritingMessage, WritingState};
use crate::Page::{ use crate::Page::{Dictionary, DictionaryQuiz, History, Quiz, Randomizer, Repetition, Repetitions, Selector, Sync, Word, Writing};
Dictionary, DictionaryQuiz, Quiz, Randomizer, Repetition, Repetitions, Selector, Sync, Word,
Writing,
};
use crate::RootMessage::Keyboard; use crate::RootMessage::Keyboard;
use iced::keyboard::Event; use iced::keyboard::Event;
use iced::widget::text; use iced::widget::text;
use iced::{keyboard, Element, Subscription}; use iced::{keyboard, Element, Program, Subscription};
use iced::{Font, Task}; use iced::{Font, Task};
use rusqlite::Connection; use rusqlite::Connection;
use std::sync::{Arc, Mutex}; use std::sync::{Arc, Mutex};
use crate::data_provider::sqlite::create_db; use crate::data_provider::sqlite::create_db;
use crate::history::{HistoryMessage, HistoryState};
const DEFAULT_SPACING: f32 = 10.0; const DEFAULT_SPACING: f32 = 10.0;
@@ -66,6 +65,7 @@ pub enum RootMessage {
Repetition(RepetitionMessage), Repetition(RepetitionMessage),
Word(WordMessage), Word(WordMessage),
Sync(SyncMessage), Sync(SyncMessage),
History(HistoryMessage),
Keyboard(Event), Keyboard(Event),
} }
@@ -80,6 +80,7 @@ pub enum Page {
Repetition(RepetitionState), Repetition(RepetitionState),
Word(WordState), Word(WordState),
Sync(SyncState), Sync(SyncState),
History(HistoryState),
PreviousPage, PreviousPage,
} }
@@ -146,7 +147,8 @@ impl ScreenState {
Repetitions, Repetitions,
Repetition, Repetition,
Word, Word,
Sync Sync,
History
); );
Task::none() Task::none()
} }