From 24ecc7becd7a59d151f7ae14645b7b762452b168 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sat, 5 Apr 2025 14:23:44 +0200 Subject: katja: Use the tab container for pages --- cli/main.cpp | 43 +------------------------------------------ 1 file changed, 1 insertion(+), 42 deletions(-) (limited to 'cli/main.cpp') diff --git a/cli/main.cpp b/cli/main.cpp index d5f8cf3..c2d91ca 100644 --- a/cli/main.cpp +++ b/cli/main.cpp @@ -1,6 +1,5 @@ #include -#include #include #include #include @@ -9,46 +8,6 @@ #include "katja/database.hpp" #include "component.hpp" -class MyContainer final : public ftxui::ComponentBase -{ -public: - std::vector menu_entries; - std::vector menu_pages; - int menu_selected{ 0 }; - ftxui::Component menu; - std::function on_enter; - - MyContainer(std::vector> pages) - { - std::transform(std::cbegin(pages), std::cend(pages), std::back_inserter(this->menu_entries), - [](const std::pair& pair) { return pair.first; }); - std::transform(std::cbegin(pages), std::cend(pages), std::back_inserter(this->menu_pages), - [](const std::pair& pair) { return pair.second; }); - - ftxui::MenuOption menu_option = ftxui::MenuOption::Horizontal(); - menu = ftxui::Menu(&this->menu_entries, &this->menu_selected, menu_option); - } - - ftxui::Element Render() override - { - return ftxui::vbox({ - this->menu->Render(), - this->menu_pages.at(this->menu_selected)->Render() - }); - } - - bool OnEvent(ftxui::Event event) override - { - if (event.character() == "q") - { - on_enter(); - return true; - } - return menu->OnEvent(event); - } -}; - - int main(int argc, const char **argv) { auto configuration = toml::parse("config/katja.toml"); @@ -62,7 +21,7 @@ int main(int argc, const char **argv) auto screen = ftxui::ScreenInteractive::Fullscreen(); - auto container = std::make_shared(std::vector>{ + auto container = std::make_shared(std::vector>{ { "Home", std::make_shared() }, { "Updates", std::make_shared(std::move(updates)) }, { "Search", std::make_shared() } -- cgit v1.2.3