Update frontend JavaScript to use query parameters

- Changed getRefreshParams() to parse query params instead of path segments
- Added buildUrl() helper to construct query param URLs
- Updated keyboard shortcuts (j/k for delay, o for order toggle) to use query params
This commit is contained in:
Timothy Farrell 2026-04-25 05:47:28 -05:00
parent f856c92394
commit a739e7307d

View File

@ -62,20 +62,23 @@
</div>
<script>
function getRefreshParams() {
var path = window.location.pathname.slice(1);
var parts = path.split('/');
if (parts.length < 3) return null;
var order = parts[0];
var params = new URLSearchParams(window.location.search);
var order = params.get('order');
if (order !== 'next' && order !== 'random') return null;
var delay = parseInt(parts[1]);
var delay = parseInt(params.get('delay'));
if (isNaN(delay)) return null;
var hash = window.location.pathname.slice(1);
return {
delay: delay,
order: order,
hash: parts[2]
hash: hash
};
}
function buildUrl(hash, order, delay) {
return '/' + hash + '?order=' + order + '&delay=' + delay;
}
document.addEventListener('keydown', function(e) {
e.preventDefault();
if (e.code === 'Space') {
@ -87,15 +90,15 @@
document.getElementById('next-btn').click();
} else if (e.code === 'Equal' || e.key.toLowerCase() === 'j') {
var params = getRefreshParams();
if (params) window.location.href = '/' + params.order + '/' + (params.delay + 1) + '/' + params.hash;
if (params) window.location.href = buildUrl(params.hash, params.order, params.delay + 1);
} else if (e.code === 'Minus' || e.key.toLowerCase() === 'k') {
var params = getRefreshParams();
if (params && params.delay > 1) window.location.href = '/' + params.order + '/' + (params.delay - 1) + '/' + params.hash;
if (params && params.delay > 1) window.location.href = buildUrl(params.hash, params.order, params.delay - 1);
} else if (e.key.toLowerCase() === 'o') {
var params = getRefreshParams();
if (params) {
var newOrder = params.order === 'next' ? 'random' : 'next';
window.location.href = '/' + newOrder + '/' + params.delay + '/' + params.hash;
window.location.href = buildUrl(params.hash, newOrder, params.delay);
}
}
});