From 361f506cd3677f61d2203ff91fab70ba3a1c5851 Mon Sep 17 00:00:00 2001 From: Wolfgang Müller Date: Thu, 20 Feb 2025 19:33:55 +0100 Subject: frontend: Introduce ComicCard and ArchiveCard Instead of repeatedly supplying Card content in all the places it is required, it makes more sense to create dedicated ComicCard and ArchiveCard components. These wrap around Card itself and can be used in a more straightforward and consistent fashion. Whilst we are here, simplify and streamline the display of Comic and Archive metadata by introducing a Card footer. The footer is used for information on page count, release date, and archive size. --- frontend/src/routes/+page.svelte | 8 ++++---- frontend/src/routes/archives/+page.svelte | 24 +++++------------------- frontend/src/routes/comics/+page.svelte | 8 +++----- 3 files changed, 12 insertions(+), 28 deletions(-) (limited to 'frontend/src/routes') diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte index d2a59c8..237b573 100644 --- a/frontend/src/routes/+page.svelte +++ b/frontend/src/routes/+page.svelte @@ -6,7 +6,7 @@ import { href } from '$lib/Navigation'; import { fadeDefault } from '$lib/Transitions'; import logo from '$lib/assets/logo.webp'; - import Card, { comicCard } from '$lib/components/Card.svelte'; + import ComicCard from '$lib/components/ComicCard.svelte'; import Guard from '$lib/components/Guard.svelte'; import Head from '$lib/components/Head.svelte'; import Carousel from '$lib/containers/Carousel.svelte'; @@ -52,21 +52,21 @@ {#if recent && recent.count > 0} {#each recent.edges as comic} - + {/each} {/if} {#if favourites && favourites.count > 0} {#each favourites.edges as comic} - + {/each} {/if} {#if bookmarked && bookmarked.count > 0} {#each bookmarked.edges as comic} - + {/each} {/if} diff --git a/frontend/src/routes/archives/+page.svelte b/frontend/src/routes/archives/+page.svelte index b75c140..2bc6703 100644 --- a/frontend/src/routes/archives/+page.svelte +++ b/frontend/src/routes/archives/+page.svelte @@ -4,7 +4,7 @@ import type { ArchiveFragment } from '$gql/graphql'; import { ArchiveSortLabel } from '$lib/Enums'; import { ArchiveFilterContext } from '$lib/Filter.svelte'; - import Card from '$lib/components/Card.svelte'; + import ArchiveCard from '$lib/components/ArchiveCard.svelte'; import Empty from '$lib/components/Empty.svelte'; import Guard from '$lib/components/Guard.svelte'; import Head from '$lib/components/Head.svelte'; @@ -12,7 +12,6 @@ import Cards from '$lib/containers/Cards.svelte'; import Column from '$lib/containers/Column.svelte'; import Pagination from '$lib/pagination/Pagination.svelte'; - import Pill from '$lib/pills/Pill.svelte'; import Selectable from '$lib/selection/Selectable.svelte'; import { initSelectionContext } from '$lib/selection/Selection.svelte'; import SelectionOverlay from '$lib/selection/SelectionOverlay.svelte'; @@ -26,7 +25,6 @@ import SelectionControls from '$lib/toolbar/SelectionControls.svelte'; import Toolbar from '$lib/toolbar/Toolbar.svelte'; import { getContextClient } from '@urql/svelte'; - import { filesize } from 'filesize'; import type { PageProps } from './$types'; let { data }: PageProps = $props(); @@ -79,26 +77,14 @@
- {#each archives.edges as { id, name, cover, size, pageCount }, index (id)} - + {#each archives.edges as archive, index (archive.id)} + {#snippet children({ onclick, selected })} - + {#snippet overlay()} {/snippet} -
- - {#snippet icon()} - - {/snippet} - - - {#snippet icon()} - - {/snippet} - -
-
+ {/snippet}
{:else} diff --git a/frontend/src/routes/comics/+page.svelte b/frontend/src/routes/comics/+page.svelte index 03123be..11289e7 100644 --- a/frontend/src/routes/comics/+page.svelte +++ b/frontend/src/routes/comics/+page.svelte @@ -4,7 +4,7 @@ import { type ComicFragment } from '$gql/graphql'; import { ComicSortLabel } from '$lib/Enums'; import { ComicFilterContext } from '$lib/Filter.svelte'; - import Card, { comicCard } from '$lib/components/Card.svelte'; + import ComicCard from '$lib/components/ComicCard.svelte'; import Empty from '$lib/components/Empty.svelte'; import Guard from '$lib/components/Guard.svelte'; import Head from '$lib/components/Head.svelte'; @@ -13,7 +13,6 @@ import UpdateComicsDialog from '$lib/dialogs/UpdateComics.svelte'; import ComicFilterForm from '$lib/filter/ComicFilterForm.svelte'; import Pagination from '$lib/pagination/Pagination.svelte'; - import ComicPills from '$lib/pills/ComicPills.svelte'; import Selectable from '$lib/selection/Selectable.svelte'; import { initSelectionContext } from '$lib/selection/Selection.svelte'; import SelectionOverlay from '$lib/selection/SelectionOverlay.svelte'; @@ -96,12 +95,11 @@ {#each comics.edges as comic, index (comic.id)} {#snippet children({ onclick, selected })} - + {#snippet overlay()} {/snippet} - - + {/snippet} {:else} -- cgit v1.2.3-2-gb3c3