import { useMemo } from "react"; import { loadAllResidents, loadResidentsByAbodeId, loadResidentsByUserId, } from "../../store/loaders/residents.js"; import { useSelector } from "../../store/react.js"; import { getResidents } from "../../store/slices/residents.js"; import { useLoad } from "../useLoad.js"; export function useDataAllResidents() { const residents = useSelector(getResidents); const status = useLoad(loadAllResidents); return { ...status, residents }; } export function useDataResidentsByAbodeId(aid: string) { const allResidents = useSelector(getResidents); const status = useLoad(loadResidentsByAbodeId, { aid }); const residents = useMemo( () => Object.values(allResidents).filter((x) => x.aid === aid), [allResidents, aid], ); return { ...status, residents }; } export function useDataResidentsByUserId(uid: string) { const allResidents = useSelector(getResidents); const status = useLoad(loadResidentsByUserId, { uid }); const residents = useMemo( () => Object.values(allResidents).filter((x) => x.uid === uid), [allResidents, uid], ); return { ...status, residents }; }