Merge family absence flows while preserving security hardening

This commit is contained in:
t.indorf
2026-10-10 07:08:41 +02:00
30 changed files with 2822 additions and 644 deletions
@@ -19,6 +19,8 @@ import {
import { AddFamilyDialog } from "../add-family-dialog";
import { DutyManager } from "../duty-manager";
import { EditFamilyDialog } from "../edit-family-dialog";
import { InvitationStatus } from "../invitation-status";
import type { FamilyInvitationView } from "@/lib/family-invitation-view";
interface FamilyUser {
id: string;
@@ -26,6 +28,7 @@ interface FamilyUser {
lastName: string;
email: string;
emailVerifiedAt: Date | null;
invitation: FamilyInvitationView;
dutyAssignments: {
id: string;
dutyId: string;
@@ -250,6 +253,7 @@ export function FamiliesListClient({
{!parent.emailVerifiedAt && <ResendInviteButton userId={parent.id} />}
</span>
</div>
<InvitationStatus userId={parent.id} name={`${parent.firstName} ${parent.lastName}`} invitation={parent.invitation} />
</div>
))}
</div>
@@ -288,6 +292,7 @@ export function FamiliesListClient({
firstName: parent.firstName,
lastName: parent.lastName,
email: parent.email,
invitation: parent.invitation,
})),
children: family.children,
}}
@@ -357,6 +362,7 @@ export function FamiliesListClient({
{!parent.emailVerifiedAt && <ResendInviteButton userId={parent.id} />}
</span>
</div>
<InvitationStatus userId={parent.id} name={`${parent.firstName} ${parent.lastName}`} invitation={parent.invitation} />
</div>
))}
</div>
@@ -393,6 +399,7 @@ export function FamiliesListClient({
firstName: parent.firstName,
lastName: parent.lastName,
email: parent.email,
invitation: parent.invitation,
})),
children: family.children,
}}