diff options
| author | Fuwn <[email protected]> | 2024-02-01 01:45:59 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2024-02-01 01:45:59 -0800 |
| commit | ff6a116b398edaede02fd1e7c6bb9eb5dfc35a24 (patch) | |
| tree | a5e6cc5fc1dae33511308cdd4bc47d655c439513 /src/routes | |
| parent | feat(activityhistory): use popup login alert (diff) | |
| download | due.moe-ff6a116b398edaede02fd1e7c6bb9eb5dfc35a24.tar.xz due.moe-ff6a116b398edaede02fd1e7c6bb9eb5dfc35a24.zip | |
feat(reader): add reader beta
Diffstat (limited to 'src/routes')
| -rw-r--r-- | src/routes/reader/+page.svelte | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/routes/reader/+page.svelte b/src/routes/reader/+page.svelte new file mode 100644 index 00000000..96c41754 --- /dev/null +++ b/src/routes/reader/+page.svelte @@ -0,0 +1,48 @@ +<script> + import InputTemplate from '$lib/Tools/InputTemplate.svelte'; + + let submission = ''; + + $: mangaDexID = submission.match(/(?<=\/title\/)(.*?)(?=\/)/g); +</script> + +<InputTemplate field="MangaDex URL" bind:submission submitText="Read"> + {#if mangaDexID} + {#await fetch(`https://api.mangadex.org/manga/${mangaDexID}/feed?order[chapter]=desc&translatedLanguage[]=en`) then response} + {#if response.ok} + {#await response.json() then data} + {#if data.data} + <ul> + {#each data.data as chapter} + <li> + {#if chapter.attributes.volume} + Vol. {chapter.attributes.volume} + {/if} + Ch. {chapter.attributes.chapter} + <span class="true-opaque">|</span> + <a + href={`https://mangadex.org/chapter/${chapter.id}`} + target="_blank" + rel="noopener noreferrer" + > + {chapter.attributes.title} + </a> + </li> + {/each} + </ul> + {:else} + <p class="true-opaque">(⌣_⌣”)</p> + {/if} + {:catch error} + {error} + {/await} + {:else} + Invalid URL + {/if} + {:catch error} + {error} + {/await} + {:else} + Invalid URL + {/if} +</InputTemplate> |