Commit Graph
3 Commits
Author SHA1 Message Date
john-okeefe 9a60196f1d docs(user): update dashboard and bookshelf instructions for sidebar UI
Dashboard:
- Customize Dashboard is opened from the icon button at the right end
  of the Library bar (next to Refresh), and requires a specific library
  selected rather than 'All Libraries'
- Library switching uses the Library dropdown in the bar below the top
  bar (includes 'All Libraries' with counts)
- Collection sections are shown/hidden from the Customize Dashboard
  toggles — the per-collection 'Show on Dashboard' setting is gone
- Mention the hover chevrons for scrolling carousels

Bookshelf:
- Saved filters: document the new toolbar buttons — Filters (opens the
  filter drawer with Apply Filters, Esc, and overlay-click close), Save,
  Load (Saved Filters dropdown with trash-icon delete), and Clear —
  replacing the emoji-labelled Save Filter / Saved Filters buttons
- Tag filtering: filters now live behind the Filters drawer on the All
  Books page
2026-08-20 14:30:05 -04:00
john-okeefe 54d3ae785a docs: add GET /:id endpoint documentation and update implementation plan
Add comprehensive documentation for GET /api/saved-filters/:id endpoint
including Bruno API collection, developer API docs, user documentation,
and implementation plan with frontend integration phase.

Bruno API Collection (bruno/saved-filters/Get Saved Filter By ID.yml):
- New Bruno request file for GET /:id endpoint
- Includes comprehensive documentation with examples
- Documents all status codes (200, 400, 401, 404)
- Provides example curl commands and use cases
- Uses variable placeholders ({{base_url}}, {{filter_id}})
- Follows existing Bruno YAML patterns

API Documentation (docs/developer/api/saved-filters/index.md):
- Added GET /api/saved-filters/:id endpoint documentation
- Example request with UUID parameter
- Example response showing filter object structure
- Error responses documented (400, 401, 404)
- Use cases: Mobile apps, SPAs, editing, verification

User Documentation (docs/user/library-browsing.md):
- Updated "Loading Saved Filters" section
- Removed "feature coming soon" language
- Added step-by-step instructions for loading filters
- Added tips section with visual indicators
- Added "Managing Saved Filters" section
- Added "Common Use Cases" (genre, author, series)
- Emphasizes instant feedback (no page reload)

Implementation Plan (GET_SAVED_FILTER_BY_ID_IMPLEMENTATION.md):
- Added Phase 7: User Documentation Update
- Added Phase 8: Frontend Integration (bookshelf.ts)
  - Shows loadFilter() implementation
  - Hybrid Alpine.js + HTMX approach
  - Maintains SSR-first principles
  - API call on user interaction, not page load
  - Populates hidden form fields
  - Triggers HTMX to apply filter
- Updated Summary of Changes: 7 files, ~344 lines
- Updated Checklist with frontend and user docs tasks
- Added frontend testing tasks

SSR-First Compliance:
- Initial page load: Server renders everything (no API calls)
- User interaction only: API called when user clicks filter
- No async x-init data fetching
- Progressive enhancement maintained

Documentation Structure:
- Developer docs: API reference for integration
- User docs: Step-by-step usage instructions
- Bruno: API contract testing
- Implementation plan: Complete development guide

All documentation follows established patterns and includes examples.
2026-03-21 22:37:30 -04:00
john-okeefe fb8ba3d20c docs(saved-filters): add comprehensive API and user documentation
Add complete documentation for saved filters feature including
API reference, usage examples, and user guides.

Developer Documentation (docs/developer/api/saved-filters/):
- API overview and design principles
- RESTful endpoint reference (GET, POST, PUT, DELETE)
- Request/response examples with JSON schemas
- Authentication and authorization details
- Error response documentation
- Query parameter reference
- Validation rules and constraints
- Status code reference
- cURL examples for each endpoint

User Documentation (docs/user/library-browsing.md):
- How to save custom filters on bookshelf page
- Loading saved filters
- Filter privacy (user-specific)
- Step-by-step instructions with screenshots placeholders
- Use cases and examples

API Endpoints Documented:
- GET /api/saved-filters?resource_type=X
- POST /api/saved-filters
- PUT /api/saved-filters/:id
- DELETE /api/saved-filters/:id

Documentation Sections:
1. Overview and purpose
2. Authentication requirements
3. Request/response formats
4. Query parameters
5. Request body schemas
6. Response examples
7. Error handling
8. Status codes
9. cURL examples
10. User guide integration

Code Examples:
- Bash/cURL commands for each endpoint
- JSON request/response examples
- Error response examples
- Authentication header examples

Standards Compliance:
- Matches OpenAPI/Swagger patterns
- Includes all HTTP methods
- Documents all query parameters
- Error codes and messages documented
- Security considerations included

User Experience:
- Clear step-by-step instructions
- Real-world usage examples
- Privacy and security explained
- Troubleshooting tips

Part of: Saved Filters Implementation (Phase 5: Documentation)
Related: #saved-filters-feature
2026-03-21 00:16:23 -04:00