diff options
| author | pablu <me@pablu.de> | 2026-06-03 14:10:49 +0200 |
|---|---|---|
| committer | pablu <me@pablu.de> | 2026-06-03 14:10:49 +0200 |
| commit | eaa1b915da8480bf3a86960c94f3667f386aa0f4 (patch) | |
| tree | b85e1d2edb0a507ba480926d12fab074d52bb961 /src/screens/installed_packages.rs | |
| parent | 81cc9a0b347255629d411323e7ff8fee4d5ec61d (diff) | |
wip: browser screen implementation
Diffstat (limited to 'src/screens/installed_packages.rs')
| -rw-r--r-- | src/screens/installed_packages.rs | 21 |
1 files changed, 18 insertions, 3 deletions
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() |
