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:
@@ -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 }))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user