Show couples on members page
This commit is contained in:
@ -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,
|
||||
|
@ -2,7 +2,7 @@ import { Avatar } from "@mui/material";
|
||||
import { Member } from "../api/MemberApi";
|
||||
|
||||
export function MemberPhoto(p: {
|
||||
member: Member;
|
||||
member?: Member;
|
||||
width?: number;
|
||||
}): React.ReactElement {
|
||||
return (
|
||||
@ -13,7 +13,7 @@ export function MemberPhoto(p: {
|
||||
: undefined
|
||||
}
|
||||
variant="rounded"
|
||||
src={p.member.thumbnailURL ?? undefined}
|
||||
src={p.member?.thumbnailURL ?? undefined}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user