diff options
Diffstat (limited to 'cli/component.hpp')
| -rw-r--r-- | cli/component.hpp | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/cli/component.hpp b/cli/component.hpp deleted file mode 100644 index c419020..0000000 --- a/cli/component.hpp +++ /dev/null @@ -1,76 +0,0 @@ -#pragma once - -#include <ftxui/component/event.hpp> -#include <ftxui/component/component_base.hpp> -#include <ftxui/component/component.hpp> - -#include "katja/repository.hpp" -#include "katja/database.hpp" - -namespace katja -{ - class PageBase : public ftxui::ComponentBase - { - public: - virtual void Load() = 0; - }; - - using Page = std::shared_ptr<PageBase>; - using Pages = std::vector<Page>; - - class ScreenContainer final : public ftxui::ComponentBase - { - int menu_selected{ 0 }; - ftxui::Component menu; - ftxui::Component content; - std::vector<std::string> menu_entries; - Pages menu_pages; - std::function<void()> on_enter; - - public: - ScreenContainer(std::vector<std::pair<std::string, Page>> pages, std::function<void()> on_enter); - - ftxui::Element OnRender() override; - bool OnEvent(ftxui::Event event) override; - }; - - ftxui::Component Screen(std::vector<std::pair<std::string, Page>> pages, std::function<void()> on_enter); - - class WelcomePage final : public PageBase - { - public: - void Load() override; - ftxui::Element OnRender() override; - }; - - class UpdatesPage final : public PageBase - { - std::vector<package_identifier> updatable; - std::shared_ptr<struct repository> repository; - package_database database; - - public: - UpdatesPage(std::shared_ptr<struct repository> repository, package_database database); - - void Load() override; - ftxui::Element OnRender() override; - }; - - class SearchPage final : public PageBase - { - std::string needle; - ftxui::Component search_input; - ftxui::Component type_input; - std::shared_ptr<struct repository> repository; - std::string architecture; - std::vector<package_identifier> search_results; - int search_type{ 0 }; - - public: - SearchPage(std::shared_ptr<struct repository> repository, const std::string& architecture); - - void Load() override; - ftxui::Element OnRender() override; - bool OnEvent(ftxui::Event event) override; - }; -} |
