#pragma once #include #include #include class AmsTab : public brls::List { private: brls::ListItem* listItem; brls::Label *description; int size; bool erista; nlohmann::ordered_json cfws; std::string GetRepoName(const std::string& repo); std::set GetLastDownloadedModules(const std::string& json_path); void CreateStagedFrames(const std::string& text, const std::string& url, const std::string& operation, bool erista, bool hekate = false, const std::string& text_hekate = "", const std::string& hekate_url = ""); void CreateDownloadItems(const std::string& key, bool hekate = true); nlohmann::ordered_json SortDeepseaModules(const nlohmann::ordered_json& modules); public: AmsTab(const bool erista = true); }; class UnTogglableListItem : public brls::ToggleListItem { public: UnTogglableListItem(std::string label, bool initialValue, std::string description = "", std::string onValue = "On", std::string offValue = "Off") : ToggleListItem(label, initialValue, description, onValue, offValue) {} virtual bool onClick() override; };