debugfest/mern-book-tracker
Feature Request: Build Book List UI with Empty-State and Loading
Aperta
#2 aperta il 11 ott 2025
enhancementgood first issuehacktoberfest
Metriche repository
- Star
- (0 stelle)
- Metriche merge PR
- (Metriche PR in attesa)
Descrizione
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.tsxinApp/src/components/. - Fetch books from
/api/booksusing 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
BookCardcomponent for each book entry.
🧪 Test Steps
- Load
/booksroute. - Observe the spinner during loading.
- Check empty state if no data.
- Add a book and verify it appears in the list.