popup.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /* Config */
  2. const config = {
  3. advanced: false,
  4. showAdvancedMessage: "Show Settings",
  5. hideAdvancedMessage: "Hide Settings",
  6. disableVoteSubmission: false,
  7. links: {
  8. website: "https://returnyoutubedislike.com",
  9. github: "https://github.com/Anarios/return-youtube-dislike",
  10. discord: "https://discord.gg/mYnESY4Md5",
  11. donate: 'https://returnyoutubedislike.com/donate',
  12. faq: 'https://returnyoutubedislike.com/faq'
  13. },
  14. };
  15. /* Links */
  16. document.getElementById("link_website").addEventListener("click", () => {
  17. chrome.tabs.create({ url: config.links.website });
  18. });
  19. document.getElementById("link_github").addEventListener("click", () => {
  20. chrome.tabs.create({ url: config.links.github });
  21. });
  22. document.getElementById("link_discord").addEventListener("click", () => {
  23. chrome.tabs.create({ url: config.links.discord });
  24. });
  25. document.getElementById("link_faq").addEventListener("click", () => {
  26. chrome.tabs.create({ url: config.links.faq });
  27. });
  28. document.getElementById("link_donate").addEventListener("click", () => {
  29. chrome.tabs.create({ url: config.links.donate });
  30. });
  31. document.getElementById("disable_vote_submission").addEventListener("click", (ev) => {
  32. chrome.storage.sync.set({ disableVoteSubmission: ev.target.checked });
  33. });
  34. /* Advanced Toggle */
  35. const advancedToggle = document.getElementById("advancedToggle");
  36. advancedToggle.addEventListener("click", () => {
  37. const adv = document.getElementById("advancedSettings");
  38. if (config.advanced) {
  39. adv.style.display = "none";
  40. advancedToggle.innerHTML = config.showAdvancedMessage;
  41. config.advanced = false;
  42. } else {
  43. adv.style.display = "block";
  44. advancedToggle.innerHTML = config.hideAdvancedMessage;
  45. config.advanced = true;
  46. }
  47. });
  48. initConfig();
  49. function initConfig() {
  50. initializeDisableVoteSubmission();
  51. }
  52. function initializeDisableVoteSubmission() {
  53. chrome.storage.sync.get(['disableVoteSubmission'], (res) => {
  54. handleDisableVoteSubmissionChangeEvent(res.disableVoteSubmission);
  55. });
  56. }
  57. chrome.storage.onChanged.addListener(storageChangeHandler);
  58. function storageChangeHandler(changes, area) {
  59. if (changes.disableVoteSubmission !== undefined) {
  60. handleDisableVoteSubmissionChangeEvent(changes.disableVoteSubmission.newValue);
  61. }
  62. }
  63. function handleDisableVoteSubmissionChangeEvent(value) {
  64. config.disableVoteSubmission = value;
  65. document.getElementById("disable_vote_submission").checked = value;
  66. }
  67. /* popup-script.js
  68. document.querySelector('#login')
  69. .addEventListener('click', function () {
  70. chrome.runtime.sendMessage({ message: 'get_auth_token' });
  71. });
  72. document.querySelector("#log_off").addEventListener("click", function () {
  73. chrome.runtime.sendMessage({ message: "log_off" });
  74. });
  75. */