Commit Graph

27 Commits

Author SHA1 Message Date
jason
b8633863b0 fix: add pagination to unbounded GET endpoints
All list endpoints now accept ?page and ?limit (default 50, max 200) and
return { data, total, page, limit } instead of a bare array, preventing
memory and performance failures at scale.

- GET /api/dogs: adds pagination, server-side search (?search) and sex
  filter (?sex), and a stats aggregate (total/males/females) for the
  Dashboard to avoid counting from the array
- GET /api/litters: adds pagination; also fixes N+1 query by fetching
  all puppies for the current page in a single query instead of one per
  litter
- DogList: moves search/sex filtering server-side with 300ms debounce;
  adds Prev/Next pagination controls
- LitterList: uses paginated response; adds Prev/Next pagination controls
- Dashboard: reads counts from stats/total fields instead of array length
- LitterDetail, LitterForm: switch dogs fetch to /api/dogs/all (complete
  list, no pagination, for sire/dam dropdowns)
- DogForm: updates litters fetch to use paginated response shape

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 16:40:28 -05:00
5ca594fdc7 external dogs 2026-03-12 07:21:44 -05:00
13185a5281 Roadmap 2,3,4 2026-03-11 23:48:35 -05:00
jason
9b3210a81e stroke fix 2026-03-11 15:49:46 -05:00
jason
8abd5e2db6 halo effect 2026-03-11 15:41:30 -05:00
jason
7195aaecfc remove shadow 2026-03-11 15:37:38 -05:00
jason
4f3074b1f4 text update 2026-03-11 15:33:23 -05:00
jason
0a0a5d232c ped changes 2026-03-11 15:26:35 -05:00
Zenflow
b8eadd9efa "Fix_COI_display_consistency" 2026-03-11 13:09:08 -05:00
8cb4c773fd fix: DogForm accepts isExternal prop — sets is_external flag, hides litter/parent pickers, shows banner 2026-03-11 00:56:51 -05:00
56458340ea feat(ui): add HealthRecordForm modal with OFA and general record support 2026-03-09 23:31:26 -05:00
bc7f54b084 feat(ui): add ClearanceSummaryCard with OFA clearance chips and GRCA eligibility badge 2026-03-09 23:30:47 -05:00
380599383c feat(pedigree): themed node rendering, glow rings, gold root node, breed label, zoom display 2026-03-09 22:44:46 -05:00
dee4769ad2 feat(pedigree): retheme PedigreeTree to match app dark/warm design system 2026-03-09 22:44:06 -05:00
1b59581714 feat(ui): add Champion toggle checkbox to DogForm 2026-03-09 22:25:29 -05:00
3bc6b694f4 feat: add ChampionBadge and ChampionBloodlineBadge components 2026-03-09 22:16:55 -05:00
3d716a2406 feat: LitterForm accepts prefill prop to pre-populate dam + breeding date from BreedingCalendar 2026-03-09 20:54:17 -05:00
485cc15a3e Fix: Ensure sire_id and dam_id are sent as null when empty, not empty strings 2026-03-09 01:16:51 -05:00
dca3c5709b Add PedigreeTree styling with responsive design 2026-03-09 00:42:39 -05:00
e62c2bcd32 Add interactive PedigreeTree component with D3 visualization 2026-03-09 00:40:56 -05:00
6e3e23620b Add error handling for API failures to prevent blank screen 2026-03-09 00:31:24 -05:00
b9858b2c78 Fix litter selection UI layout - separate radio buttons and dropdown properly 2026-03-09 00:24:44 -05:00
f076286b15 Update DogForm with litter selection support 2026-03-09 00:09:44 -05:00
dd26fa00bf Add styling for pedigree tree visualization 2026-03-09 00:09:03 -05:00
7a16918d66 Add interactive pedigree tree visualization component 2026-03-09 00:08:46 -05:00
4af656667d Add LitterForm component for litter management 2026-03-09 00:08:18 -05:00
1e74db2e44 Add DogForm component for creating/editing dogs 2026-03-08 23:02:23 -05:00