optimisation
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user