feat: Refactor logo components into Grid and List views

This commit is contained in:
sHa
2025-05-01 00:27:38 +03:00
parent 7afcf996ca
commit aaf7db1471
8 changed files with 263 additions and 391 deletions

View File

@@ -0,0 +1,35 @@
<script>
import Preview from './Preview.svelte';
import Actions from './Actions.svelte';
import Row from './Row.svelte';
import { onMount, onDestroy } from 'svelte';
export let logos = [];
export let onCopy;
export let onDownload;
let showModal = false;
let selectedLogo = null;
export let theme;
</script>
<Preview show={showModal} logo={selectedLogo} theme={theme} on:close={() => showModal = false} />
<div class="logo-grid">
{#each logos as logo}
<Row {logo} view="grid" showActions={true} onPreview={() => { selectedLogo = logo; showModal = true; }}>
<svelte:fragment slot="actions">
<Actions {logo} {onCopy} {onDownload} />
</svelte:fragment>
</Row>
{/each}
</div>
<style>
.logo-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
gap: 1.5rem;
}
</style>