blob: f279a58e355d80a84fbd819014f0d60e9c0d96cc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
<script>
import Notice from "$lib/Error/Notice.svelte";
import Message from "$lib/Loading/Message.svelte";
import MangaDexChapters from "$lib/Reader/Chapters/MangaDex.svelte";
import RawkumaChapters from "$lib/Reader/Chapters/Rawkuma.svelte";
import {
decodeResource,
fetchResource,
identify,
Resource,
} from "$lib/Reader/resource";
import InputTemplate from "$lib/Tools/InputTemplate.svelte";
import locale from "$stores/locale";
let submission = "";
$: resourceIdentity = identify(submission);
</script>
<InputTemplate
field={$locale().reader?.mangaUrl ?? 'Manga URL'}
bind:submission
submitText={$locale().reader?.read ?? 'Read'}
preserveCase
>
{#if resourceIdentity}
{#await fetchResource(submission)}
<Message message={$locale().reader?.loadingChapters} />
{:then response}
{#if response.ok}
{#await decodeResource(response, submission) then data}
{#if resourceIdentity === Resource.MangaDex}
<MangaDexChapters {data} />
{:else if resourceIdentity === Resource.Rawkuma}
<RawkumaChapters {data} />
{/if}
{:catch error}
<Notice>{error}</Notice>
{/await}
{:else}
<Notice>{$locale().reader?.fetchFailed}</Notice>
{/if}
{:catch}
<Notice>{$locale().reader?.unknownError}</Notice>
{/await}
{:else}
<Notice>{$locale().reader?.invalidUrl}</Notice>
{/if}
</InputTemplate>
|