Enhance UI/UX for book info and discover pages
All checks were successful
Release / Test backend (push) Successful in 57s
Release / Check ui (push) Successful in 54s
Release / Docker (push) Successful in 4m24s
Release / Deploy to prod (push) Successful in 2m14s
Release / Gitea Release (push) Successful in 27s

Book Info Page Improvements:
- Add quick stats row (chapters, rating, readers)
- Enhance author display with better typography
- Improve genre tags with amber-branded pills
- Add green badge for 'ongoing' status
- Wrap summary in card with better styling
- Enhance 'More' button with proper design
- Improve StarRating component to show rating more prominently

Discover Page Improvements:
- Add progress bar showing completion through deck
- Enhance keyboard shortcuts with visual kbd elements
- Improve empty state with better visuals and CTA hierarchy
- Enhance toast notifications with icons and color-coded backgrounds
- Add auto-dismiss for toast (4s timeout)
- Improve preferences modal button labels
- Add undo functionality for last vote
- Better stat display (X of Y remaining)

All changes maintain consistency with LibNovel's design system.
This commit is contained in:
Admin
2026-04-16 14:19:54 +05:00
parent 71a628673d
commit f24720b087
3 changed files with 210 additions and 72 deletions

View File

@@ -16,7 +16,7 @@
const display = $derived(hovered || rating || 0);
</script>
<div class="flex items-center gap-1">
<div class="flex items-center gap-2">
<div class="flex items-center gap-0.5">
{#each [1,2,3,4,5] as star}
<button
@@ -44,10 +44,13 @@
</button>
{/each}
</div>
{#if avg && count}
<span class="text-xs text-(--color-muted) ml-1">{avg} ({count})</span>
{:else if avg}
<span class="text-xs text-(--color-muted) ml-1">{avg}</span>
{#if count > 0}
<div class="flex flex-col">
<span class="text-sm font-semibold text-(--color-text)">{avg.toFixed(1)}</span>
<span class="text-xs text-(--color-muted) leading-none">{count} {count === 1 ? 'rating' : 'ratings'}</span>
</div>
{:else if !readonly}
<span class="text-xs text-(--color-muted)">Rate this book</span>
{/if}
</div>