libnovel

{data.stats.totalBooks}

Books

{data.stats.totalChapters.toLocaleString()}

Chapters

{data.stats.booksInProgress}

In progress

{#if data.continueReading.length > 0}

Continue Reading

View all
{#each data.continueReading as { book, chapter }}
{#if book.cover} {book.title} {:else}
{/if} ch.{chapter}

{book.title ?? ''}

{#if book.author}

{book.author}

{/if}
{/each}
{/if} {#if data.recentlyUpdated.length > 0}

Recently Updated

View all
{#each data.recentlyUpdated as book} {@const genres = parseGenres(book.genres)}
{#if book.cover} {book.title} {:else}
{/if}

{book.title ?? ''}

{#if book.author}

{book.author}

{/if} {#if book.status} {book.status} {/if} {#if genres.length > 0}
{#each genres.slice(0, 2) as genre} {genre} {/each}
{/if}
{/each}
{/if} {#if data.continueReading.length === 0 && data.recentlyUpdated.length === 0}

Your library is empty

Discover novels and scrape them into your library.

Discover Novels
{/if} {#if data.subscriptionFeed.length > 0}

From People You Follow

{#each data.subscriptionFeed as { book, readerUsername }} {@const genres = parseGenres(book.genres)}
{#if book.cover} {book.title} {:else}
{/if}

{book.title ?? ''}

{#if book.author}

{book.author}

{/if}

via {readerUsername}

{#if genres.length > 0}
{#each genres.slice(0, 1) as genre} {genre} {/each}
{/if}
{/each}
{/if}