popup.js 2.9 KB

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