aboutsummaryrefslogtreecommitdiff
path: root/cli/main.cpp
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-04-09 11:27:42 +0200
committerEugen Wissner <belka@caraus.de>2025-04-09 11:27:42 +0200
commit68f64f20dd2f827f6076ec02d3eaa8961fd12022 (patch)
treed857be0cf3a4f5c70b8154cdf7ff49527379fad9 /cli/main.cpp
parentde94f3d35557b4590e0c11de303d9d9c51217d5f (diff)
downloadkazbek-68f64f20dd2f827f6076ec02d3eaa8961fd12022.tar.gz
katja: Load updatable list on demand
Diffstat (limited to 'cli/main.cpp')
-rw-r--r--cli/main.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/cli/main.cpp b/cli/main.cpp
index 5172cd4..f145905 100644
--- a/cli/main.cpp
+++ b/cli/main.cpp
@@ -11,20 +11,19 @@
int main(int argc, const char **argv)
{
auto configuration = toml::parse("config/katja.toml");
- std::multimap<std::string, katja::database_package> installed_database = katja::read_installed_database();
+ katja::package_database installed_database = katja::read_installed_database();
for (const auto& [repository_name, repository_value] : configuration.as_table())
{
std::filesystem::path slackbuild_repository{ repository_value.at("path").as_string() };
- katja::sbo_repository repository{ slackbuild_repository };
- auto updates = repository.get_updates(installed_database);
+ auto repository = std::make_shared<katja::sbo_repository>(slackbuild_repository);
auto screen = ftxui::ScreenInteractive::Fullscreen();
auto container = Screen(std::vector<std::pair<std::string, katja::Page>>{
- { "Home", std::make_shared<katja::WelcomePage>() },
- { "Updates", std::make_shared<katja::UpdatesPage>(std::move(updates)) },
- { "Search", std::make_shared<katja::SearchPage>() }
+ { "Home", ftxui::Make<katja::WelcomePage>() },
+ { "Updates", ftxui::Make<katja::UpdatesPage>(repository, std::move(installed_database)) },
+ { "Search", ftxui::Make<katja::SearchPage>() }
}, screen.ExitLoopClosure());
screen.Loop(container);