diff options
| author | Fuwn <[email protected]> | 2026-01-28 23:55:47 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-01-28 23:55:47 -0800 |
| commit | 079290f881e422b03e504da27f89d4e997e63a25 (patch) | |
| tree | 33f36945d6ec78f8ae5caa88c5527a2e21e54151 /src/lib/List/Manga/MangaListTemplate.svelte | |
| parent | feat: Add hero for landing and welcome page (diff) | |
| download | due.moe-079290f881e422b03e504da27f89d4e997e63a25.tar.xz due.moe-079290f881e422b03e504da27f89d4e997e63a25.zip | |
feat(Landing): Update to match LandingHero
Diffstat (limited to 'src/lib/List/Manga/MangaListTemplate.svelte')
| -rw-r--r-- | src/lib/List/Manga/MangaListTemplate.svelte | 44 |
1 files changed, 23 insertions, 21 deletions
diff --git a/src/lib/List/Manga/MangaListTemplate.svelte b/src/lib/List/Manga/MangaListTemplate.svelte index 16665d56..c2fc0513 100644 --- a/src/lib/List/Manga/MangaListTemplate.svelte +++ b/src/lib/List/Manga/MangaListTemplate.svelte @@ -31,7 +31,9 @@ export let displayUnresolved: boolean; export let due: boolean; export let dummy = $settings.debugDummyLists || false; + export let dummyCount = 7; export let disableFilter = false; + export let limit: number | undefined = undefined; const authorised = privilegedUser($identity.id); let mangaLists: Promise<Media[]>; let startTime: number; @@ -67,28 +69,25 @@ startTime = performance.now(); if (dummy) { + // Use deterministic selection for consistent display + const filtered = sampleManga.filter( + (manga) => + manga.chapters && + !manga.tags.some((tag) => tag.name === 'Nudity') && + !manga.tags.some((tag) => tag.name === 'Rape') && + !manga.tags.some((tag) => tag.name === 'Tragedy') && + !manga.tags.some((tag) => tag.name === 'Bondage') && + !manga.genres.some((genre) => genre === 'Hentai') && + manga.genres.some((genre) => genre === 'Comedy') && + manga.status !== 'NOT_YET_RELEASED' + ); mangaLists = Promise.resolve( - sampleManga - .filter( - (manga) => - manga.chapters && - !manga.tags.some((tag) => tag.name === 'Nudity') && - !manga.tags.some((tag) => tag.name === 'Rape') && - !manga.tags.some((tag) => tag.name === 'Tragedy') && - !manga.tags.some((tag) => tag.name === 'Bondage') && - !manga.genres.some((genre) => genre === 'Hentai') && - manga.genres.some((genre) => genre === 'Comedy') && - manga.status !== 'NOT_YET_RELEASED' - ) - .sort(() => 0.5 - Math.random()) - .map((manga) => { - manga.status = 'FINISHED'; - manga.episodes = Math.floor(Math.random() * (manga.chapters || 0)) as unknown as null; - manga.mediaListEntry.progress = Math.floor(Math.random() * (manga.episodes || 0)) + 1; - - return manga; - }) - .slice(0, 7) as unknown as Media[] + filtered.slice(0, dummyCount).map((manga) => { + manga.status = 'FINISHED'; + manga.episodes = Math.floor((manga.chapters || 10) * 0.7) as unknown as null; + manga.mediaListEntry.progress = Math.floor((manga.episodes || 5) * 0.5) + 1; + return manga; + }) as unknown as Media[] ); } else { mangaLists = mediaListCollection(user, $identity, Type.Manga, $manga, $lastPruneTimes.manga, { @@ -262,6 +261,7 @@ {authorised} {dummy} {disableFilter} + {limit} /> {:else} {#if !authorised} @@ -310,6 +310,7 @@ {authorised} {dummy} {disableFilter} + {limit} /> {:else} {#if !authorised} @@ -378,6 +379,7 @@ {authorised} {dummy} {disableFilter} + {limit} /> {:catch} {#if authorised} |