Skip to content

Commit

Permalink
Remove hidden form elements for settings
Browse files Browse the repository at this point in the history
  • Loading branch information
corbindavenport committed Aug 13, 2023
1 parent 11edfc3 commit a268656
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 58 deletions.
5 changes: 0 additions & 5 deletions bulk/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -133,11 +133,6 @@ <h5 class="card-title">What does this do?</h5>
</div>
</div>

<!-- Form elements for settings -->
<input class="d-none" type="checkbox" value="" id="vxTwitter-check">
<input class="d-none" type="checkbox" value="" id="youtube-shorten-check">
<input class="d-none" type="text" id="amazon-tracking-id">

<script src="/js/shared.js"></script>
<script src="/js/bulk.js"></script>
<script src="/js/register-sw.js"></script>
Expand Down
6 changes: 0 additions & 6 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -295,12 +295,6 @@ <h5 class="modal-title" id="qr-modal-label">QR Code</h5>
</div>
</div>

<!-- Form elements for settings -->
<input class="d-none" type="checkbox" value="" id="vxTwitter-check">
<input class="d-none" type="checkbox" value="" id="youtube-shorten-check">
<input class="d-none" type="text" id="amazon-tracking-id">


<script src="js/shared.js"></script>
<script src="js/main.js"></script>
<script src="js/register-sw.js"></script>
Expand Down
4 changes: 2 additions & 2 deletions js/bulk.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ window.plausible = window.plausible || function () { (window.plausible.q = windo
document.getElementById('link-clean-btn').addEventListener('click', function () {
plausible('Bulk Clean Link')
// Read settings
var youtubeShortenEnabled = document.getElementById('youtube-shorten-check').checked
var fixTwitterEnabled = document.getElementById('vxTwitter-check').checked
var youtubeShortenEnabled = JSON.parse(localStorage.getItem('youtube-shorten-check').toLowerCase());
var fixTwitterEnabled = JSON.parse(localStorage.getItem('vxTwitter-check').toLowerCase());
// Split comma-separated or newline-seperated input into array and trim whitespace
var oldLinks = document.getElementById('link-bulk-input').value.split(/\n|\,/)
// Filter out blank lines
Expand Down
4 changes: 2 additions & 2 deletions js/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ function ifiOS() {
// Function for cleaning link
function processLink(link) {
plausible('Clean Link')
var youtubeShortenEnabled = document.getElementById('youtube-shorten-check').checked
var fixTwitterEnabled = document.getElementById('vxTwitter-check').checked
var youtubeShortenEnabled = JSON.parse(localStorage.getItem('youtube-shorten-check').toLowerCase());
var fixTwitterEnabled = JSON.parse(localStorage.getItem('vxTwitter-check').toLowerCase());
var newLink = cleanLink(link, youtubeShortenEnabled, fixTwitterEnabled)
// Switch to output
document.getElementById('link-output').value = newLink
Expand Down
32 changes: 32 additions & 0 deletions js/settings.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Save settings automatically to localStorage
document.querySelectorAll('input[type="checkbox"]').forEach(function (el) {
el.addEventListener('change', function () {
localStorage.setItem(el.id, el.checked)
console.log('Saved setting:', el.id, el.checked)
})
})
document.querySelectorAll('.settings-container input[type="text"]').forEach(function (el) {
el.addEventListener('change', function () {
localStorage.setItem(el.id, el.value)
console.log('Saved setting:', el.id, el.value)
})
})

// Load settings from localStorage
Object.entries(localStorage).forEach(function (key) {
// Ignore link history and android app
if (key[0] === 'history' || key[0] === 'android-app' || key[0] === 'mastodon-server') {
return true
}
// Amazon ID settings
if (key[0] === 'amazon-tracking-id') {
console.log('Loaded setting:', key)
document.getElementById('amazon-tracking-id').value = key[1]
return true
}
// Other settings
if (document.getElementById(key[0])) {
console.log('Loaded setting:', key)
document.getElementById(key[0]).checked = JSON.parse(key[1])
}
})
43 changes: 0 additions & 43 deletions js/shared.js
Original file line number Diff line number Diff line change
Expand Up @@ -96,47 +96,4 @@ function addToHistory(link) {
linkArray.splice(arr1.length - 10, 10)
localStorage.setItem('history', JSON.stringify(linkArray))
}
}

// Save settings automatically to localStorage
document.querySelectorAll('input[type="checkbox"]').forEach(function (el) {
el.addEventListener('change', function () {
localStorage.setItem(el.id, el.checked)
console.log('Saved setting:', el.id, el.checked)
})
})
document.querySelectorAll('.settings-container input[type="text"]').forEach(function (el) {
el.addEventListener('change', function () {
localStorage.setItem(el.id, el.value)
console.log('Saved setting:', el.id, el.value)
})
})

// Load settings from localStorage
// TODO: Migrate to localForage
Object.entries(localStorage).forEach(function (key) {
// Ignore link history and android app
if (key[0] === 'history' || key[0] === 'android-app' || key[0] === 'mastodon-server') {
return true
}
// Amazon ID settings
if (key[0] === 'amazon-tracking-id') {
console.log('Loaded setting:', key)
document.getElementById('amazon-tracking-id').value = key[1]
return true
}
// Other settings
if (document.getElementById(key[0])) {
console.log('Loaded setting:', key)
document.getElementById(key[0]).checked = JSON.parse(key[1])
}
})

// Hide donation links on Android APK
if ((localStorage['android-app'] === 'true') || document.referrer.includes('android-app://')) {
console.log('Android app detected')
document.querySelector('.donate-card').classList.add('d-none')
if (!(localStorage['android-app'] === 'true')) {
localStorage['android-app'] = 'true'
}
}
1 change: 1 addition & 0 deletions settings/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@
</div>

<script src="/js/shared.js"></script>
<script src="/js/settings.js"></script>
<script src="/js/register-sw.js"></script>
</body>

Expand Down

0 comments on commit a268656

Please sign in to comment.