debugfest/mern-book-tracker

Feature Request: Build Book List UI with Empty-State and Loading

開放

#2 建立於 2025年10月11日

 (0 則留言) (0 個反應) (0 位負責人)TypeScript (5 個分叉)auto 404
enhancementgood first issuehacktoberfest

倉庫指標

星標
 (0 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

The app currently lacks a proper interface for viewing books. We need a Book List component that displays books in a clean grid or list layout. The UI should handle all states — loading, populated, and empty — for a complete user experience.

🎯 Proposed Solution

  • Create BookList.tsx in App/src/components/.
  • Fetch books from /api/books using Axios or Fetch API.
  • Implement three UI states:
    • Loading: show skeleton or spinner.
    • Empty: show a message and a CTA button (“Add your first book”).
    • Loaded: display grid of book cards (title, author, year, status).

✅ Expected Behavior

  • Book list renders accurately once data is fetched.
  • Empty state displays a friendly message and “Add Book” button.
  • Loading spinner appears while fetching data.

💻 Technical Notes

  • Use React state (useState, useEffect) for API handling.
  • Utilize Tailwind grid utilities for responsive layout.
  • Consider reusable BookCard component for each book entry.

🧪 Test Steps

  1. Load /books route.
  2. Observe the spinner during loading.
  3. Check empty state if no data.
  4. Add a book and verify it appears in the list.

貢獻者指南