You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.3 KiB

+++ title = "Implement Author page (/author/:name) — paginated list of quotes by a single author" priority = 5 status = "in_progress" ticket_type = "task" dependencies = ["04f865", "1e6a09", "0d987f", "2c5a57", "d3d502", "fc2f51", "0fbdd5"] +++

The `quotesdb` UI is a Yew (Rust → Wasm) single-page app compiled by Trunk and hosted on Cloudflare Pages. It communicates with the backend API via `fetch` calls. Source lives in `src/bin/ui/`. Run with `trunk serve` for local development.

The Author page (/author/:name) shows all quotes by a specific author, paginated.

Implement the Author page component (`src/bin/ui/pages/author.rs`): 1. Extract `:name` from the route 2. Fetch quotes from `GET /api/quotes?author=:name&page=N` 3. Render the author name as a heading 4. Render each quote with `QuoteCard` 5. Render `Pagination` for prev/next navigation 6. Render `ErrorDisplay` on error - Author name in the URL may be URL-encoded — decode it before using in the API call and heading. - Page is tracked in the URL query string (`?page=N`). From the `quotesdb/` directory:
trunk build
`feat(quotesdb): implement Author page — paginated quotes by author`