aboutsummaryrefslogtreecommitdiff
path: root/src/app.rs
diff options
context:
space:
mode:
authorpablu <me@pablu.de>2026-06-03 14:10:49 +0200
committerpablu <me@pablu.de>2026-06-03 14:10:49 +0200
commiteaa1b915da8480bf3a86960c94f3667f386aa0f4 (patch)
treeb85e1d2edb0a507ba480926d12fab074d52bb961 /src/app.rs
parent81cc9a0b347255629d411323e7ff8fee4d5ec61d (diff)
wip: browser screen implementation
Diffstat (limited to 'src/app.rs')
-rw-r--r--src/app.rs13
1 files changed, 10 insertions, 3 deletions
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 {