summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorWolfgang Müller2025-02-14 17:27:49 +0100
committerWolfgang Müller2025-02-14 17:27:49 +0100
commit747eea878eb4b22def2d5a60d711402d79d1b3ff (patch)
tree45dfa070b9ec7217371be59d9bb9098b378e21af
parent2648650c12471a24a29e4e9a4e2ac77940cd96ff (diff)
downloadhircine-747eea878eb4b22def2d5a60d711402d79d1b3ff.tar.gz
frontend: Add URL filter for comics
-rw-r--r--frontend/src/lib/Filter.svelte.ts2
-rw-r--r--frontend/src/lib/filter/ComicFilterForm.svelte9
2 files changed, 11 insertions, 0 deletions
diff --git a/frontend/src/lib/Filter.svelte.ts b/frontend/src/lib/Filter.svelte.ts
index 8c0fa82..6183f06 100644
--- a/frontend/src/lib/Filter.svelte.ts
+++ b/frontend/src/lib/Filter.svelte.ts
@@ -174,6 +174,7 @@ export class ArchiveFilterControls extends Controls<ArchiveFilter> {
export class ComicFilterControls extends Controls<ComicFilter> {
title: Str<'title'>;
+ url: Str<'url'>;
categories: Enum<'category'>;
censorships: Enum<'censorship'>;
ratings: Enum<'rating'>;
@@ -193,6 +194,7 @@ export class ComicFilterControls extends Controls<ComicFilter> {
super();
this.title = new Str('title', filter);
+ this.url = new Str('url', filter);
this.favourite = new Bool('favourite', filter);
this.organized = new Bool('organized', filter);
this.bookmarked = new Bool('bookmarked', filter);
diff --git a/frontend/src/lib/filter/ComicFilterForm.svelte b/frontend/src/lib/filter/ComicFilterForm.svelte
index 8bf7af3..277edd1 100644
--- a/frontend/src/lib/filter/ComicFilterForm.svelte
+++ b/frontend/src/lib/filter/ComicFilterForm.svelte
@@ -34,6 +34,15 @@
<Filter {type} title="Ratings" options={ratings} filter={filter.include.ratings} />
<Filter {type} title="Censorship" options={censorships} filter={filter.include.censorships} />
<Filter {type} title="Languages" options={languages} filter={filter.include.languages} />
+ <div class="flex flex-col">
+ <label for="include-url">URL</label>
+ <input
+ id="include-url"
+ class="h-full"
+ placeholder="Search..."
+ bind:value={filter.include.url.contains}
+ />
+ </div>
{/snippet}
{#snippet exclude(type)}
<Filter {type} wide title="Tags" options={tags} filter={filter.exclude.tags} />