Add basic methods into NavigatedPage

This commit is contained in:
2026-08-13 22:03:47 +03:00
parent d8e7cbbc36
commit 4ca7aa7044
17 changed files with 590 additions and 324 deletions
+22 -21
View File
@@ -59,21 +59,7 @@ impl NavigatedPage<RepetitionsMessage> for RepetitionsState {
fn navigated(&mut self) {
self.selected_set = None;
}
}
impl RepetitionsState {
pub(crate) fn new(state: Arc<Mutex<AppState>>) -> RepetitionsState {
let count = state.lock().unwrap().card_sets.len();
RepetitionsState {
selected_set: None,
correct_filters: vec![true; count],
state,
}
}
}
impl RepetitionsState {
pub fn update(&mut self, message: RepetitionsMessage) -> Task<RootMessage> {
fn update(&mut self, message: RepetitionsMessage) -> Task<RootMessage> {
let mut state = self.state.lock().unwrap();
match message {
Next => {}
@@ -139,7 +125,7 @@ impl RepetitionsState {
Task::none()
}
pub fn view(&self) -> Element<'_, RepetitionsMessage> {
fn view(&self) -> Element<'_, RepetitionsMessage> {
back_overlay(
row![
column![
@@ -153,15 +139,30 @@ impl RepetitionsState {
.width(Length::FillPortion(1)),
self.selected_set_view(),
]
.align_y(Center)
.spacing(DEFAULT_SPACING)
.width(Fill)
.height(Fill)
.into(),
.align_y(Center)
.spacing(DEFAULT_SPACING)
.width(Fill)
.height(Fill)
.into(),
Back,
)
}
}
impl RepetitionsState {
pub(crate) fn new(state: Arc<Mutex<AppState>>) -> RepetitionsState {
let count = state.lock().unwrap().card_sets.len();
RepetitionsState {
selected_set: None,
correct_filters: vec![true; count],
state,
}
}
}
impl RepetitionsState {
fn launch_delete_button(&self, set: &CardSetSettings) -> Element<'_, RepetitionsMessage> {
if set.id != 0 {
return row![