summaryrefslogtreecommitdiff
path: root/cli/page.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'cli/page.hpp')
-rw-r--r--cli/page.hpp83
1 files changed, 0 insertions, 83 deletions
diff --git a/cli/page.hpp b/cli/page.hpp
deleted file mode 100644
index 3312d55..0000000
--- a/cli/page.hpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at https://mozilla.org/MPL/2.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"
-
-#include "component.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
- {
- ftxui::Component updatable = PackageList("Updates");
- 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;
- ftxui::Component search_results = PackageList("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;
- };
-}