WZ Common Mail Search button

Creates a button on player profiles to quickly find common mails between yourself and the player

  1. // ==UserScript==
  2. // @name WZ Common Mail Search button
  3. // @namespace http://tampermonkey.net/
  4. // @version 2024-07-09
  5. // @description Creates a button on player profiles to quickly find common mails between yourself and the player
  6. // @author JK_3
  7. // @match https://www.warzone.com/Profile?p=*
  8. // @match https://www.warzone.com/profile?p=*
  9. // @match https://www.warzone.com/Profile?u=*
  10. // @match https://www.warzone.com/profile?u=*
  11.  
  12. // ==/UserScript==
  13.  
  14. (function() {
  15. 'use strict';
  16.  
  17. let ownAccountID = document.querySelector(`a[href^="/Profile"]`).href.match(/p=(\d*)/gmi)[0].slice(4,-2)
  18. let accountID = document.location.href.match(/p=(\d*)/gmi)[0].slice(4,-2);
  19.  
  20. if (accountID != ownAccountID ) { //dont create button on own account page
  21.  
  22. let target = "https://www.warzone.com/Discussion/SearchPrivateDiscussions?PlayerID=" + accountID;
  23.  
  24. let link = document.createElement("a");
  25. link.href = target;
  26. link.text = "Common mails";
  27. link.style.color = "#000000";
  28.  
  29. let btn = document.createElement("button");
  30. btn.appendChild(link);
  31. btn.id = "commonMailSearchBtn";
  32. btn.style.cursor = "pointer";
  33. btn.onclick = target;
  34.  
  35. let buttonDiv = document.createElement("div");
  36. buttonDiv.id = "commonMailSearch";
  37. buttonDiv.appendChild(document.createElement("br"));
  38. buttonDiv.appendChild(btn)
  39.  
  40. let feedbackMsgElement = document.getElementById("FeedbackMsg");
  41.  
  42. if (feedbackMsgElement != null) {
  43. // normal profile page
  44. feedbackMsgElement.insertAdjacentElement('beforeBegin', buttonDiv);
  45. } else {
  46. // profile page deleted
  47. let textElement = document.querySelector(`div[class^="container "]`);
  48. textElement.appendChild(buttonDiv);
  49. }
  50. }
  51. })();