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.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
),
)
+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 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()
}