Add keyboard navigation for refresh mode.

This commit is contained in:
Timothy Farrell 2026-03-12 09:16:01 +00:00
parent 143c8563de
commit c57c37ffb9

View File

@ -47,14 +47,45 @@
<a href="$next_url" class="chevron right" id="next-btn">&#8250;</a> <a href="$next_url" class="chevron right" id="next-btn">&#8250;</a>
</div> </div>
<script> <script>
function updateMetaRefresh(newDelay, newUrl) {
var metaRefresh = document.querySelector('meta[http-equiv="refresh"]');
if (metaRefresh) {
metaRefresh.setAttribute('content', newDelay + ';url=' + newUrl);
}
}
function getRefreshParams() {
var metaRefresh = document.querySelector('meta[http-equiv="refresh"]');
if (!metaRefresh) return null;
var content = metaRefresh.getAttribute('content');
return {
delay: parseInt(content.split(';')[0].trim()),
url: content.split('url=')[1]
};
}
document.addEventListener('keydown', function(e) { document.addEventListener('keydown', function(e) {
e.preventDefault(); e.preventDefault();
if (e.code === 'Space') { if (e.code === 'Space') {
document.getElementById('next-btn').click(); document.getElementById('img').click();
} else if (e.code === 'ArrowLeft') { } else if (e.code === 'ArrowLeft') {
document.getElementById('prev-btn').click(); document.getElementById('prev-btn').click();
} else if (e.code === 'ArrowRight') { } else if (e.code === 'ArrowRight') {
document.getElementById('next-btn').click(); document.getElementById('next-btn').click();
} else if (e.code === 'Equal') {
var params = getRefreshParams();
if (params) updateMetaRefresh(params.delay + 1, params.url);
} else if (e.code === 'Minus') {
var params = getRefreshParams();
if (params && params.delay > 1) updateMetaRefresh(params.delay - 1, params.url);
} else if (e.key.toLowerCase() === 'o') {
var params = getRefreshParams();
if (params) {
var newOrder = params.url.split('/')[1] === 'next' ? 'random' : 'next';
var newUrl = params.url.replace('/' + (newOrder === 'next' ? 'next' : 'random') + '/', '/' + newOrder + '/');
updateMetaRefresh(params.delay, newUrl);
window.location.href = newUrl;
}
} }
}); });
</script> </script>