diff options
author | Wolfgang Müller | 2025-02-14 17:27:49 +0100 |
---|---|---|
committer | Wolfgang Müller | 2025-02-14 17:27:49 +0100 |
commit | 747eea878eb4b22def2d5a60d711402d79d1b3ff (patch) | |
tree | 45dfa070b9ec7217371be59d9bb9098b378e21af | |
parent | 2648650c12471a24a29e4e9a4e2ac77940cd96ff (diff) | |
download | hircine-747eea878eb4b22def2d5a60d711402d79d1b3ff.tar.gz |
frontend: Add URL filter for comics
-rw-r--r-- | frontend/src/lib/Filter.svelte.ts | 2 | ||||
-rw-r--r-- | frontend/src/lib/filter/ComicFilterForm.svelte | 9 |
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} /> |