use crate::{storage::TabAction, TabCtx};
pub struct RequestList;
impl RequestList {
pub fn new() -> Self {
Self
}
pub fn render(&self, ui: &mut egui::Ui, ctx: &TabCtx) -> anyhow::Result<Option<TabAction>> {
let mut storage = ctx.storage_write()?;
let items = storage.load_list(ctx)?;
let mut action = None;
for item in items {
if let Some(item_action) = item.render_tree(ui, ctx) {
action = Some(item_action);
}
}
ui.allocate_response(ui.available_size(), egui::Sense::hover())
.context_menu(|ui| {
if ui.button("📁 New Folder").clicked() {
action = Some(TabAction::CreateFolder {
parent_path: storage.saved_folder(),
});
ui.close_menu();
}
});
Ok(action)
}
}