From 72e07fbe3f4748aff84fe28c4e6a03ff7baef14d Mon Sep 17 00:00:00 2001 From: Kelsi Date: Wed, 11 Mar 2026 23:48:07 -0700 Subject: [PATCH] Add Whisper and Invite to Group to guild member context menu Social actions appear at the top of the right-click menu when the member is online, matching WoW's guild roster behavior. --- src/ui/game_screen.cpp | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/ui/game_screen.cpp b/src/ui/game_screen.cpp index 2ce44594..157aaa58 100644 --- a/src/ui/game_screen.cpp +++ b/src/ui/game_screen.cpp @@ -7076,8 +7076,26 @@ void GameScreen::renderGuildRoster(game::GameHandler& gameHandler) { // Context menu popup if (ImGui::BeginPopup("GuildMemberContext")) { - ImGui::Text("%s", selectedGuildMember_.c_str()); + ImGui::TextDisabled("%s", selectedGuildMember_.c_str()); ImGui::Separator(); + // Social actions — only for online members + bool memberOnline = false; + for (const auto& mem : roster.members) { + if (mem.name == selectedGuildMember_) { memberOnline = mem.online; break; } + } + if (memberOnline) { + if (ImGui::MenuItem("Whisper")) { + selectedChatType = 4; + strncpy(whisperTargetBuffer, selectedGuildMember_.c_str(), + sizeof(whisperTargetBuffer) - 1); + whisperTargetBuffer[sizeof(whisperTargetBuffer) - 1] = '\0'; + refocusChatInput = true; + } + if (ImGui::MenuItem("Invite to Group")) { + gameHandler.inviteToGroup(selectedGuildMember_); + } + ImGui::Separator(); + } if (ImGui::MenuItem("Promote")) { gameHandler.promoteGuildMember(selectedGuildMember_); }