Commit Graph

75 Commits

Author SHA1 Message Date
aa3b1b2404 feat(nav): add External Dogs nav link and route 2026-03-10 15:27:06 -05:00
3275524ad0 feat(ui): add ExternalDogs page — full CRUD roster for external sires/dams 2026-03-10 15:26:21 -05:00
72c54f847f fix(frontend): block/warn direct parent-offspring selections in PairingSimulator 2026-03-10 14:56:09 -05:00
e9588fa866 feat(ui): integrate ClearanceSummaryCard and HealthRecordForm into DogDetail 2026-03-09 23:32:41 -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
aa63e4f388 feat(nav): swap Dogs icon from Users to PawPrint 2026-03-09 22:59:02 -05:00
e44883b5e0 feat(dogs): add delete button with confirm modal on DogList 2026-03-09 22:58:41 -05:00
f860738428 feat(pedigree): update PedigreeView stats bar + tip box to use theme vars 2026-03-09 22:45:23 -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
75ff6e1af1 fix(build): delete useSettings.js (replaced by useSettings.jsx) 2026-03-09 22:31:13 -05:00
29f73007d6 fix(build): rename useSettings.js -> useSettings.jsx (contains JSX, Vite requires .jsx extension) 2026-03-09 22:31:03 -05:00
1b59581714 feat(ui): add Champion toggle checkbox to DogForm 2026-03-09 22:25:29 -05:00
2416e48bb7 feat: DogDetail — champion/bloodline badge in header, champion-glow border on main photo 2026-03-09 22:19:31 -05:00
9e699e308f feat: DogList — render ChampionBadge and ChampionBloodlineBadge on dog cards 2026-03-09 22:18:28 -05:00
ec249c7865 feat: add SettingsPage — kennel name, tagline, address, phone, website, email 2026-03-09 22:17:28 -05:00
3bc6b694f4 feat: add ChampionBadge and ChampionBloodlineBadge components 2026-03-09 22:16:55 -05:00
0573e154b1 feat: update App.css — navbar active state uses brand gradient, settings icon alignment 2026-03-09 22:16:39 -05:00
3e777772c3 feat: retheme index.css — warm amber/copper palette to complement gold-rust gradient 2026-03-09 22:15:58 -05:00
67912dc78d feat: App.jsx — dynamic kennel name in header, Settings nav link, useSettings hook 2026-03-09 22:14:51 -05:00
ec24a15c66 feat: wrap app in SettingsProvider 2026-03-09 22:14:33 -05:00
9ee441ffd9 feat: add useSettings hook for kennel settings context 2026-03-09 22:14:08 -05:00
4ad3ffae4e feat: add projected whelping identifier on heat cycle calendar
- Compute projected whelp date (breeding_date + 63 days) client-side
- Mark projected whelp day on calendar grid with Baby icon + teal ring
- Show whelp range (earliest/expected/latest) tooltip on calendar cell
- Add 'Projected Whelp' entry to legend
- Show projected whelp date on active cycle cards below breeding date
- Active cycle cards navigate to whelp month if outside current view
2026-03-09 21:33:13 -05:00
421b875661 feat: add PuppyLogPanel weight/health logs + projected whelping window to LitterDetail 2026-03-09 21:06:03 -05:00
3d716a2406 feat: LitterForm accepts prefill prop to pre-populate dam + breeding date from BreedingCalendar 2026-03-09 20:54:17 -05:00
50deb6174b feat: auto-open LitterForm with prefill when navigated from BreedingCalendar 2026-03-09 20:53:37 -05:00
7a6b770999 feat: add Record Litter CTA in CycleDetailModal when breeding date is logged 2026-03-09 20:52:57 -05:00
49d2851532 feat: add /litters/:id route for LitterDetail page 2026-03-09 20:50:42 -05:00
15aa871333 feat: add LitterDetail page with puppy roster and add/remove/create puppy 2026-03-09 20:50:25 -05:00
0e8b875a4c feat: rebuild LitterList with create/edit/delete and LitterForm integration 2026-03-09 20:49:34 -05:00
202c634df6 feat: Full heat cycle calendar with month grid, start-cycle modal, and breeding date suggestions 2026-03-09 20:32:21 -05:00
89eac7b84b style: Add risk-badge styles for PairingSimulator 2026-03-09 20:24:04 -05:00
6a74c2d14e feat: Wire PairingSimulator into App router and navbar 2026-03-09 20:23:17 -05:00
3be2f66659 feat: Add PairingSimulator page - sire/dam selection, COI, common ancestors, risk badge 2026-03-09 20:22:21 -05:00
029fd77913 style: Add subtle diffuse black drop shadow to logo and brand title text 2026-03-09 20:01:46 -05:00
707998d013 Update client/src/App.css 2026-03-09 19:59:38 -05:00
0848b4e7f0 style: Double logo size to 5rem, increase brand title font by 30% to 1.95rem 2026-03-09 19:55:32 -05:00
18baf1b7a0 fix: Size brand-logo as a fixed square to match 1:1 logo aspect ratio 2026-03-09 19:14:51 -05:00
24d96ca08a feat: Proxy /static to Express server in Vite dev mode 2026-03-09 18:50:04 -05:00
eb661782fe feat: Add brand-logo sizing and gold-to-rusty-red gradient on brand-text 2026-03-09 18:49:29 -05:00
bc6cf83f72 feat: Replace generic icon with br-logo.png in navbar brand 2026-03-09 18:47:27 -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
d426835b13 Rebuild PedigreeView with interactive tree visualization 2026-03-09 00:44:34 -05:00
8db5c89791 Add pedigree helper utilities for data transformation 2026-03-09 00:43:02 -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