Add Channels tab to social frame and reputation change toast

Social frame now has three tabs: Friends, Ignore, and Channels. The
Channels tab lists joined channels with right-click Leave and an input
to join new channels.

Also adds a slide-in reputation change toast in the lower-right corner:
shows faction name, delta (+/-), and current standing tier (Honored,
Revered, etc.) whenever SMSG_SET_FACTION_STANDING fires a rep change.
This commit is contained in:
Kelsi 2026-03-12 01:51:18 -07:00
parent fb6630a7ae
commit 1bc3e6b677
4 changed files with 146 additions and 0 deletions

View file

@ -1275,6 +1275,10 @@ public:
void setUIErrorCallback(UIErrorCallback cb) { uiErrorCallback_ = std::move(cb); }
void addUIError(const std::string& msg) { if (uiErrorCallback_) uiErrorCallback_(msg); }
// Reputation change toast: factionName, delta, new standing
using RepChangeCallback = std::function<void(const std::string& factionName, int32_t delta, int32_t standing)>;
void setRepChangeCallback(RepChangeCallback cb) { repChangeCallback_ = std::move(cb); }
// Mount state
using MountCallback = std::function<void(uint32_t mountDisplayId)>; // 0 = dismount
void setMountCallback(MountCallback cb) { mountCallback_ = std::move(cb); }
@ -2557,6 +2561,9 @@ private:
// ---- UI error frame callback ----
UIErrorCallback uiErrorCallback_;
// ---- Reputation change callback ----
RepChangeCallback repChangeCallback_;
};
} // namespace game