feat(stats): rotate tied teams in leader cards + new metric cards

Leader cards (Best attack/defense, Most clean sheets) now rotate through every
team tied on the headline metric instead of showing only the top one, and three
new cards are added: Most wins, Most goals conceded, Best goal difference.

- group by the metric value alone; order within the group by existing tiebreakers
- auto-advance (3.5s), pause on hover/focus, off under prefers-reduced-motion
- discrete edge arrows with a full-height side click strip; wrap-around
- dots indicator up to 8 tied teams, else an i/n counter; single team = plain card
- bump APP_VERSION to v1.0.2
This commit is contained in:
Lucas Kalil 2026-06-19 10:03:51 -03:00
parent 35b55a4c78
commit 71f7490e0f
3 changed files with 204 additions and 19 deletions

View file

@ -6,7 +6,7 @@
import { getPrefs, setPref } from './storage.js';
// App version for footer display — bump this after any notable changes
const APP_VERSION = 'v1.0.1';
const APP_VERSION = 'v1.0.2';
const dicts = {
en: {
@ -159,6 +159,11 @@ const dicts = {
'stats.bestAttack': 'Best attack',
'stats.bestDefense': 'Best defense',
'stats.mostCleanSheets': 'Most clean sheets',
'stats.mostWins': 'Most wins',
'stats.mostConceded': 'Most goals conceded',
'stats.bestGoalDiff': 'Best goal difference',
'stats.leaderPrev': 'Previous team',
'stats.leaderNext': 'Next team',
'stats.biggestWin': 'Biggest win',
'stats.winStreak': 'Longest win streak',
'stats.championPath': "Champion's path",
@ -329,6 +334,11 @@ const dicts = {
'stats.bestAttack': 'Melhor ataque',
'stats.bestDefense': 'Melhor defesa',
'stats.mostCleanSheets': 'Mais clean sheets',
'stats.mostWins': 'Mais vitórias',
'stats.mostConceded': 'Mais gols sofridos',
'stats.bestGoalDiff': 'Melhor saldo de gols',
'stats.leaderPrev': 'Time anterior',
'stats.leaderNext': 'Próximo time',
'stats.biggestWin': 'Maior goleada',
'stats.winStreak': 'Maior sequência de vitórias',
'stats.championPath': 'Caminho do campeão',