Skip to content

feat(api,ui): browse mode — paginated grid view per integration #26

@strausmann

Description

@strausmann

Implements ADR 0013 — browse mode part.

Backend

  • GET /api/lookup/snipeit?page=1&page_size=24&category=…&sort=name (paginated list)
  • GET /api/lookup/grocy?page=1&page_size=24&location=…&sort=name
  • GET /api/lookup/spoolman?page=1&page_size=24&material=…&sort=name
  • All return {items: [...], page, page_size, total, next_cursor?} with stable ordering
  • Filters per integration (Snipe-IT category, Grocy location, Spoolman material/vendor)

Frontend

  • Browse tab UI with grid layout (mobile 2-col, desktop 4-col)
  • Tile shows: image (or placeholder), title, ID
  • Infinite scroll OR pagination controls
  • Tap a tile → item detail view (separate issue: detail view + layout dropdown)
  • Loading states, empty states, error states

Acceptance

  • Sort is stable (no duplicate items between pages)
  • Pagination works on phone + desktop
  • Empty state shows helpful message

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:apiREST API + SSE endpointsarea:uiUser interface, HTMX componentspriority:mediumNormal prioritytype:featureNew feature or enhancement

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions