debugfest/mern-book-tracker
Feature Request: Build Book List UI with Empty-State and Loading
开放
#2 创建于 2025年10月11日
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.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.