Ledger: search restyle keeping htmx pagination #45

Closed
opened 2026-10-03 11:00:55 +02:00 by Augspies · 0 comments
Owner

Part of: Ledger Redesign — spec §4, §7 · corrected: the search templates are Wagtail starter stubs ("ADD YOUR CONTENT") — there is no existing htmx pagination to keep; this issue builds the search page

Goal: Build the search page in Ledger style with htmx-powered results and pagination.

Files: apps/search/templates/search/*, apps/search/views.py if it needs an HX-partial branch, CSS

Acceptance:

  • Results as ruled entries (mono index, Marcellus title, muted excerpt from search_description)
  • Pagination partial (search_pagination.html) uses hx-get/hx-target/hx-push-url for page swaps; plain links remain as the no-JS fallback
  • Search form submits with hx-get to the existing search/ route; django_htmx detects the partial and returns results + pagination only
  • Empty state ("No results for …") styled with a helpful next step
  • Existing search tests updated (view may need an HX-partial branch)
  • All strings trans; utilities only (spec §6); 900px breakpoint (spec §9)

Notes: htmx is available since #43 via {% htmx_script %} in base.html (django-htmx static files, expatgibs pattern). The search view lives in apps/search/views.py.

**Part of:** Ledger Redesign — spec §4, §7 · corrected: the search templates are Wagtail starter stubs ("ADD YOUR CONTENT") — there is no existing htmx pagination to keep; this issue **builds** the search page **Goal:** Build the search page in Ledger style with htmx-powered results and pagination. **Files:** `apps/search/templates/search/*`, `apps/search/views.py` if it needs an HX-partial branch, CSS **Acceptance:** - [ ] Results as ruled entries (mono index, Marcellus title, muted excerpt from `search_description`) - [ ] Pagination partial (`search_pagination.html`) uses `hx-get`/`hx-target`/`hx-push-url` for page swaps; plain links remain as the no-JS fallback - [ ] Search form submits with `hx-get` to the existing `search/` route; `django_htmx` detects the partial and returns results + pagination only - [ ] Empty state ("No results for …") styled with a helpful next step - [ ] Existing search tests updated (view may need an HX-partial branch) - [ ] All strings trans; utilities only (spec §6); 900px breakpoint (spec §9) **Notes:** htmx is available since #43 via `{% htmx_script %}` in `base.html` (django-htmx static files, expatgibs pattern). The search view lives in `apps/search/views.py`.
Sign in to join this conversation.
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Augspies/virtual-attorney#45
No description provided.