aboutsummaryrefslogtreecommitdiff
path: root/cli/component.hpp
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-04-19 14:48:48 +0200
committerEugen Wissner <belka@caraus.de>2025-04-19 14:48:48 +0200
commit20f3d98d637c5992c53f19590c15fa923f4eedcd (patch)
tree76842f0252e4179d47d5c33bd0338cbcd479fe71 /cli/component.hpp
parent0e6de99821d2262ada8e277fba1eb6059858ea41 (diff)
downloadkazbek-20f3d98d637c5992c53f19590c15fa923f4eedcd.tar.gz
Move katja into a separate repository
Diffstat (limited to 'cli/component.hpp')
-rw-r--r--cli/component.hpp76
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;
- };
-}