aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-04 13:42:59 -0800
committerFuwn <[email protected]>2023-12-04 13:42:59 -0800
commitd2b07fe58e3799f024c0301e71a6b80808ca07c6 (patch)
tree07cc3a7cb664b37c6849bff29605a790cb21854d /src/lib
parentfeat(settings): verbiage (diff)
downloaddue.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.svelte1
-rw-r--r--src/lib/List/Anime/CleanAnimeList.svelte106
-rw-r--r--src/lib/List/Manga/CleanMangaList.svelte77
-rw-r--r--src/lib/List/Manga/MangaListTemplate.svelte2
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} &#8594; {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} &#8594; {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}
/>