From a650238d96af7f84be9b19fd995d9765c4895c99 Mon Sep 17 00:00:00 2001 From: Wolfgang Müller Date: Wed, 26 Feb 2025 16:23:47 +0100 Subject: frontend: Simplify Pill handling Where before we handled the styling of pills (such as their icons and colours) in multiple different places, instead centralize all of this in the base Pill component. --- frontend/src/lib/components/ComicCard.svelte | 10 +++--- frontend/src/lib/icons/Artist.svelte | 1 - frontend/src/lib/icons/Character.svelte | 1 - frontend/src/lib/icons/Circle.svelte | 1 - frontend/src/lib/icons/Female.svelte | 1 - frontend/src/lib/icons/Location.svelte | 1 - frontend/src/lib/icons/Male.svelte | 1 - frontend/src/lib/icons/Transgender.svelte | 1 - frontend/src/lib/icons/World.svelte | 1 - frontend/src/lib/pills/AssociationPill.svelte | 27 --------------- frontend/src/lib/pills/Pill.svelte | 49 ++++++++++++++++----------- frontend/src/lib/pills/TagPill.svelte | 42 +++-------------------- frontend/src/lib/tabs/ComicDetails.svelte | 10 +++--- 13 files changed, 44 insertions(+), 102 deletions(-) delete mode 100644 frontend/src/lib/icons/Artist.svelte delete mode 100644 frontend/src/lib/icons/Character.svelte delete mode 100644 frontend/src/lib/icons/Circle.svelte delete mode 100644 frontend/src/lib/icons/Female.svelte delete mode 100644 frontend/src/lib/icons/Location.svelte delete mode 100644 frontend/src/lib/icons/Male.svelte delete mode 100644 frontend/src/lib/icons/Transgender.svelte delete mode 100644 frontend/src/lib/icons/World.svelte delete mode 100644 frontend/src/lib/pills/AssociationPill.svelte diff --git a/frontend/src/lib/components/ComicCard.svelte b/frontend/src/lib/components/ComicCard.svelte index cb73e97..1a648b2 100644 --- a/frontend/src/lib/components/ComicCard.svelte +++ b/frontend/src/lib/components/ComicCard.svelte @@ -1,7 +1,7 @@ - - - {#snippet icon()} - - {/snippet} - diff --git a/frontend/src/lib/pills/Pill.svelte b/frontend/src/lib/pills/Pill.svelte index e7c6a8f..494cbe4 100644 --- a/frontend/src/lib/pills/Pill.svelte +++ b/frontend/src/lib/pills/Pill.svelte @@ -1,49 +1,58 @@ - - -
- {@render icon?.()} +
+ {#if style === 'female'} + + {:else if style === 'male'} + + {:else if style === 'trans'} + + {:else if style === 'location'} + + {:else if style === 'artist'} + + {:else if style === 'character'} + + {:else if style === 'circle'} + + {:else if style === 'world'} + + {/if} {name}
diff --git a/frontend/src/lib/pills/TagPill.svelte b/frontend/src/lib/pills/TagPill.svelte index 92d2a0b..17e4b25 100644 --- a/frontend/src/lib/pills/TagPill.svelte +++ b/frontend/src/lib/pills/TagPill.svelte @@ -1,43 +1,11 @@ - - {#snippet icon()} - {#if Icon} - - {/if} - {/snippet} - + diff --git a/frontend/src/lib/tabs/ComicDetails.svelte b/frontend/src/lib/tabs/ComicDetails.svelte index 89eb053..9992c82 100644 --- a/frontend/src/lib/tabs/ComicDetails.svelte +++ b/frontend/src/lib/tabs/ComicDetails.svelte @@ -3,7 +3,7 @@ import { CategoryLabel, CensorshipLabel, LanguageLabel, RatingLabel } from '$lib/Enums'; import { href } from '$lib/Navigation'; import { formatListSize, joinText } from '$lib/Utils'; - import AssociationPill from '$lib/pills/AssociationPill.svelte'; + import Pill from '$lib/pills/Pill.svelte'; import TagPill from '$lib/pills/TagPill.svelte'; import { formatDistance, formatISO9075 } from 'date-fns'; import Header from './DetailsHeader.svelte'; @@ -87,7 +87,7 @@
{#each comic.artists as { id, name } (id)} - + {/each}
@@ -96,7 +96,7 @@
{#each comic.circles as { id, name } (id)} - + {/each}
@@ -105,7 +105,7 @@
{#each comic.characters as { id, name } (id)} - + {/each}
@@ -114,7 +114,7 @@
{#each comic.worlds as { id, name } (id)} - + {/each}
-- cgit v1.2.3-2-gb3c3