diff options
| author | Fuwn <[email protected]> | 2023-12-04 13:42:59 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-04 13:42:59 -0800 |
| commit | d2b07fe58e3799f024c0301e71a6b80808ca07c6 (patch) | |
| tree | 07cc3a7cb664b37c6849bff29605a790cb21854d /src/lib | |
| parent | feat(settings): verbiage (diff) | |
| download | due.moe-d2b07fe58e3799f024c0301e71a6b80808ca07c6.tar.xz due.moe-d2b07fe58e3799f024c0301e71a6b80808ca07c6.zip | |
fix(list): fast complete not-due
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/List/Anime/AnimeListTemplate.svelte | 1 | ||||
| -rw-r--r-- | src/lib/List/Anime/CleanAnimeList.svelte | 106 | ||||
| -rw-r--r-- | src/lib/List/Manga/CleanMangaList.svelte | 77 | ||||
| -rw-r--r-- | src/lib/List/Manga/MangaListTemplate.svelte | 2 |
4 files changed, 94 insertions, 92 deletions
diff --git a/src/lib/List/Anime/AnimeListTemplate.svelte b/src/lib/List/Anime/AnimeListTemplate.svelte index fba53429..d325895a 100644 --- a/src/lib/List/Anime/AnimeListTemplate.svelte +++ b/src/lib/List/Anime/AnimeListTemplate.svelte @@ -38,7 +38,6 @@ bind:lastUpdatedMedia {completed} bind:previousAnimeList - disableIncrement bind:pendingUpdate /> {:else} diff --git a/src/lib/List/Anime/CleanAnimeList.svelte b/src/lib/List/Anime/CleanAnimeList.svelte index 567dd2da..a17ad67c 100644 --- a/src/lib/List/Anime/CleanAnimeList.svelte +++ b/src/lib/List/Anime/CleanAnimeList.svelte @@ -17,7 +17,6 @@ export let lastUpdatedMedia: number; export let completed = false; export let previousAnimeList: Media[]; - export let disableIncrement = false; export let pendingUpdate: number | null; </script> @@ -36,61 +35,64 @@ <ul> {#each media as anime} {@const progress = (anime.mediaListEntry || { progress: 0 }).progress} - <li> - <a - href={$settings.linkToLiveChart - ? `https://www.livechart.me/search?q=${ - anime.title.native || anime.title.english || anime.title.romaji - }` - : `https://anilist.co/anime/${anime.id}`} - target="_blank" - > - <span - style={lastUpdatedMedia === anime.id && anime.episodes !== progress - ? 'color: lightcoral' - : ''} - > - <MediaTitle title={anime.title} /> - </span> - </a> - {#if $settings.displaySocialButton} - [<a href={`https://anilist.co/anime/${anime.id}/social`} target="_blank">S</a>] - {/if} - <span style="opacity: 50%;">|</span> - {#if title !== 'Upcoming Episodes'} - <!-- {anime.mediaListEntry?.progress || 0}{@html totalEpisodes(anime)} --> - {pendingUpdate === anime.id ? progress + 1 : progress}{@html totalEpisodes(anime)} + + {#if title === 'Upcoming Episodes' || progress !== (anime.nextAiringEpisode?.episode || 9999) - 1} + <li> <a - href={'#'} - style={disableIncrement ? 'pointer-events: none; opacity: 50%;' : ''} - on:click={() => { - if (!disableIncrement) { - lastUpdatedMedia = anime.id; - pendingUpdate = anime.id; + href={$settings.linkToLiveChart + ? `https://www.livechart.me/search?q=${ + anime.title.native || anime.title.english || anime.title.romaji + }` + : `https://anilist.co/anime/${anime.id}`} + target="_blank" + > + <span + style={lastUpdatedMedia === anime.id && anime.episodes !== progress + ? 'color: lightcoral' + : ''} + > + <MediaTitle title={anime.title} /> + </span> + </a> + {#if $settings.displaySocialButton} + [<a href={`https://anilist.co/anime/${anime.id}/social`} target="_blank">S</a>] + {/if} + <span style="opacity: 50%;">|</span> + {#if title !== 'Upcoming Episodes'} + <!-- {anime.mediaListEntry?.progress || 0}{@html totalEpisodes(anime)} --> + {pendingUpdate === anime.id ? progress + 1 : progress}{@html totalEpisodes(anime)} + <a + href={'#'} + style={pendingUpdate === anime.id ? 'pointer-events: none; opacity: 50%;' : ''} + on:click={() => { + if (pendingUpdate !== anime.id) { + lastUpdatedMedia = anime.id; + pendingUpdate = anime.id; - updateMedia(anime.id, anime.mediaListEntry?.progress, () => { - const mediaListEntry = media.find((m) => m.id === anime.id)?.mediaListEntry; + updateMedia(anime.id, anime.mediaListEntry?.progress, () => { + const mediaListEntry = media.find((m) => m.id === anime.id)?.mediaListEntry; - if (mediaListEntry) { - mediaListEntry.progress = progress + 1; - } + if (mediaListEntry) { + mediaListEntry.progress = progress + 1; + } - previousAnimeList = media; - animeLists = cleanCache(user, identity); - pendingUpdate = null; - }); - } - }}>+</a - > - {#if !completed} - [{anime.nextAiringEpisode?.episode === -1 - ? '?' - : (anime.nextAiringEpisode?.episode || 1) - 1}] - {@html airingTime(anime)} + previousAnimeList = media; + animeLists = cleanCache(user, identity); + pendingUpdate = null; + }); + } + }}>+</a + > + {#if !completed} + [{anime.nextAiringEpisode?.episode === -1 + ? '?' + : (anime.nextAiringEpisode?.episode || 1) - 1}] + {@html airingTime(anime)} + {/if} + {:else} + {@html airingTime(anime, true)} {/if} - {:else} - {@html airingTime(anime, true)} - {/if} - </li> + </li> + {/if} {/each} </ul> diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte index 22ebb154..acea532a 100644 --- a/src/lib/List/Manga/CleanMangaList.svelte +++ b/src/lib/List/Manga/CleanMangaList.svelte @@ -14,7 +14,6 @@ progress: number | undefined, media: Media[] ) => Promise<void>; - export let disableIncrement = false; export let pendingUpdate: number | null; export let due: boolean; </script> @@ -33,42 +32,46 @@ {#each media as manga} {@const progress = (manga.mediaListEntry || { progress: 0 }).progress} - <li> - <a href={`https://anilist.co/manga/${manga.id}`} target="_blank"> - <span - style={lastUpdatedMedia === manga.id && manga.chapters !== progress - ? 'color: lightcoral' - : ''} + {#if progress !== manga.episodes} + <li> + <a href={`https://anilist.co/manga/${manga.id}`} target="_blank"> + <span + style={lastUpdatedMedia === manga.id && manga.chapters !== progress + ? 'color: lightcoral' + : ''} + > + <MediaTitle title={manga.title} /> + </span> + </a> + {#if $settings.displaySocialButton} + [<a href={`https://anilist.co/manga/${manga.id}/social`} target="_blank">S</a>] + {/if} + <span style="opacity: 50%;">|</span> + {pendingUpdate === manga.id ? progress + 1 : progress}{#if !due} + <span style="opacity: 50%;">/{manga.chapters || '?'}</span> + {/if} + <a + href={'#'} + style={pendingUpdate === manga.id ? 'pointer-events: none; opacity: 50%;' : ''} + on:click={() => + pendingUpdate === manga.id + ? null + : updateMedia(manga.id, manga.mediaListEntry?.progress, media)} > - <MediaTitle title={manga.title} /> - </span> - </a> - {#if $settings.displaySocialButton} - [<a href={`https://anilist.co/manga/${manga.id}/social`} target="_blank">S</a>] - {/if} - <span style="opacity: 50%;">|</span> - {pendingUpdate === manga.id ? progress + 1 : progress}{#if !due} - <span style="opacity: 50%;">/{manga.chapters || '?'}</span> - {/if} - <a - href={'#'} - style={disableIncrement ? 'pointer-events: none; opacity: 50%;' : ''} - on:click={() => - disableIncrement ? null : updateMedia(manga.id, manga.mediaListEntry?.progress, media)} - > - + - </a> - {#if due || manga.episodes !== manga.chapters} - [{manga.episodes || '?'}] - {#await volumeCount(manga) then volumes} - {@const volumeProgress = manga.mediaListEntry?.progressVolumes} - {#if volumes !== null && (volumeProgress || 0) < volumes} - <span style="color: lightcoral;"> - Vol. {volumeProgress} → {volumes} - </span> - {/if} - {/await} - {/if} - </li> + + + </a> + {#if due || manga.episodes !== manga.chapters} + [{manga.episodes || '?'}] + {#await volumeCount(manga) then volumes} + {@const volumeProgress = manga.mediaListEntry?.progressVolumes} + {#if volumes !== null && (volumeProgress || 0) < volumes} + <span style="color: lightcoral;"> + Vol. {volumeProgress} → {volumes} + </span> + {/if} + {/await} + {/if} + </li> + {/if} {/each} </ul> diff --git a/src/lib/List/Manga/MangaListTemplate.svelte b/src/lib/List/Manga/MangaListTemplate.svelte index fa93e56a..f4aa4c21 100644 --- a/src/lib/List/Manga/MangaListTemplate.svelte +++ b/src/lib/List/Manga/MangaListTemplate.svelte @@ -145,7 +145,6 @@ {endTime} {lastUpdatedMedia} {updateMedia} - disableIncrement {pendingUpdate} {due} /> @@ -163,7 +162,6 @@ {endTime} {lastUpdatedMedia} {updateMedia} - disableIncrement {pendingUpdate} {due} /> |