diff --git a/src/pages/exam.rs b/src/pages/exam.rs index e69de29..2516883 100644 --- a/src/pages/exam.rs +++ b/src/pages/exam.rs @@ -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, + pub state: AppState, + pub entries : Vec, +} + +#[derive(Clone)] +pub enum ExamMessage { + Back, + Open, + Answer(bool) +} + +impl NavigatedPage for ExamPage { + fn navigate(&mut self, message: &ExamMessage) -> Option { + if let Back = message { + return Some(PreviousPage) + } + None + } + + fn navigated(&mut self) { + } + + fn update(&mut self, message: ExamMessage) -> Task { + match message { + Back => {} + Open => {} + Answer(answer) => {} + } + + Task::none() + } + + fn view(&self) -> Element<'_, ExamMessage> { + back_overlay(column![].into(), Back) + } +} \ No newline at end of file