diff --git a/src/global.d.ts b/src/global.d.ts index fa50669..0842d5e 100644 --- a/src/global.d.ts +++ b/src/global.d.ts @@ -5,4 +5,7 @@ declare namespace App { message: string; code: string; } + interface Window { + goatcounter: any; + } } \ No newline at end of file diff --git a/src/lib/components/artList.svelte b/src/lib/components/artList.svelte index fc9b4ac..e83a1c0 100644 --- a/src/lib/components/artList.svelte +++ b/src/lib/components/artList.svelte @@ -1,5 +1,5 @@ + + +
+ {#each chapters as entry (entry.title)} +
+ +
+ {/each} +
+ + + \ No newline at end of file diff --git a/src/lib/components/item.svelte b/src/lib/components/item.svelte index 09a9acb..e7fffe0 100644 --- a/src/lib/components/item.svelte +++ b/src/lib/components/item.svelte @@ -1,6 +1,5 @@ @@ -500,28 +589,79 @@ >
-
-
- -

- {text} -

-
- - {#if queue.length > 0} + {#if queue && queue.length > 0}

{queue.length} downloads queued.

{/if} - +
- - - -
-
+
+
+
+ +

+ {text} +

+
+ +
+
+
+ Format + + + +
+
+ Cover art + + + +
+
+ Split files + + + + +
+
+

Splitting into multiple files may require browser permission.

+

Preview

+ + + + {#await previewItems(selected, group, coverArt, format)} +
Loading preview...
+ {:then items} + + {/await}
@@ -548,7 +688,7 @@ {#each chapters.data as chapter} - = parseInt(chapter.attributes.chapter)} progress={(progressMap.get(chapter.id) || 0) / chapter.attributes.pages} {chapter} disabledDownload={!!progress} selected={selected.includes(chapter)} on:select={() => select(chapter)} on:download={() => downloadSingle(chapter)} /> + = parseInt(chapter.attributes.chapter)} progress={(progressMap.get(chapter.id) || 0) / chapter.attributes.pages} {chapter} disabledDownload={!!progress} selected={selected.includes(chapter)} on:select={() => select(chapter)} /> {/each}
@@ -556,7 +696,7 @@
-
+
@@ -583,6 +723,7 @@ {#if manga.links.al} Anilist
{/if} + Mangadex.org
{#if manga.links.ap} Animeplanet
{/if} @@ -613,8 +754,6 @@ {#if manga.links.engtl} engtl
{/if} - - Mangadex.org
{/if}
@@ -653,7 +792,6 @@ } .langs { display: flex; - gap: 0.5rem; margin: 0 1rem; overflow-x: auto; } @@ -664,6 +802,9 @@ color: white; border: none; cursor: pointer; + + margin: 5px; + padding: 5px; } .langs button.enabled { background: rgb(107, 107, 107); @@ -866,14 +1007,14 @@ margin-block-start: 0; margin-block-end: 0; padding: 10px; - background: rgb(214, 214, 214); + background: rgb(64,64,64); border-radius: 5px 0 5px 5px; } :global(.dark main > .copyright.copyright.copyright) { background: rgb(64, 64, 64); } .copyright-header { - background: rgb(214, 214, 214); + background: rgb(64,64,64); padding: 10px; border-radius: 5px; user-select: none; @@ -885,18 +1026,6 @@ .copyright-header-active { border-radius: 5px 5px 0 0; } - .download { - display: flex; - width: 100%; - margin-top: 5px; - } - .download select { - flex-grow: 1; - margin-inline: 5px; - } - .download button { - margin-inline: 5px; - } main { font-size: 1.1rem; position: relative; @@ -917,28 +1046,37 @@ .state { border-radius: 10px; - border-width: 4px; - border-style: solid; padding: 10px; position: relative; transition: all .3s; + flex-grow: 1; } :global(.dark .state) { color: black; } + .download .status { + display: flex; + gap: 1rem; + } + .download .options { + display: flex; + gap: 1rem; + } + .download .note { + font-size: 0.8rem; + color: rgb(175, 175, 175); + } .state.idle { - background: rgb(140, 209, 255); - border-color: rgb(77, 184, 255); + background: transparent; + color: white; } .state.active { background: rgb(255, 255, 81); - border-color: yellow; } .state.error { background: rgb(255, 103, 103); - border-color: rgb(255, 59, 59); } .state p { @@ -957,6 +1095,6 @@ border-bottom-left-radius: 10px; } .state.active .progress { - background: rgb(140, 209, 255); + background: rgba(255,255,255, .1); }