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/app.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'src/app.rs') diff --git a/src/app.rs b/src/app.rs index d6dd71e..70a3474 100644 --- a/src/app.rs +++ b/src/app.rs @@ -11,7 +11,8 @@ use crate::{ background_loader::PackageLoader, gentoo::portage::Portage, screens::{ - dashboard::DashboardScreen, installed_packages::InstalledPackagesScreen, screen::Screen, + available_packages::AvailablePackagesScreen, dashboard::DashboardScreen, + installed_packages::InstalledPackagesScreen, screen::Screen, }, signal::Signal, theme::Theme, @@ -37,8 +38,9 @@ pub enum LoadingState { pub struct App { portage: Portage, - installed_package_screen: InstalledPackagesScreen, dashboard_screen: DashboardScreen, + installed_package_screen: InstalledPackagesScreen, + available_package_screen: AvailablePackagesScreen, pub view: ViewState, @@ -54,6 +56,7 @@ impl App { dashboard_screen: DashboardScreen::default(), installed_package_screen: InstalledPackagesScreen::default(), + available_package_screen: AvailablePackagesScreen::default(), view: ViewState::Dashboard, @@ -81,7 +84,8 @@ impl App { .draw(frame, rest, &self.portage, &self.loading_state); } ViewState::AvailablePackages => { - frame.render_widget(Text::from("NOT IMPLEMENTED"), rest); + self.available_package_screen + .draw(frame, rest, &self.portage, &self.loading_state); } } } @@ -92,6 +96,9 @@ impl App { crate::app::ViewState::InstalledPackages => { self.installed_package_screen.update(key, &self.portage) } + ViewState::AvailablePackages => { + self.available_package_screen.update(key, &self.portage) + } // Fallback, primarly while implementing _ => match key.code { -- cgit 1.3.1