#pragma once #include "common/Aliases.hpp" #include "common/Singleton.hpp" #include "util/QStringHash.hpp" #include #include #include #include #include namespace chatterino { struct Emote; using EmotePtr = std::shared_ptr; class ChatterinoBadges : public Singleton { public: void initialize(Settings &settings, Paths &paths) override; ChatterinoBadges(); std::optional getBadge(const UserId &id); private: void loadChatterinoBadges(); std::shared_mutex mutex_; std::unordered_map badgeMap; std::vector emotes; }; } // namespace chatterino