summaryrefslogtreecommitdiffstatshomepage
path: root/frontend/src/routes
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/routes')
-rw-r--r--frontend/src/routes/+page.svelte8
-rw-r--r--frontend/src/routes/archives/+page.svelte24
-rw-r--r--frontend/src/routes/artists/+page.svelte2
-rw-r--r--frontend/src/routes/characters/+page.svelte2
-rw-r--r--frontend/src/routes/circles/+page.svelte2
-rw-r--r--frontend/src/routes/comics/+page.svelte8
-rw-r--r--frontend/src/routes/namespaces/+page.svelte8
-rw-r--r--frontend/src/routes/tags/+page.svelte2
-rw-r--r--frontend/src/routes/worlds/+page.svelte2
9 files changed, 27 insertions, 31 deletions
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}
<Carousel title="Recently added" href={recentLink}>
{#each recent.edges as comic}
- <Card coverOnly {...comicCard(comic)} />
+ <ComicCard coverOnly {comic} />
{/each}
</Carousel>
{/if}
{#if favourites && favourites.count > 0}
<Carousel title="Favourites" href={favouriteLink}>
{#each favourites.edges as comic}
- <Card coverOnly {...comicCard(comic)} />
+ <ComicCard coverOnly {comic} />
{/each}
</Carousel>
{/if}
{#if bookmarked && bookmarked.count > 0}
<Carousel title="Bookmarks" href={bookmarkLink}>
{#each bookmarked.edges as comic}
- <Card coverOnly {...comicCard(comic)} />
+ <ComicCard coverOnly {comic} />
{/each}
</Carousel>
{/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 @@
<Pagination {pagination} total={archives.count} />
<main>
<Cards>
- {#each archives.edges as { id, name, cover, size, pageCount }, index (id)}
- <Selectable {index} {id}>
+ {#each archives.edges as archive, index (archive.id)}
+ <Selectable {index} id={archive.id}>
{#snippet children({ onclick, selected })}
- <Card href={id.toString()} details={{ title: name, cover }} {onclick}>
+ <ArchiveCard {archive} {onclick}>
{#snippet overlay()}
<SelectionOverlay position="left" {selected} />
{/snippet}
- <div class="flex gap-1 text-xs">
- <Pill name={`${pageCount} pages`}>
- {#snippet icon()}
- <span class="icon-[material-symbols--note] mr-0.5"></span>
- {/snippet}
- </Pill>
- <Pill name={filesize(size, { base: 2 })}>
- {#snippet icon()}
- <span class="icon-[material-symbols--hard-drive] mr-0.5"></span>
- {/snippet}
- </Pill>
- </div>
- </Card>
+ </ArchiveCard>
{/snippet}
</Selectable>
{:else}
diff --git a/frontend/src/routes/artists/+page.svelte b/frontend/src/routes/artists/+page.svelte
index 9f0d893..9fff9d2 100644
--- a/frontend/src/routes/artists/+page.svelte
+++ b/frontend/src/routes/artists/+page.svelte
@@ -20,6 +20,7 @@
import { initSelectionContext } from '$lib/selection/Selection.svelte';
import SelectionOverlay from '$lib/selection/SelectionOverlay.svelte';
import DeleteSelection from '$lib/toolbar/DeleteSelection.svelte';
+ import FilterOrphaned from '$lib/toolbar/FilterOrphaned.svelte';
import Search from '$lib/toolbar/Search.svelte';
import SelectItems from '$lib/toolbar/SelectItems.svelte';
import SelectSort from '$lib/toolbar/SelectSort.svelte';
@@ -69,6 +70,7 @@
{/snippet}
{#snippet center()}
<Search name="Artists" {filter} bind:field={filter.include.name.contains} />
+ <FilterOrphaned {filter} />
<SelectSort {sort} labels={ArtistSortLabel} />
<SelectItems {pagination} />
{/snippet}
diff --git a/frontend/src/routes/characters/+page.svelte b/frontend/src/routes/characters/+page.svelte
index 3a4b737..970a8fa 100644
--- a/frontend/src/routes/characters/+page.svelte
+++ b/frontend/src/routes/characters/+page.svelte
@@ -20,6 +20,7 @@
import { initSelectionContext } from '$lib/selection/Selection.svelte';
import SelectionOverlay from '$lib/selection/SelectionOverlay.svelte';
import DeleteSelection from '$lib/toolbar/DeleteSelection.svelte';
+ import FilterOrphaned from '$lib/toolbar/FilterOrphaned.svelte';
import Search from '$lib/toolbar/Search.svelte';
import SelectItems from '$lib/toolbar/SelectItems.svelte';
import SelectSort from '$lib/toolbar/SelectSort.svelte';
@@ -69,6 +70,7 @@
{/snippet}
{#snippet center()}
<Search name="Characters" {filter} bind:field={filter.include.name.contains} />
+ <FilterOrphaned {filter} />
<SelectSort {sort} labels={CharacterSortLabel} />
<SelectItems {pagination} />
{/snippet}
diff --git a/frontend/src/routes/circles/+page.svelte b/frontend/src/routes/circles/+page.svelte
index 8bac7ed..bad1e1d 100644
--- a/frontend/src/routes/circles/+page.svelte
+++ b/frontend/src/routes/circles/+page.svelte
@@ -20,6 +20,7 @@
import { initSelectionContext } from '$lib/selection/Selection.svelte';
import SelectionOverlay from '$lib/selection/SelectionOverlay.svelte';
import DeleteSelection from '$lib/toolbar/DeleteSelection.svelte';
+ import FilterOrphaned from '$lib/toolbar/FilterOrphaned.svelte';
import Search from '$lib/toolbar/Search.svelte';
import SelectItems from '$lib/toolbar/SelectItems.svelte';
import SelectSort from '$lib/toolbar/SelectSort.svelte';
@@ -69,6 +70,7 @@
{/snippet}
{#snippet center()}
<Search name="Circles" {filter} bind:field={filter.include.name.contains} />
+ <FilterOrphaned {filter} />
<SelectSort {sort} labels={CircleSortLabel} />
<SelectItems {pagination} />
{/snippet}
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)}
<Selectable {index} id={comic.id}>
{#snippet children({ onclick, selected })}
- <Card {...comicCard(comic)} {onclick}>
+ <ComicCard {comic} {onclick}>
{#snippet overlay()}
<SelectionOverlay position="left" {selected} />
{/snippet}
- <ComicPills {comic} />
- </Card>
+ </ComicCard>
{/snippet}
</Selectable>
{:else}
diff --git a/frontend/src/routes/namespaces/+page.svelte b/frontend/src/routes/namespaces/+page.svelte
index d8e728d..429432f 100644
--- a/frontend/src/routes/namespaces/+page.svelte
+++ b/frontend/src/routes/namespaces/+page.svelte
@@ -3,7 +3,7 @@
import { fetchNamespace, namespacesQuery } from '$gql/Queries';
import type { Namespace } from '$gql/graphql';
import { NamespaceSortLabel } from '$lib/Enums';
- import { BasicFilterContext } from '$lib/Filter.svelte';
+ import { NamespaceFilterContext } from '$lib/Filter.svelte';
import { quickComicFilter } from '$lib/Navigation';
import { toastFinally } from '$lib/Toasts';
import AddButton from '$lib/components/AddButton.svelte';
@@ -20,6 +20,7 @@
import { initSelectionContext } from '$lib/selection/Selection.svelte';
import SelectionOverlay from '$lib/selection/SelectionOverlay.svelte';
import DeleteSelection from '$lib/toolbar/DeleteSelection.svelte';
+ import FilterOrphaned from '$lib/toolbar/FilterOrphaned.svelte';
import Search from '$lib/toolbar/Search.svelte';
import SelectItems from '$lib/toolbar/SelectItems.svelte';
import SelectSort from '$lib/toolbar/SelectSort.svelte';
@@ -44,9 +45,9 @@
}
});
- let filter = $state(new BasicFilterContext(data.filter));
+ let filter = $state(new NamespaceFilterContext(data.filter));
$effect(() => {
- filter = new BasicFilterContext(data.filter);
+ filter = new NamespaceFilterContext(data.filter);
});
const edit = (id: number) => {
@@ -69,6 +70,7 @@
{/snippet}
{#snippet center()}
<Search name="Namespaces" {filter} bind:field={filter.include.name.contains} />
+ <FilterOrphaned {filter} />
<SelectSort {sort} labels={NamespaceSortLabel} />
<SelectItems {pagination} />
{/snippet}
diff --git a/frontend/src/routes/tags/+page.svelte b/frontend/src/routes/tags/+page.svelte
index f71267f..2cb6f87 100644
--- a/frontend/src/routes/tags/+page.svelte
+++ b/frontend/src/routes/tags/+page.svelte
@@ -23,6 +23,7 @@
import SelectionOverlay from '$lib/selection/SelectionOverlay.svelte';
import DeleteSelection from '$lib/toolbar/DeleteSelection.svelte';
import EditSelection from '$lib/toolbar/EditSelection.svelte';
+ import FilterOrphaned from '$lib/toolbar/FilterOrphaned.svelte';
import Search from '$lib/toolbar/Search.svelte';
import SelectItems from '$lib/toolbar/SelectItems.svelte';
import SelectSort from '$lib/toolbar/SelectSort.svelte';
@@ -76,6 +77,7 @@
{#snippet center({ expanded, toggle })}
<Search name="Tags" {filter} bind:field={filter.include.name.contains} />
<ToggleAdvancedFilters {expanded} {toggle} {filterSize} />
+ <FilterOrphaned {filter} />
<SelectSort {sort} labels={TagSortLabel} />
<SelectItems {pagination} />
{/snippet}
diff --git a/frontend/src/routes/worlds/+page.svelte b/frontend/src/routes/worlds/+page.svelte
index 6b95142..133dc27 100644
--- a/frontend/src/routes/worlds/+page.svelte
+++ b/frontend/src/routes/worlds/+page.svelte
@@ -20,6 +20,7 @@
import { initSelectionContext } from '$lib/selection/Selection.svelte';
import SelectionOverlay from '$lib/selection/SelectionOverlay.svelte';
import DeleteSelection from '$lib/toolbar/DeleteSelection.svelte';
+ import FilterOrphaned from '$lib/toolbar/FilterOrphaned.svelte';
import Search from '$lib/toolbar/Search.svelte';
import SelectItems from '$lib/toolbar/SelectItems.svelte';
import SelectSort from '$lib/toolbar/SelectSort.svelte';
@@ -69,6 +70,7 @@
{/snippet}
{#snippet center()}
<Search name="Worlds" {filter} bind:field={filter.include.name.contains} />
+ <FilterOrphaned {filter} />
<SelectSort {sort} labels={WorldSortLabel} />
<SelectItems {pagination} />
{/snippet}