From eaa1b915da8480bf3a86960c94f3667f386aa0f4 Mon Sep 17 00:00:00 2001 From: pablu Date: Wed, 3 Jun 2026 14:10:49 +0200 Subject: wip: browser screen implementation --- src/screens/installed_packages.rs | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'src/screens/installed_packages.rs') diff --git a/src/screens/installed_packages.rs b/src/screens/installed_packages.rs index 4421837..8f0cc5d 100644 --- a/src/screens/installed_packages.rs +++ b/src/screens/installed_packages.rs @@ -162,7 +162,7 @@ impl Screen for InstalledPackagesScreen { // (this) package installed let selected_package_key = items.get(self.list_state.selected().unwrap_or(0)); let pkg: Option<&InstalledPackage> = match selected_package_key { - Some(selected_package_key) => repo.get_installed_package_key(selected_package_key), + Some(selected_package_key) => repo.get_installed_package(selected_package_key), None => None, }; @@ -171,8 +171,23 @@ impl Screen for InstalledPackagesScreen { split[0], items.iter().map(|x| x.qualified_name()).collect(), ); - render_use_flags(frame, split_vert[0], pkg); - render_package_metadata(frame, split_vert[1], pkg); + if let Some(pkg) = pkg { + render_use_flags( + frame, + split_vert[0], + pkg.iuse.iter().collect(), + // TODO: Dont use clone here if possible + pkg.enabled_use_flags.clone(), + ); + render_package_metadata( + frame, + split_vert[1], + &pkg.version, + &pkg.metadata, + Some(pkg.size), + Some(pkg.build_time), + ); + } let text = if self.search_popup.visible { "(esc) to quit search | (enter) to search".to_string() -- cgit 1.3.1