Merge branch 'worktree-agent-ae59040b377a324cb'

# Conflicts:
#	GerbilManagerWebAPI/ApplicationContext.cs
#	GerbilManagerWebAPI/Program.cs
#	gerbil-manager-web/e2e/mock-data.ts
#	gerbil-manager-web/src/pages/GerbilDetailPage.tsx
#	gerbil-manager-web/src/strings/de.ts
This commit is contained in:
2026-06-22 23:10:18 +02:00
16 changed files with 2520 additions and 2 deletions

View File

@@ -11,6 +11,7 @@ import { fromDisplayString, genotypeToFarbschlag, displayGenotypeSafe } from '..
import type { Gender, GerbilStatus } from '../api/types'
import FarbschlagImage from '../components/FarbschlagImage'
import GerbilAcquisitionSection from '../components/GerbilAcquisitionSection'
import GerbilExhibitionsTab from '../components/GerbilExhibitionsTab'
import GerbilHealthTab from '../components/GerbilHealthTab'
import GerbilPhotosTab from '../components/GerbilPhotosTab'
import GerbilProfilePhoto from '../components/GerbilProfilePhoto'
@@ -21,7 +22,7 @@ import { useGerbilName } from '../components/breederSuffix'
import { useToast } from '../components/toast'
import './rennmausakte.css'
type DetailTab = 'photos' | 'health' | 'weight'
type DetailTab = 'photos' | 'health' | 'weight' | 'exhibitions'
// DESIGN (Rennmausakte): per-status colours for the hero status badge.
const STATUS_COLORS: Record<GerbilStatus, string> = {
@@ -476,7 +477,7 @@ export default function GerbilDetailPage() {
<section className="ak-card">
<h2 className="visually-hidden">{t.detail.moreData}</h2>
<div className="ak-tabs" role="tablist">
{(['photos', 'health', 'weight'] as const).map((key) => (
{(['photos', 'health', 'weight', 'exhibitions'] as const).map((key) => (
<button
key={key}
type="button"
@@ -493,6 +494,12 @@ export default function GerbilDetailPage() {
{tab === 'photos' && <GerbilPhotosTab gerbilId={g.id} />}
{tab === 'health' && <GerbilHealthTab gerbilId={g.id} />}
{tab === 'weight' && <GerbilWeightTab gerbilId={g.id} />}
{tab === 'exhibitions' && (
<GerbilExhibitionsTab
gerbilId={g.id}
entityName={gerbilName(g) || de.pages.gerbils.nameless}
/>
)}
</div>
</section>
</div>