diff --git a/CORRECTION_tri.md b/CORRECTION_tri.md new file mode 100644 index 0000000..58cbe17 --- /dev/null +++ b/CORRECTION_tri.md @@ -0,0 +1,81 @@ +# 🔧 Correction — ton tri ne change rien à l'affichage + +Bonne nouvelle : ton like est **réparé** (likes dans le parent, `liker(id)`, total recalculé) et ton **formulaire d'ajout marche** 👏. Le tri, lui, semble « ne rien faire ». C'est un bug très instructif. + +--- + +## 🔍 Pourquoi le tri n'a aucun effet + +Tu calcules **deux** listes dans `App` : + +```jsx +const affichees = [...trilogies].sort((a, b) => { ... }); // ✅ triée... mais jamais utilisée +const filtrees = trilogies.filter((t) => ...); // filtrée (PAS triée) +``` + +Et dans le rendu, tu affiches… **`filtrees`** : + +```jsx +{filtrees.map((trilo) => ( ... ))} // ❌ tu affiches la liste filtrée, pas la triée +``` + +Donc quand tu changes le `` (Nom / Plus likées) → l'**ordre** change ; like une carte puis trie par « Plus likées » → elle remonte. + +--- + +## 🧹 Détail mineur + +Tu as enveloppé ton `... + +``` +Ce n'est pas faux, mais inutile ici : le fragment `<>…` ne sert que pour grouper **plusieurs** éléments. Pour un `` + +> 💬 La phrase à garder : **on affiche la liste qu'on a vraiment transformée.** Filtre → trie → `map`, sur la même variable.