Basic exam page

This commit is contained in:
micialware committed 2026-10-03 15:18:00 +03:00
1 parent 65991f742e
commit 632f0c341b
1 file changed
+48
+48
View File
@@ -0,0 +1,48 @@
use iced::{Element, Task};
use crate::app::AppState;
use crate::data::entities::{EntityHandle, Exam, ExamEntry};
use crate::navigation::{NavigatedPage, Page, RootMessage};
use crate::navigation::Page::PreviousPage;
use crate::styling::back_overlay;
use iced::widget::{button, row, column, text};
use crate::pages::exam::ExamMessage::*;
pub struct ExamPage
{
pub id: EntityHandle<Exam>,
pub state: AppState,
pub entries : Vec<ExamEntry>,
}
#[derive(Clone)]
pub enum ExamMessage {
Back,
Open,
Answer(bool)
}
impl NavigatedPage<ExamMessage> for ExamPage {
fn navigate(&mut self, message: &ExamMessage) -> Option<Page> {
if let Back = message {
return Some(PreviousPage)
}
None
}
fn navigated(&mut self) {
}
fn update(&mut self, message: ExamMessage) -> Task<RootMessage> {
match message {
Back => {}
Open => {}
Answer(answer) => {}
}
Task::none()
}
fn view(&self) -> Element<'_, ExamMessage> {
back_overlay(column![].into(), Back)
}
}