diff options
| author | Fuwn <[email protected]> | 2024-10-09 00:41:20 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-10-09 00:41:43 -0700 |
| commit | 998b63a35256ac985a5a2714dd1ca451af4dfd8a (patch) | |
| tree | 50796121a9d5ab0330fdc5d7e098bda2860d9726 /src/lib/List/Manga/CleanMangaList.svelte | |
| parent | feat(graphql): add badgeCount field (diff) | |
| download | due.moe-998b63a35256ac985a5a2714dd1ca451af4dfd8a.tar.xz due.moe-998b63a35256ac985a5a2714dd1ca451af4dfd8a.zip | |
chore(prettier): use spaces instead of tabs
Diffstat (limited to 'src/lib/List/Manga/CleanMangaList.svelte')
| -rw-r--r-- | src/lib/List/Manga/CleanMangaList.svelte | 284 |
1 files changed, 142 insertions, 142 deletions
diff --git a/src/lib/List/Manga/CleanMangaList.svelte b/src/lib/List/Manga/CleanMangaList.svelte index be02bace..dfaa187c 100644 --- a/src/lib/List/Manga/CleanMangaList.svelte +++ b/src/lib/List/Manga/CleanMangaList.svelte @@ -1,166 +1,166 @@ <script lang="ts"> - import type { Media } from '$lib/Data/AniList/media'; - import Error from '$lib/Error/RateLimited.svelte'; - import { volumeCount } from '$lib/Media/Manga/volumes'; - import settings from '$stores/settings'; - import ListTitle from '../ListTitle.svelte'; - import { onMount } from 'svelte'; - import root from '$lib/Utility/root'; - import locale from '$stores/locale'; - import Skeleton from '$lib/Loading/Skeleton.svelte'; - import { browser } from '$app/environment'; - import proxy from '$lib/Utility/proxy'; - import '../covers.css'; - import CleanGrid from '../CleanGrid.svelte'; - import CleanList from '../CleanList.svelte'; + import type { Media } from '$lib/Data/AniList/media'; + import Error from '$lib/Error/RateLimited.svelte'; + import { volumeCount } from '$lib/Media/Manga/volumes'; + import settings from '$stores/settings'; + import ListTitle from '../ListTitle.svelte'; + import { onMount } from 'svelte'; + import root from '$lib/Utility/root'; + import locale from '$stores/locale'; + import Skeleton from '$lib/Loading/Skeleton.svelte'; + import { browser } from '$app/environment'; + import proxy from '$lib/Utility/proxy'; + import '../covers.css'; + import CleanGrid from '../CleanGrid.svelte'; + import CleanList from '../CleanList.svelte'; - export let media: Media[]; - export let cleanCache: () => void; - export let endTime: number; - export let lastUpdatedMedia: number; - export let updateMedia: ( - id: number, - progress: number | undefined, - media: Media[] - ) => Promise<void>; - export let pendingUpdate: number | null; - export let due: boolean; - export let rateLimited: boolean; - export let authorised: boolean; - export let dummy = false; + export let media: Media[]; + export let cleanCache: () => void; + export let endTime: number; + export let lastUpdatedMedia: number; + export let updateMedia: ( + id: number, + progress: number | undefined, + media: Media[] + ) => Promise<void>; + export let pendingUpdate: number | null; + export let due: boolean; + export let rateLimited: boolean; + export let authorised: boolean; + export let dummy = false; - let serviceStatusResponse: Promise<Response>; + let serviceStatusResponse: Promise<Response>; - onMount(() => { - serviceStatusResponse = fetch(proxy('https://api.mangadex.org/ping')); + onMount(() => { + serviceStatusResponse = fetch(proxy('https://api.mangadex.org/ping')); - if (browser) - localStorage.setItem(`last${due ? '' : 'Completed'}MangaListLength`, media.length.toString()); - }); + if (browser) + localStorage.setItem(`last${due ? '' : 'Completed'}MangaListLength`, media.length.toString()); + }); - const increment = (manga: Media) => { - if (!(pendingUpdate === manga.id || dummy)) - updateMedia(manga.id, manga.mediaListEntry?.progress, media); - }; + const increment = (manga: Media) => { + if (!(pendingUpdate === manga.id || dummy)) + updateMedia(manga.id, manga.mediaListEntry?.progress, media); + }; </script> {#if authorised} - <ListTitle - count={media.length} - time={endTime / 1000} - title={due - ? $locale().lists.due.mangaAndLightNovels - : $locale().lists.completed.mangaAndLightNovels} - hideTime={dummy} - hideCount={dummy} - > - {#if !dummy} - <button - class="small-button" - title="Force a full refresh" - on:click={cleanCache} - data-umami-event="Force Refresh Manga">Refresh</button - > - {/if} - </ListTitle> + <ListTitle + count={media.length} + time={endTime / 1000} + title={due + ? $locale().lists.due.mangaAndLightNovels + : $locale().lists.completed.mangaAndLightNovels} + hideTime={dummy} + hideCount={dummy} + > + {#if !dummy} + <button + class="small-button" + title="Force a full refresh" + on:click={cleanCache} + data-umami-event="Force Refresh Manga">Refresh</button + > + {/if} + </ListTitle> {/if} {#if rateLimited} - {#await serviceStatusResponse} - <Skeleton card={false} count={1} height="0.9rem" list /> - {:then status} - {#if status} - {#if status.status === 503} - <a href="https://due.moe">due.moe</a>'s manga data source is currently down for maintenance. - Please check back later. - {:else if status.status !== 200} - <a href="https://due.moe">due.moe</a>'s manga data source is currently unavailable. Please - check back later. - {:else} - <Error /> - {/if} - {:else} - <Skeleton card={false} count={1} height="0.9rem" list /> - {/if} - {:catch} - <a href="https://due.moe">due.moe</a>'s manga data source is currently unreachable. Please check - back later. - {/await} + {#await serviceStatusResponse} + <Skeleton card={false} count={1} height="0.9rem" list /> + {:then status} + {#if status} + {#if status.status === 503} + <a href="https://due.moe">due.moe</a>'s manga data source is currently down for maintenance. + Please check back later. + {:else if status.status !== 200} + <a href="https://due.moe">due.moe</a>'s manga data source is currently unavailable. Please + check back later. + {:else} + <Error /> + {/if} + {:else} + <Skeleton card={false} count={1} height="0.9rem" list /> + {/if} + {:catch} + <a href="https://due.moe">due.moe</a>'s manga data source is currently unreachable. Please check + back later. + {/await} {/if} {#if media.length === 0 && !rateLimited} - {#if rateLimited} - <p /> - {/if} + {#if rateLimited} + <p /> + {/if} - <p> - No manga to display. <button on:click={cleanCache} data-umami-event="Force Refresh No Manga" - >Force refresh</button - > - </p> + <p> + No manga to display. <button on:click={cleanCache} data-umami-event="Force Refresh No Manga" + >Force refresh</button + > + </p> - <span> - Don't read manga? <button - on:click={() => ($settings.disableManga = true)} - data-umami-event="Disable No Manga">Hide the manga panel</button - > - You can re-enable it later in the <a href={root('/settings')}>Settings</a>. - </span> + <span> + Don't read manga? <button + on:click={() => ($settings.disableManga = true)} + data-umami-event="Disable No Manga">Hide the manga panel</button + > + You can re-enable it later in the <a href={root('/settings')}>Settings</a>. + </span> {/if} {#if $settings.displayCoverModeManga || dummy} - <CleanGrid {media} {dummy} type="manga"> - <div slot="title" let:title={manga} let:progress> - {pendingUpdate === manga.id ? progress + 1 : progress}{#if !due} - <span class="opaque">/{manga.chapters || '?'}</span> - {/if} - <button - class={`button-square button-action ${pendingUpdate === manga.id ? 'opaque' : ''}`} - style={pendingUpdate === manga.id ? 'pointer-events: none;' : ''} - on:click={() => increment(manga)} - > - + - </button> - {#if due || Math.floor(manga.episodes) < manga.chapters} - [{manga.episodes || '?'}] - {#await volumeCount(manga) then volumes} - {@const volumeProgress = manga.mediaListEntry?.progressVolumes} + <CleanGrid {media} {dummy} type="manga"> + <div slot="title" let:title={manga} let:progress> + {pendingUpdate === manga.id ? progress + 1 : progress}{#if !due} + <span class="opaque">/{manga.chapters || '?'}</span> + {/if} + <button + class={`button-square button-action ${pendingUpdate === manga.id ? 'opaque' : ''}`} + style={pendingUpdate === manga.id ? 'pointer-events: none;' : ''} + on:click={() => increment(manga)} + > + + + </button> + {#if due || Math.floor(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} - </div> - </CleanGrid> + {#if volumes !== null && (volumeProgress || 0) < volumes} + <span style="color: lightcoral;"> + Vol. {volumeProgress} → {volumes} + </span> + {/if} + {/await} + {/if} + </div> + </CleanGrid> {:else} - <CleanList {media} type="manga" {lastUpdatedMedia}> - <span slot="information" let:title={manga} let:progress> - <span class="opaque">|</span> - {pendingUpdate === manga.id ? progress + 1 : progress}{#if !due} - <span class="opaque">/{manga.chapters || '?'}</span> - {/if} - <button - class={`button-square button-action ${pendingUpdate === manga.id ? 'opaque' : ''}`} - style={pendingUpdate === manga.id ? 'pointer-events: none;' : ''} - on:click={() => increment(manga)} - > - + - </button> - {#if due || Math.floor(manga.episodes) < manga.chapters} - [{manga.episodes || '?'}] - {#await volumeCount(manga) then volumes} - {@const volumeProgress = manga.mediaListEntry?.progressVolumes} + <CleanList {media} type="manga" {lastUpdatedMedia}> + <span slot="information" let:title={manga} let:progress> + <span class="opaque">|</span> + {pendingUpdate === manga.id ? progress + 1 : progress}{#if !due} + <span class="opaque">/{manga.chapters || '?'}</span> + {/if} + <button + class={`button-square button-action ${pendingUpdate === manga.id ? 'opaque' : ''}`} + style={pendingUpdate === manga.id ? 'pointer-events: none;' : ''} + on:click={() => increment(manga)} + > + + + </button> + {#if due || Math.floor(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} - </span> - </CleanList> + {#if volumes !== null && (volumeProgress || 0) < volumes} + <span style="color: lightcoral;"> + Vol. {volumeProgress} → {volumes} + </span> + {/if} + {/await} + {/if} + </span> + </CleanList> {/if} |