FEAT-3: Wurf detail workspace (parents, juveniles, Jungtier erfassen prefill, expected Farbschlag via breed)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-06 00:31:19 +02:00
parent 74ac6ddb5a
commit 79f260d62e
2 changed files with 148 additions and 3 deletions

View File

@@ -1,5 +1,5 @@
import { useState, type FormEvent } from 'react'
import { Link, useNavigate, useParams } from 'react-router-dom'
import { Link, useNavigate, useParams, useSearchParams } from 'react-router-dom'
import { de } from '../strings/de'
import { createGerbil, getGerbil, updateGerbil } from '../api/gerbils'
import { listColorVarieties, listContacts, listEnclosures, listLitters } from '../api/lookups'
@@ -112,6 +112,22 @@ export default function GerbilFormPage() {
setForm(formFromGerbil(existing.data))
}
// Create-mode prefill from query params (?litterId, ?dob) — used by the Wurf
// workspace's "Jungtier erfassen" action to register a pup in one tap.
const [searchParams] = useSearchParams()
if (!isEdit && initializedFor === null) {
const litterId = searchParams.get('litterId')
const dob = searchParams.get('dob')
if (litterId || dob) {
setInitializedFor('new')
setForm((f) => ({
...f,
litterId: litterId ?? f.litterId,
dateOfBirth: dob ?? f.dateOfBirth,
}))
}
}
const set = <K extends keyof FormState>(key: K, value: FormState[K]) =>
setForm((f) => ({ ...f, [key]: value }))