prehnite/app/window/main_window/page/
mod.rs

1use 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}