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/app.rs | |
| parent | 81cc9a0b347255629d411323e7ff8fee4d5ec61d (diff) | |
wip: browser screen implementation
Diffstat (limited to 'src/app.rs')
| -rw-r--r-- | src/app.rs | 13 |
1 files changed, 10 insertions, 3 deletions
@@ -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 { |
