Detailseite (Rennmausakte): - Neugestaltung: Hero-Foto + Overlay, Schnellfakten-Pills, Karten-Sektionen, Charakter als Chips, getabte Fotos/Gesundheit/Gewicht. - Eltern (Vater/Mutter) als Links; Charakter-Karte klappt bei Status Abgabe/Verstorben/Abgegeben ein (nur Zucht/Liebhaber offen). - Gehege wird bei abgegebenen/verstorbenen Tieren ausgeblendet (Detail + Formular). Listen: - Infinite Scroll auf allen Listen (Rennmäuse, Würfe, Gehege, Verträge, Anfragen, Kontakte) via useInfiniteList/useInfiniteSentinel; stabile Sortierung mit id-Tiebreaker (keine doppelten Keys), Back-to-top-Button. - Kontakte: Rolle-Filter (Züchter/Abnehmer) als Quick-Chips + Sticky-Header. Zucht-Nachname: - Namens-Anhängsel der Zucht in den Einstellungen + je Züchter-Kontakt (Backend-Spalten + Migration); eigene Tiere zeigen „Name + Suffix". - „Eigene Zucht" ist die Standard-Herkunft neuer Tiere. Weiteres: - Gehege-Bilder: Upload/Galerie auf der Gehege-Detailseite (Backend EnclosurePhoto + Endpoints + Migration, geteilte Dateiablage). - Toast-Rückmeldungen für alle Speichern-Aktionen. - Checkboxen durch mobile-freundliche Toggle-Schalter ersetzt. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
35 lines
978 B
C#
35 lines
978 B
C#
namespace GerbilManagerWebAPI.Dtos
|
|
{
|
|
// FEAT-13: Abgabeverträge + Zuchtprofil (eigene Datei, hält ApiDtos.cs konfliktfrei).
|
|
|
|
public record SaleContractDto(
|
|
Guid Id,
|
|
Guid ContactId,
|
|
decimal Price,
|
|
DateOnly HandoverDate,
|
|
DateOnly ContractDate,
|
|
string FileName,
|
|
DateTimeOffset CreatedAt,
|
|
IReadOnlyList<Guid> GerbilIds,
|
|
// Download-URL der .docx ("/contracts/{id}/file").
|
|
string Url);
|
|
|
|
public record SaleContractInput(
|
|
Guid ContactId,
|
|
List<Guid> GerbilIds,
|
|
decimal Price,
|
|
DateOnly HandoverDate,
|
|
DateOnly? ContractDate);
|
|
|
|
/// <summary>Zuchtprofil — Antwort UND Request-Body von /settings/breeder-profile.</summary>
|
|
public record BreederProfileDto(
|
|
string ZuchtName,
|
|
string Name,
|
|
string Address,
|
|
string Phone,
|
|
string Email,
|
|
string Homepage,
|
|
string City,
|
|
string NameSuffix);
|
|
}
|