diff --git a/crates/ezidam/src/menu.rs b/crates/ezidam/src/menu.rs index 14ba2c1..37f2753 100644 --- a/crates/ezidam/src/menu.rs +++ b/crates/ezidam/src/menu.rs @@ -2,38 +2,40 @@ mod icons; mod items; mod template; -pub use items::{Admin, User}; -pub use template::Template; +pub use self::items::{AdminMenu, UserMenu}; +pub use self::template::{MainItem, SubItem}; -pub enum Menu { - User(User), - Admin(Admin), +pub enum MenuWithActiveItem { + User(UserMenu), + Admin(AdminMenu), } -impl Menu { +impl MenuWithActiveItem { + /// ID of selected menu item pub fn selected(&self) -> &'static str { match self { - Menu::User(user) => user.id(), - Menu::Admin(admin) => admin.id(), + MenuWithActiveItem::User(selected) => selected.id(), + MenuWithActiveItem::Admin(selected) => selected.id(), } } - pub fn list(&self) -> Vec