feat: update Header component to use allLogos for accurate logo count display

This commit is contained in:
sHa
2025-05-29 17:27:10 +03:00
parent ac263276af
commit f1731e55dd
2 changed files with 20 additions and 9 deletions

View File

@@ -1,8 +1,8 @@
<script> <script>
import { onMount } from "svelte"; import { onMount } from "svelte";
export let logos = [];
export let displayLogos = []; export let displayLogos = [];
export let allLogos = []; // Add this to get total count
export let theme = "system"; export let theme = "system";
export let setTheme = () => {}; export let setTheme = () => {};
export let viewMode; export let viewMode;
@@ -43,7 +43,7 @@
// Compute all unique brands // Compute all unique brands
$: allBrands = Array.from( $: allBrands = Array.from(
new Set( new Set(
logos allLogos
.map((logo) => logo.brand) .map((logo) => logo.brand)
.filter((brand) => brand && brand.trim() !== "") .filter((brand) => brand && brand.trim() !== "")
) )
@@ -140,11 +140,11 @@
<h1>Logo Gallery</h1> <h1>Logo Gallery</h1>
</div> </div>
<span class="logo-count"> <span class="logo-count">
{#if displayLogos && logos && displayLogos.length === logos.length} {#if (searchQuery && searchQuery.trim() !== "") || selectedTags.length > 0 || selectedBrands.length > 0 || compactMode}
{logos.length} images in gallery {displayLogos ? displayLogos.length : 0} of {allLogos ? allLogos.length : 0} images
{:else}
{displayLogos ? displayLogos.length : 0} of {logos ? logos.length : 0} images
displayed displayed
{:else}
{allLogos ? allLogos.length : 0} images in gallery
{/if} {/if}
</span> </span>
<div class="theme-switcher"> <div class="theme-switcher">
@@ -298,7 +298,11 @@
<button <button
class="filter-option-item" class="filter-option-item"
class:selected={compactMode} class:selected={compactMode}
on:click={() => setCompactMode(!compactMode)} on:click={() => {
const newValue = !compactMode;
setCompactMode(newValue);
compactMode = newValue;
}}
aria-label={compactMode aria-label={compactMode
? "Disable group by brand" ? "Disable group by brand"
: "Enable group by brand"} : "Enable group by brand"}
@@ -470,7 +474,10 @@
on:click={() => { on:click={() => {
selectedTags.forEach(tag => removeTag(tag)); selectedTags.forEach(tag => removeTag(tag));
selectedBrands.forEach(brand => removeBrand(brand)); selectedBrands.forEach(brand => removeBrand(brand));
if (compactMode) setCompactMode(false); if (compactMode) {
setCompactMode(false);
compactMode = false;
}
}} }}
aria-label="Clear all filters" aria-label="Clear all filters"
> >
@@ -509,7 +516,10 @@
{#if compactMode} {#if compactMode}
<button <button
class="compact-indicator" class="compact-indicator"
on:click={() => setCompactMode(false)} on:click={() => {
setCompactMode(false);
compactMode = false;
}}
aria-label="Disable group by brand" aria-label="Disable group by brand"
> >
<svg <svg

View File

@@ -188,6 +188,7 @@
<Header <Header
{logos} {logos}
displayLogos={logos} displayLogos={logos}
{allLogos}
{theme} {theme}
{setTheme} {setTheme}
{viewMode} {viewMode}