mirror of
https://github.com/shadoll/sLogos.git
synced 2025-12-20 11:32:01 +00:00
feat: update Header component to use allLogos for accurate logo count display
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -188,6 +188,7 @@
|
|||||||
<Header
|
<Header
|
||||||
{logos}
|
{logos}
|
||||||
displayLogos={logos}
|
displayLogos={logos}
|
||||||
|
{allLogos}
|
||||||
{theme}
|
{theme}
|
||||||
{setTheme}
|
{setTheme}
|
||||||
{viewMode}
|
{viewMode}
|
||||||
|
|||||||
Reference in New Issue
Block a user