popup.js 2.5 KB

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