feat: add Lluçanès comarca, add 'interior' group filter with 21 comarques d'interior

This commit is contained in:
Jaume Garriga Maestre
2026-05-06 11:51:03 +02:00
parent a94a88c886
commit 71d16a916f

View File

@@ -783,49 +783,50 @@ const ALL_COMARQUES = [
{ name:"Pallars Jussà", capital:"Tremp", emoji:"🦅", province:"L", mountain:true }, { name:"Pallars Jussà", capital:"Tremp", emoji:"🦅", province:"L", mountain:true },
{ name:"Alt Urgell", capital:"la Seu d'Urgell", emoji:"⛪", province:"L", mountain:true }, { name:"Alt Urgell", capital:"la Seu d'Urgell", emoji:"⛪", province:"L", mountain:true },
{ name:"Solsonès", capital:"Solsona", emoji:"🏰", province:"L", mountain:true }, { name:"Solsonès", capital:"Solsona", emoji:"🏰", province:"L", mountain:true },
{ name:"Noguera", capital:"Balaguer", emoji:"🌾", province:"L", mountain:false }, { name:"Noguera", capital:"Balaguer", emoji:"🌾", province:"L", mountain:false, interior:true },
{ name:"Segrià", capital:"Lleida", emoji:"🏛️", province:"L", mountain:false }, { name:"Segrià", capital:"Lleida", emoji:"🏛️", province:"L", mountain:false, interior:true },
{ name:"Urgell", capital:"Tàrrega", emoji:"🌻", province:"L", mountain:false }, { name:"Urgell", capital:"Tàrrega", emoji:"🌻", province:"L", mountain:false, interior:true },
{ name:"Garrigues", capital:"les Borges Blanques", emoji:"🫒", province:"L", mountain:false }, { name:"Garrigues", capital:"les Borges Blanques", emoji:"🫒", province:"L", mountain:false, interior:true },
{ name:"Pla d'Urgell", capital:"Mollerussa", emoji:"🌽", province:"L", mountain:false }, { name:"Pla d'Urgell", capital:"Mollerussa", emoji:"🌽", province:"L", mountain:false, interior:true },
{ name:"Segarra", capital:"Cervera", emoji:"🌿", province:"L", mountain:false }, { name:"Segarra", capital:"Cervera", emoji:"🌿", province:"L", mountain:false, interior:true },
// ── Girona ────────────────────────────────────────────────────────────── // ── Girona ──────────────────────────────────────────────────────────────
{ name:"Cerdanya", capital:"Puigcerdà", emoji:"🌄", province:"G", mountain:true }, { name:"Cerdanya", capital:"Puigcerdà", emoji:"🌄", province:"G", mountain:true },
{ name:"Ripollès", capital:"Ripoll", emoji:"🌲", province:"G", mountain:true }, { name:"Ripollès", capital:"Ripoll", emoji:"🌲", province:"G", mountain:true },
{ name:"Garrotxa", capital:"Olot", emoji:"🌋", province:"G", mountain:true }, { name:"Garrotxa", capital:"Olot", emoji:"🌋", province:"G", mountain:true },
{ name:"Alt Empordà", capital:"Figueres", emoji:"🌬️", province:"G", mountain:false }, { name:"Alt Empordà", capital:"Figueres", emoji:"🌬️", province:"G", mountain:false },
{ name:"Baix Empordà", capital:"la Bisbal d'Empordà", emoji:"🏖️", province:"G", mountain:false }, { name:"Baix Empordà", capital:"la Bisbal d'Empordà", emoji:"🏖️", province:"G", mountain:false },
{ name:"Gironès", capital:"Girona", emoji:"🦁", province:"G", mountain:false }, { name:"Gironès", capital:"Girona", emoji:"🦁", province:"G", mountain:false, interior:true },
{ name:"Pla de l'Estany", capital:"Banyoles", emoji:"🦆", province:"G", mountain:false }, { name:"Pla de l'Estany", capital:"Banyoles", emoji:"🦆", province:"G", mountain:false, interior:true },
{ name:"Selva", capital:"Santa Coloma de Farners", emoji:"🌿", province:"G", mountain:false }, { name:"Selva", capital:"Santa Coloma de Farners", emoji:"🌿", province:"G", mountain:false },
// ── Barcelona ──────────────────────────────────────────────────────────── // ── Barcelona ────────────────────────────────────────────────────────────
{ name:"Berguedà", capital:"Berga", emoji:"🏕️", province:"B", mountain:true }, { name:"Berguedà", capital:"Berga", emoji:"🏕️", province:"B", mountain:true },
{ name:"Osona", capital:"Vic", emoji:"🐄", province:"B", mountain:false }, { name:"Osona", capital:"Vic", emoji:"🐄", province:"B", mountain:false, interior:true },
{ name:"Bages", capital:"Manresa", emoji:"⛏️", province:"B", mountain:false }, { name:"Lluçanès", capital:"Prats de Lluçanès", emoji:"🌾", province:"B", mountain:false, interior:true, noMap:true },
{ name:"Moianès", capital:"Moià", emoji:"🪨", province:"B", mountain:false, noMap:true }, { name:"Bages", capital:"Manresa", emoji:"⛏️", province:"B", mountain:false, interior:true },
{ name:"Anoia", capital:"Igualada", emoji:"🏭", province:"B", mountain:false }, { name:"Moianès", capital:"Moià", emoji:"🪨", province:"B", mountain:false, interior:true, noMap:true },
{ name:"Vallès Oriental", capital:"Granollers", emoji:"🌳", province:"B", mountain:false }, { name:"Anoia", capital:"Igualada", emoji:"🏭", province:"B", mountain:false, interior:true },
{ name:"Vallès Occidental", capital:"Sabadell", emoji:"🏙️", province:"B", mountain:false }, { name:"Vallès Oriental", capital:"Granollers", emoji:"🌳", province:"B", mountain:false, interior:true },
{ name:"Vallès Occidental", capital:"Sabadell", emoji:"🏙️", province:"B", mountain:false, interior:true },
{ name:"Barcelonès", capital:"Barcelona", emoji:"🗼", province:"B", mountain:false }, { name:"Barcelonès", capital:"Barcelona", emoji:"🗼", province:"B", mountain:false },
{ name:"Baix Llobregat", capital:"Sant Feliu de Llobregat", emoji:"🏘️", province:"B", mountain:false }, { name:"Baix Llobregat", capital:"Sant Feliu de Llobregat", emoji:"🏘️", province:"B", mountain:false },
{ name:"Maresme", capital:"Mataró", emoji:"⛵", province:"B", mountain:false }, { name:"Maresme", capital:"Mataró", emoji:"⛵", province:"B", mountain:false },
{ name:"Garraf", capital:"Vilanova i la Geltrú", emoji:"🌊", province:"B", mountain:false }, { name:"Garraf", capital:"Vilanova i la Geltrú", emoji:"🌊", province:"B", mountain:false },
{ name:"Alt Penedès", capital:"Vilafranca del Penedès", emoji:"🍇", province:"B", mountain:false }, { name:"Alt Penedès", capital:"Vilafranca del Penedès", emoji:"🍇", province:"B", mountain:false, interior:true },
// ── Tarragona ──────────────────────────────────────────────────────────── // ── Tarragona ────────────────────────────────────────────────────────────
{ name:"Conca de Barberà", capital:"Montblanc", emoji:"🏰", province:"T", mountain:false }, { name:"Conca de Barberà", capital:"Montblanc", emoji:"🏰", province:"T", mountain:false, interior:true },
{ name:"Priorat", capital:"Falset", emoji:"🍷", province:"T", mountain:false }, { name:"Priorat", capital:"Falset", emoji:"🍷", province:"T", mountain:false, interior:true },
{ name:"Ribera d'Ebre", capital:"Móra d'Ebre", emoji:"🌊", province:"T", mountain:false }, { name:"Ribera d'Ebre", capital:"Móra d'Ebre", emoji:"🌊", province:"T", mountain:false, interior:true },
{ name:"Terra Alta", capital:"Gandesa", emoji:"🌄", province:"T", mountain:false }, { name:"Terra Alta", capital:"Gandesa", emoji:"🌄", province:"T", mountain:false, interior:true },
{ name:"Montsià", capital:"Amposta", emoji:"🦩", province:"T", mountain:false }, { name:"Montsià", capital:"Amposta", emoji:"🦩", province:"T", mountain:false },
{ name:"Baix Ebre", capital:"Tortosa", emoji:"🏛️", province:"T", mountain:false }, { name:"Baix Ebre", capital:"Tortosa", emoji:"🏛️", province:"T", mountain:false },
{ name:"Tarragonès", capital:"Tarragona", emoji:"🏛️", province:"T", mountain:false }, { name:"Tarragonès", capital:"Tarragona", emoji:"🏛️", province:"T", mountain:false },
{ name:"Baix Camp", capital:"Reus", emoji:"🎨", province:"T", mountain:false }, { name:"Baix Camp", capital:"Reus", emoji:"🎨", province:"T", mountain:false },
{ name:"Alt Camp", capital:"Valls", emoji:"🧅", province:"T", mountain:false }, { name:"Alt Camp", capital:"Valls", emoji:"🧅", province:"T", mountain:false, interior:true },
{ name:"Baix Penedès", capital:"el Vendrell", emoji:"🎸", province:"T", mountain:false }, { name:"Baix Penedès", capital:"el Vendrell", emoji:"🎸", province:"T", mountain:false },
]; ];
// ── Group filter — persisted in localStorage, scoped per player ─────────────── // ── Group filter — persisted in localStorage, scoped per player ───────────────
// activeGroups is a Set of: 'mountain' | 'B' | 'G' | 'L' | 'T' | 'all' // activeGroups is a Set of: 'mountain' | 'interior' | 'B' | 'G' | 'L' | 'T' | 'all'
// Default: only mountain comarques (original behaviour) // Default: only mountain comarques (original behaviour)
function filterKey(playerId) { function filterKey(playerId) {
return playerId ? `activeGroups_${playerId}` : 'activeGroups_default'; return playerId ? `activeGroups_${playerId}` : 'activeGroups_default';
@@ -848,6 +849,7 @@ function getActiveComarques() {
return ALL_COMARQUES.filter(c => { return ALL_COMARQUES.filter(c => {
if (all) return true; if (all) return true;
if (activeGroups.has('mountain') && c.mountain) return true; if (activeGroups.has('mountain') && c.mountain) return true;
if (activeGroups.has('interior') && c.interior) return true;
if (activeGroups.has(c.province)) return true; if (activeGroups.has(c.province)) return true;
return false; return false;
}); });
@@ -1149,11 +1151,12 @@ async function loadStats() {
══════════════════════════════════════════════════════ */ ══════════════════════════════════════════════════════ */
const GROUP_DEFS = [ const GROUP_DEFS = [
{ key:'mountain', label:'⛰️ Muntanya', desc:'Les 10 comarques de muntanya' }, { key:'mountain', label:'⛰️ Muntanya', desc:'Les 10 comarques de muntanya' },
{ key:'interior', label:'🌄 Interior', desc:'21 comarques d\'interior de Catalunya' },
{ key:'B', label:'🏙️ Barcelona', desc:'12 comarques de la demarcació' }, { key:'B', label:'🏙️ Barcelona', desc:'12 comarques de la demarcació' },
{ key:'G', label:'🌊 Girona', desc:'8 comarques de la demarcació' }, { key:'G', label:'🌊 Girona', desc:'8 comarques de la demarcació' },
{ key:'L', label:'🏔️ Lleida', desc:'12 comarques de la demarcació' }, { key:'L', label:'🏔️ Lleida', desc:'12 comarques de la demarcació' },
{ key:'T', label:'☀️ Tarragona', desc:'10 comarques de la demarcació' }, { key:'T', label:'☀️ Tarragona', desc:'10 comarques de la demarcació' },
{ key:'all', label:'🗺️ Totes', desc:'Les 42 comarques de Catalunya' }, { key:'all', label:'🗺️ Totes', desc:'Les 43 comarques de Catalunya' },
]; ];
function renderAdminConfig() { function renderAdminConfig() {