2026-08-13 22:38:48 +03:00
|
|
|
use std::sync::{Arc, Mutex};
|
2026-08-13 22:03:47 +03:00
|
|
|
use iced::{Element, Task};
|
2026-08-13 22:38:48 +03:00
|
|
|
use iced::widget::scrollable;
|
2026-08-13 22:03:47 +03:00
|
|
|
use crate::navigation::{NavigatedPage, Page, RootMessage};
|
2026-08-13 22:38:48 +03:00
|
|
|
use crate::styling::*;
|
|
|
|
|
use iced::widget::{column, row, button, text };
|
|
|
|
|
use crate::AppState;
|
|
|
|
|
use crate::import::ImportMessage::*;
|
|
|
|
|
#[derive(Clone)]
|
|
|
|
|
pub struct ImportState {
|
|
|
|
|
state: Arc<Mutex<AppState>>
|
|
|
|
|
}
|
|
|
|
|
#[derive(Clone)]
|
|
|
|
|
pub enum ImportMessage {
|
2026-08-13 22:03:47 +03:00
|
|
|
Back
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl NavigatedPage<ImportMessage> for ImportState {
|
|
|
|
|
fn navigate(&self, message: &ImportMessage) -> Option<Page> {
|
2026-08-13 22:38:48 +03:00
|
|
|
if let Back = message {
|
2026-08-13 22:03:47 +03:00
|
|
|
return Some(Page::PreviousPage)
|
|
|
|
|
}
|
|
|
|
|
None
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn navigated(&mut self) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn update(&mut self, message: ImportMessage) -> Task<RootMessage> {
|
2026-08-13 22:38:48 +03:00
|
|
|
Task::none()
|
2026-08-13 22:03:47 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn view(&self) -> Element<'_, ImportMessage> {
|
2026-08-13 22:38:48 +03:00
|
|
|
back_overlay(scrollable(column![]).into(), Back)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
impl ImportState {
|
|
|
|
|
pub fn new(state: Arc<Mutex<AppState>>) -> ImportState {
|
|
|
|
|
ImportState{
|
|
|
|
|
state
|
|
|
|
|
}
|
2026-08-13 22:03:47 +03:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|