Add option to disable $ link

This commit is contained in:
Ajay Ramachandran
2021-08-20 00:04:42 -04:00
parent 36aec560ca
commit bea943dc96
11 changed files with 144 additions and 76 deletions

View File

@@ -724,5 +724,11 @@
"voteRejectedWarning": { "voteRejectedWarning": {
"message": "Vote rejected due to a warning. Click to open a chat to resolve it, or come back later when you have time.", "message": "Vote rejected due to a warning. Click to open a chat to resolve it, or come back later when you have time.",
"description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser." "description": "This is an integrated chat panel that will appearing allowing them to talk to the Discord/Matrix chat without leaving their browser."
},
"Donate": {
"message": "Donate"
},
"hideDonationLink": {
"message": "Hide Donation Link"
} }
} }

View File

@@ -5,6 +5,9 @@
<meta charset="utf-8"> <meta charset="utf-8">
<link href="styles.css" rel="stylesheet"/> <link href="styles.css" rel="stylesheet"/>
<script src="../js/vendor.js"></script>
<script src="../js/help.js"></script>
</head> </head>
<body> <body>
@@ -16,7 +19,11 @@
<div class="container"> <div class="container">
<p class="createdBy">Created By <a href="https://ajay.app">Ajay Ramachandran</a> <img src="https://ajay.app/newprofilepic.jpg" height="30" class="profilepiccircle"/></p> <p class="createdBy">
<img src="https://ajay.app/newprofilepic.jpg" height="30" class="profilepiccircle"/>
Created By <a href="https://ajay.app">Ajay Ramachandran</a>
<a href="https://sponsor.ajay.app/donate" target="_blank" rel="noopener" id="sbDonate">(Donate)</a>
</p>
<p> <p>
Thanks for installing SponsorBlock. By using this extension, you agree to the <a href="https://gist.github.com/ajayyy/aa9f8ded2b573d4f73a3ffa0ef74f796">Privacy Policy</a> and <a href="https://gist.github.com/ajayyy/9e8100f069348e0bc062641f34d6af12">Terms of Use</a>. Thanks for installing SponsorBlock. By using this extension, you agree to the <a href="https://gist.github.com/ajayyy/aa9f8ded2b573d4f73a3ffa0ef74f796">Privacy Policy</a> and <a href="https://gist.github.com/ajayyy/9e8100f069348e0bc062641f34d6af12">Terms of Use</a>.

View File

@@ -184,3 +184,7 @@ h1,h2,h3,h4,h5,h6 {
svg { svg {
text-decoration: none; text-decoration: none;
} }
#sbDonate {
font-size: 10px;
}

View File

@@ -365,3 +365,7 @@ svg {
background: none; background: none;
border: none; border: none;
} }
#sbDonate {
font-size: 10px;
}

View File

@@ -19,7 +19,12 @@
</div> </div>
<div class="center"> <div class="center">
<p class="createdBy titleBar">__MSG_createdBy__ <a href="https://ajay.app">Ajay Ramachandran</a> <img src="../icons/newprofilepic.jpg" height="30" class="profilepiccircle"/></p> <p class="createdBy titleBar">
<img src="../icons/newprofilepic.jpg" height="30" class="profilepiccircle"/>
__MSG_createdBy__
<a href="https://ajay.app">Ajay Ramachandran</a>
<a href="https://sponsor.ajay.app/donate" target="_blank" rel="noopener" id="sbDonate">(__MSG_Donate__)</a>
</p>
<h1>__MSG_Options__</h1> <h1>__MSG_Options__</h1>
@@ -452,6 +457,24 @@
<br/> <br/>
<br/> <br/>
<div option-type="toggle" toggle-type="reverse" sync-option="showDonationLink" no-safari="true">
<label class="switch-container">
<label class="switch">
<input type="checkbox" checked>
<span class="slider round"></span>
</label>
<div class="switch-label">
__MSG_hideDonationLink__
</div>
</label>
</div>
<br/>
<br/>
<br/>
<br/>
<div option-type="private-text-change" sync-option="userID" confirm-message="userIDChangeWarning"> <div option-type="private-text-change" sync-option="userID" confirm-message="userIDChangeWarning">
<div class="option-button trigger-button"> <div class="option-button trigger-button">
__MSG_changeUserID__ __MSG_changeUserID__

View File

@@ -38,6 +38,7 @@ interface SBConfig {
refetchWhenNotFound: boolean, refetchWhenNotFound: boolean,
ytInfoPermissionGranted: boolean, ytInfoPermissionGranted: boolean,
allowExpirements: boolean, allowExpirements: boolean,
showDonationLink: boolean,
autoHideInfoButton: boolean, autoHideInfoButton: boolean,
autoSkipOnMusicVideos: boolean, autoSkipOnMusicVideos: boolean,
@@ -181,6 +182,7 @@ const Config: SBObject = {
refetchWhenNotFound: true, refetchWhenNotFound: true,
ytInfoPermissionGranted: false, ytInfoPermissionGranted: false,
allowExpirements: true, allowExpirements: true,
showDonationLink: true,
autoHideInfoButton: true, autoHideInfoButton: true,
autoSkipOnMusicVideos: false, autoSkipOnMusicVideos: false,

9
src/help.ts Normal file
View File

@@ -0,0 +1,9 @@
import { showDonationLink } from "./utils/configUtils";
window.addEventListener('DOMContentLoaded', init);
async function init() {
if (!showDonationLink()) {
document.getElementById("sbDonate").style.display = "none";
}
}

View File

@@ -6,6 +6,7 @@ window.SB = Config;
import Utils from "./utils"; import Utils from "./utils";
import CategoryChooser from "./render/CategoryChooser"; import CategoryChooser from "./render/CategoryChooser";
import { showDonationLink } from "./utils/configUtils";
const utils = new Utils(); const utils = new Utils();
window.addEventListener('DOMContentLoaded', init); window.addEventListener('DOMContentLoaded', init);
@@ -28,6 +29,10 @@ async function init() {
await utils.wait(() => Config.config !== null); await utils.wait(() => Config.config !== null);
if (!showDonationLink()) {
document.getElementById("sbDonate").style.visibility = "hidden";
}
// Set all of the toggle options to the correct option // Set all of the toggle options to the correct option
const optionsContainer = document.getElementById("options"); const optionsContainer = document.getElementById("options");
const optionsElements = optionsContainer.querySelectorAll("*"); const optionsElements = optionsContainer.querySelectorAll("*");

View File

@@ -3,6 +3,7 @@ import Config from "./config";
import Utils from "./utils"; import Utils from "./utils";
import { SponsorTime, SponsorHideType } from "./types"; import { SponsorTime, SponsorHideType } from "./types";
import { Message, MessageResponse } from "./messageTypes"; import { Message, MessageResponse } from "./messageTypes";
import { showDonationLink } from "./utils/configUtils";
const utils = new Utils(); const utils = new Utils();
interface MessageListener { interface MessageListener {
@@ -107,8 +108,8 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
"sbDonate" "sbDonate"
].forEach(id => PageElements[id] = document.getElementById(id)); ].forEach(id => PageElements[id] = document.getElementById(id));
// Hide donate button on safari // Hide donate button if wanted (Safari, or user choice)
if (navigator.vendor === "Apple Computer, Inc.") { if (!showDonationLink()) {
PageElements.sbDonate.style.display = "none"; PageElements.sbDonate.style.display = "none";
} }
@@ -699,7 +700,8 @@ async function runThePopup(messageListener?: MessageListener): Promise<void> {
infoFound(response); infoFound(response);
stopAnimation(); stopAnimation();
} }
)} )
}
); );
} }

5
src/utils/configUtils.ts Normal file
View File

@@ -0,0 +1,5 @@
import Config from "../config";
export function showDonationLink(): boolean {
return navigator.vendor !== "Apple Computer, Inc." && Config.config.showDonationLink;
}

View File

@@ -10,6 +10,7 @@ module.exports = env => ({
background: path.join(__dirname, srcDir + 'background.ts'), background: path.join(__dirname, srcDir + 'background.ts'),
content: path.join(__dirname, srcDir + 'content.ts'), content: path.join(__dirname, srcDir + 'content.ts'),
options: path.join(__dirname, srcDir + 'options.ts'), options: path.join(__dirname, srcDir + 'options.ts'),
help: path.join(__dirname, srcDir + 'help.ts'),
permissions: path.join(__dirname, srcDir + 'permissions.ts') permissions: path.join(__dirname, srcDir + 'permissions.ts')
}, },
output: { output: {