feat: mobile UI card layout for players and courses (#16) #18

Merged
shcizo merged 5 commits from feat/mobile-ui-card-layout-16 into main 2026-05-22 21:49:51 +02:00
Showing only changes of commit 4bcf83d267 - Show all commits
+6 -6
View File
@@ -529,23 +529,23 @@ function closeAddPlayerModal(event) {
// ── Sparkline toggle ───────────────────────────────
document.addEventListener('DOMContentLoaded', function() {
var SPARKLINE_KEY = 'ratingtracker.sparklines';
const SPARKLINE_KEY = 'ratingtracker.sparklines';
function syncSparklineButtons(state) {
var btns = document.querySelectorAll('#trendchart-toggle, #trendchart-toggle-mobile');
const btns = document.querySelectorAll('#trendchart-toggle, #trendchart-toggle-mobile');
btns.forEach(function(b) {
b.setAttribute('aria-pressed', state === 'on' ? 'true' : 'false');
});
}
var state = localStorage.getItem(SPARKLINE_KEY) || 'on';
const state = localStorage.getItem(SPARKLINE_KEY) || 'on';
document.body.dataset.sparklines = state;
syncSparklineButtons(state);
document.body.addEventListener('click', function(e) {
var target = e.target.closest('#trendchart-toggle, #trendchart-toggle-mobile');
const target = e.target.closest('#trendchart-toggle, #trendchart-toggle-mobile');
if (!target) return;
var next = document.body.dataset.sparklines === 'on' ? 'off' : 'on';
const next = document.body.dataset.sparklines === 'on' ? 'off' : 'on';
document.body.dataset.sparklines = next;
localStorage.setItem(SPARKLINE_KEY, next);
syncSparklineButtons(next);
@@ -553,7 +553,7 @@ document.addEventListener('DOMContentLoaded', function() {
// Re-sync after HTMX table swap (mobile button is inside the swapped partial)
document.body.addEventListener('htmx:afterSwap', function(event) {
var target = event.detail.target;
const target = event.detail.target;
if (target.id === 'ratings-table') {
syncSparklineButtons(document.body.dataset.sparklines || 'on');
}