Show couples on members page

This commit is contained in:
2023-08-16 14:29:22 +02:00
parent ec856b5cb4
commit 23fb77b152
4 changed files with 84 additions and 11 deletions

View File

@ -31,10 +31,12 @@ import { useConfirm } from "../hooks/context_providers/ConfirmDialogProvider";
import { useSnackbar } from "../hooks/context_providers/SnackbarProvider";
import { AsyncWidget } from "./AsyncWidget";
import { RouterLink } from "./RouterLink";
import { CoupleApi, CouplesList } from "../api/CoupleApi";
interface FamilyContext {
family: Family;
members: MembersList;
couples: CouplesList;
familyId: number;
reloadFamilyInfo: () => void;
reloadMembersList: () => Promise<void>;
@ -51,6 +53,7 @@ export function BaseFamilyRoute(): React.ReactElement {
const [family, setFamily] = React.useState<null | Family>(null);
const [members, setMembers] = React.useState<null | MembersList>(null);
const [couples, setCouples] = React.useState<null | CouplesList>(null);
const loadKey = React.useRef(1);
@ -60,12 +63,14 @@ export function BaseFamilyRoute(): React.ReactElement {
const familyID = Number(familyId);
setFamily(await FamilyApi.GetSingle(familyID));
setMembers(await MemberApi.GetEntireList(familyID));
setCouples(await CoupleApi.GetEntireList(familyID));
};
const onReload = async () => {
loadKey.current += 1;
setFamily(null);
setMembers(null);
setCouples(null);
return new Promise<void>((res, _rej) => {
loadPromise.current = () => res();
@ -114,6 +119,7 @@ export function BaseFamilyRoute(): React.ReactElement {
value={{
family: family!,
members: members!,
couples: couples!,
familyId: family!.family_id,
reloadFamilyInfo: onReload,
reloadMembersList: onReload,