#pragma once #include "common/Aliases.hpp" #include "util/QStringHash.hpp" #include #include #include #include #include namespace chatterino { struct Emote; using EmotePtr = std::shared_ptr; class SeventvBadges : public Singleton { public: void initialize(Settings &settings, Paths &paths) override; boost::optional getBadge(const UserId &id); private: void loadSeventvBadges(); // Mutex for both `badgeMap_` and `emotes_` std::shared_mutex mutex_; std::unordered_map badgeMap_; std::vector emotes_; }; } // namespace chatterino