prehnite/app/window/main_window/page/
mod.rs1use crate::app::window::main_window::page::item_list::ItemList;
2
3pub mod item_list;
4
5#[derive(Clone, Debug)]
6pub enum MainWindowPageId {
7 NowLoading,
8 BookNotOpened,
9 ItemList,
10}
11
12#[derive(Debug, Clone, Default)]
13pub enum MainWindowPage {
14 #[default]
15 NowLoading,
16 ItemList(ItemList),
17}
18
19impl From<MainWindowPageId> for MainWindowPage {
20 fn from(value: MainWindowPageId) -> Self {
21 match value {
22 MainWindowPageId::NowLoading => MainWindowPage::NowLoading,
23 MainWindowPageId::BookNotOpened => MainWindowPage::ItemList(ItemList::not_opened()),
24 MainWindowPageId::ItemList => MainWindowPage::ItemList(Default::default()),
25 }
26 }
27}
28
29impl From<MainWindowPage> for MainWindowPageId {
30 fn from(value: MainWindowPage) -> Self {
31 match value {
32 MainWindowPage::NowLoading => MainWindowPageId::NowLoading,
33 MainWindowPage::ItemList(_) => MainWindowPageId::ItemList,
34 }
35 }
36}