diff --git a/modules/bot/front/include/handlers.hpp b/modules/bot/front/include/handlers.hpp index 7440d00..313bee8 100644 --- a/modules/bot/front/include/handlers.hpp +++ b/modules/bot/front/include/handlers.hpp @@ -2,6 +2,7 @@ #include #include #include +#include /// @brief Структура возвращаемого значения класса BotHandlers для изменения текущего сообщения struct HandlerResult { @@ -9,6 +10,22 @@ struct HandlerResult { TgBot::InlineKeyboardMarkup::Ptr keyboard; }; +enum class UserState { + MAIN_MENU, // Главное меню + VIEWING_MY_TITLES, // Список моих тайтлов + AWAITING_TITLE_NAME, // Жду название тайтла для поиска + VIEWING_TITLE_PAGE, // Смотрю страничку тайтла + AWAITING_REVIEW, // Жду ревью на тайтл + VIEWING_REVIEW_LIST, // Смотрю список ревью на тайтл + VIEWING_REVIEW, // Смотрю (конкретное) ревью на тайтл + VIEWING_DESCRIPTION, // Смотрю описание тайтла +}; + +struct UserContext { + UserState state; + // Информация о тайтле +}; + class BotHandlers { public: BotHandlers(TgBot::Api api) : botApi(api) {;} @@ -28,6 +45,7 @@ public: private: TgBot::Api botApi; + std::unordered_map userContexts; void handleNavigation(TgBot::CallbackQuery::Ptr query);