Skip to content

Commit 596f931

Browse files
authored
Fix: Reverse array order for "Mais Recentes" sorting in cantorias list (#11)
1 parent 41696f0 commit 596f931

2 files changed

Lines changed: 12 additions & 8 deletions

File tree

DATA-MODEL.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ public/data/
3131

3232
Lista leve com metadados básicos. Use este para listar cantorias sem carregar estrofes.
3333

34+
**⚠️ IMPORTANTE - Ordenação:** A ordem dos itens no array `cantorias` é **cronológica** (primeira = mais antiga, última = mais recente). Para exibir as mais recentes primeiro, inverta a ordem do array com `.reverse()`.
35+
3436
```json
3537
{
3638
"$schema": "https://json-schema.org/draft-07/schema#",

view/src/routes/cantorias.tsx

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,21 +34,23 @@ function CantoriasPage() {
3434
}
3535

3636
// Ordenação primária
37-
if (sortBy === "alfabetica") {
37+
if (sortBy === "recentes") {
38+
// Inverte a ordem do array (último adicionado = mais recente)
39+
filtered.reverse();
40+
} else if (sortBy === "alfabetica") {
3841
filtered.sort((a, b) => a.titulo.localeCompare(b.titulo));
3942
} else if (sortBy === "estilo") {
4043
filtered.sort((a, b) => a.estilo.nome.localeCompare(b.estilo.nome));
4144
} else if (sortBy === "destaque") {
4245
filtered.sort((a, b) => (b.destaque ? 1 : 0) - (a.destaque ? 1 : 0));
46+
// Ordenação secundária: colocar cantorias COM vídeo primeiro apenas no modo destaque
47+
filtered.sort((a, b) => {
48+
const aTemVideo = a.links.youtube ? 1 : 0;
49+
const bTemVideo = b.links.youtube ? 1 : 0;
50+
return bTemVideo - aTemVideo; // Com vídeo primeiro
51+
});
4352
}
4453

45-
// Ordenação secundária: sempre colocar cantorias COM vídeo primeiro
46-
filtered.sort((a, b) => {
47-
const aTemVideo = a.links.youtube ? 1 : 0;
48-
const bTemVideo = b.links.youtube ? 1 : 0;
49-
return bTemVideo - aTemVideo; // Com vídeo primeiro
50-
});
51-
5254
return filtered;
5355
}, [cantorias, filterEstilo, sortBy]);
5456

0 commit comments

Comments
 (0)