+
+
+
+
+
+
+ {#if heroThumb}
+
+ {:else}
+
+ {/if}
+
+
+
+
+ {#if heroThumb}
+

+ {:else}
+
+
+
+ {/if}
+
+
+
+
+ {#if activeSlot?.kind === "empty"}
+
Slot empty
+
+ {activeSlot.slotIndex === 0
+ ? "Start reading a manga to see it here"
+ : "Pin a manga or read more to fill this slot"}
+
+ {#if activeSlot.slotIndex !== 0}
+
+ {/if}
+ {:else}
+
+
+
+
{heroTitle}
+
+ {#if heroManga?.author}
+
{heroManga.author}
+ {/if}
+
+ {#if heroEntry}
+
+
+ {heroEntry.chapterName}
+ {#if heroEntry.pageNumber > 1}· p.{heroEntry.pageNumber}{/if}
+ {timeAgo(heroEntry.readAt)}
+
+ {/if}
+
+ {#if heroManga?.description}
+
{heroManga.description}
+ {/if}
+
+
+
+ {#if activeSlot?.kind === "continue"}
+
+ {:else}
+
+ {/if}
+ {#if activeSlot?.slotIndex !== 0}
+ {#if activeSlot?.kind === "pinned"}
+
+ {:else}
+
+ {/if}
+ {/if}
+
+ {/if}
+
+
+
+
+
+
+
+
+ {#each resolvedSlots as slot, i}
+
+ {/each}
+
+
+
+
{activeIdx + 1} / {TOTAL_SLOTS}
+
+
+
+
+
+ {#if hasStats}
+
+
+
+ {stats.currentStreakDays}
+ day streak
+
+
+
+
+ {stats.totalChaptersRead}
+ chapters
+
+
+
+
+ {formatReadTime(stats.totalMinutesRead)}
+ read time
+
+
+
+
+ {stats.totalMangaRead}
+ series
+
+
+
+
+ {stats.longestStreakDays}d
+ best streak
+
+
+ {/if}
+
+
+ {#if completedIds.length > 0 && completedManga.length > 0}
+
+
+
+ {#each completedManga as m (m.id)}
+
+ {/each}
+
+
+
+ {/if}
+
+
+ {#if recentHistory.length > 0}
+
+
+
+ {#each recentHistory as entry (entry.chapterId)}
+
+ {/each}
+
+
+ {:else}
+
+
Start reading to see activity here
+
+
+ {/if}
+
+