feat: add 'Litoral' coastal comarca group filter

- Add coastal:true flag to 12 littoral comarques (Alt Empordà → Montsià)
- Add 'coastal' key to getActiveComarques() filter logic
- Add '🏖️ Litoral' chip to GROUP_DEFS (12 comarques de costa)
This commit is contained in:
Jaume Garriga Maestre
2026-05-13 21:28:05 +02:00
parent 4e3a3b4393
commit a3bb02f202

View File

@@ -807,11 +807,11 @@ const ALL_COMARQUES = [
{ 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, coastal:true },
{ 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, coastal:true },
{ name:"Gironès", capital:"Girona", emoji:"🦁", province:"G", mountain:false, interior:true }, { name:"Gironès", capital:"Girona", emoji:"🦁", province:"G", mountain:false, interior:true },
{ name:"Pla de l'Estany", capital:"Banyoles", emoji:"🦆", province:"G", mountain:false, interior:true }, { 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, coastal:true },
// ── 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, interior:true }, { name:"Osona", capital:"Vic", emoji:"🐄", province:"B", mountain:false, interior:true },
@@ -821,22 +821,22 @@ const ALL_COMARQUES = [
{ name:"Anoia", capital:"Igualada", emoji:"🏭", province:"B", mountain:false, interior:true }, { name:"Anoia", capital:"Igualada", emoji:"🏭", province:"B", mountain:false, interior:true },
{ name:"Vallès Oriental", capital:"Granollers", emoji:"🌳", province:"B", mountain:false, interior:true }, { 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:"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, coastal:true },
{ 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, coastal:true },
{ name:"Maresme", capital:"Mataró", emoji:"⛵", province:"B", mountain:false }, { name:"Maresme", capital:"Mataró", emoji:"⛵", province:"B", mountain:false, coastal:true },
{ name:"Garraf", capital:"Vilanova i la Geltrú", emoji:"🌊", province:"B", mountain:false }, { name:"Garraf", capital:"Vilanova i la Geltrú", emoji:"🌊", province:"B", mountain:false, coastal:true },
{ name:"Alt Penedès", capital:"Vilafranca del Penedès", emoji:"🍇", province:"B", mountain:false, interior:true }, { 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, interior:true }, { name:"Conca de Barberà", capital:"Montblanc", emoji:"🏰", province:"T", mountain:false, interior:true },
{ name:"Priorat", capital:"Falset", emoji:"🍷", province:"T", mountain:false, interior:true }, { 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, interior:true }, { 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, interior:true }, { 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, coastal:true },
{ name:"Baix Ebre", capital:"Tortosa", emoji:"🏛️", province:"T", mountain:false }, { name:"Baix Ebre", capital:"Tortosa", emoji:"🏛️", province:"T", mountain:false, coastal:true },
{ name:"Tarragonès", capital:"Tarragona", emoji:"🏛️", province:"T", mountain:false }, { name:"Tarragonès", capital:"Tarragona", emoji:"🏛️", province:"T", mountain:false, coastal:true },
{ name:"Baix Camp", capital:"Reus", emoji:"🎨", province:"T", mountain:false }, { name:"Baix Camp", capital:"Reus", emoji:"🎨", province:"T", mountain:false, coastal:true },
{ name:"Alt Camp", capital:"Valls", emoji:"🧅", province:"T", mountain:false, interior:true }, { 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, coastal:true },
]; ];
// ── Group filter — persisted in localStorage, scoped per player ─────────────── // ── Group filter — persisted in localStorage, scoped per player ───────────────
@@ -864,6 +864,7 @@ function getActiveComarques() {
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('interior') && c.interior) return true;
if (activeGroups.has('coastal') && c.coastal) return true;
if (activeGroups.has(c.province)) return true; if (activeGroups.has(c.province)) return true;
return false; return false;
}); });
@@ -1169,6 +1170,7 @@ 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:'interior', label:'🌄 Interior', desc:'21 comarques d\'interior de Catalunya' },
{ key:'coastal', label:'🏖️ Litoral', desc:'12 comarques de costa 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ó' },