Initial backend test for user-based data/customizations (#4144)

Right now only support for colors and no real UX, idea is to test it & allow the idea to grow while figuring out the UX
This commit is contained in:
pajlada
2022-11-13 18:21:21 +01:00
committed by GitHub
parent a9d3c00369
commit 1eabda8668
13 changed files with 372 additions and 1 deletions
@@ -4,6 +4,7 @@
#include "controllers/accounts/AccountController.hpp"
#include "controllers/ignores/IgnoreController.hpp"
#include "controllers/ignores/IgnorePhrase.hpp"
#include "controllers/userdata/UserDataController.hpp"
#include "messages/Message.hpp"
#include "providers/chatterino/ChatterinoBadges.hpp"
#include "providers/ffz/FfzBadges.hpp"
@@ -691,6 +692,18 @@ void TwitchMessageBuilder::parseRoomID()
void TwitchMessageBuilder::parseUsernameColor()
{
const auto *userData = getIApp()->getUserData();
assert(userData != nullptr);
if (const auto &user = userData->getUser(this->userId_))
{
if (user->color)
{
this->usernameColor_ = user->color.value();
return;
}
}
const auto iterator = this->tags.find("color");
if (iterator != this->tags.end())
{