Files
abode/src/react/hooks/data/residents.ts
T
codingetandCodex 31d4636dde
CI / install-and-build (pull_request) Successful in 1m29s
CI / format (pull_request) Successful in 51s
CI / typecheck-source (pull_request) Successful in 41s
CI / typecheck-tests (pull_request) Successful in 39s
CI / test (pull_request) Successful in 51s
CI / lint (pull_request) Successful in 21s
ci: add pull request quality gates
Co-Authored-By: gpt-5.6-terra <noreply@openai.com>
2026-07-22 21:50:29 +00:00

36 lines
1.1 KiB
TypeScript

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 };
}