optimisation

This commit is contained in:
Patrick
2025-03-29 16:38:00 +01:00
parent d6fe3cbd79
commit 9c9a00fcd6

View File

@@ -39,13 +39,16 @@
<h3>Résultats ({searchs.pagination.items.total} résultats trouvés)</h3> <h3>Résultats ({searchs.pagination.items.total} résultats trouvés)</h3>
<div class="results-grid"> <div class="results-grid">
<div class="card" each="{item in searchs.items}"> <div class="card" each="{item in searchs.items}">
<a if={authUser} onclick={() => item.isFavorite ? this.removeFavoris(item.id) : this.addFavoris(item.id)}><button><i class={item.isFavorite ? "fa-solid fa-star" : "fa-regular fa-star"}></i></button></a> <!-- Afficher l'étoile avec la musique immédiatement -->
<a if={authUser} onclick={() => item.isFavorite ? this.removeFavoris(item.id) : this.addFavoris(item.id)}>
<i class={item.isFavorite ? "fa-solid fa-star" : "fa-regular fa-star"}></i>
</a>
<a href={ "#/release-details/" + item.id}> <a href={ "#/release-details/" + item.id}>
{item.title} {item.title}
<img src="{item.cover_image} " alt="cover " /> <img src="{item.cover_image}" alt="cover" />
<div if="{item.type !=='artist' } "> <div if="{item.type !=='artist' } ">
<p>{item.year}</p> <p>{item.year}</p>
<footer>{item.community.want}<i class="fa-solid fa-check "></i> {item.community.have}<i class="fa-regular fa-heart "></i></footer> <footer>{item.community.want}<i class="fa-solid fa-check"></i> {item.community.have}<i class="fa-regular fa-heart"></i></footer>
</div> </div>
</a> </a>
</div> </div>
@@ -88,13 +91,17 @@
if (!query) return; if (!query) return;
const result = await window.discogsearch(query, type, page); const result = await window.discogsearch(query, type, page);
console.log(result);
const itemsWithFavorites = await Promise.all(result.results.map(async (item) => { const favoritePromises = result.results.map(item => window.isFavorite(item.id));
const isFav = await window.isFavorite(item.id); const favoritesResults = await Promise.all(favoritePromises);
return { ...item, isFavorite: isFav };
const enrichedItems = result.results.map((item, index) => ({
...item,
isFavorite: favoritesResults[index]
})); }));
this.searchs.items = itemsWithFavorites; this.searchs.items = enrichedItems;
this.searchs.pagination = result.pagination; this.searchs.pagination = result.pagination;
this.searchs.query = query; this.searchs.query = query;
this.searchs.type = type; this.searchs.type = type;