in src/hooks/useTestResult.ts [38:62]
export function useStepResultStatus(
stepTitle?: string,
stepName?: string
): ResultCategory | undefined {
const { result } = useContext(TestContext);
const [statuses, setStatuses] = useState<Record<string, ResultCategory>>({});
useEffect(() => {
if (!result) {
setStatuses({});
} else {
// make a map with key:stepname, val:status
setStatuses(
result.journey.steps.reduce((prev, { name, status }) => {
return { ...prev, [name]: status };
}, {})
);
}
}, [result, setStatuses]);
if (stepName && statuses[stepName]) return statuses[stepName];
if (!stepTitle || !statuses[stepTitle]) return undefined;
return statuses[stepTitle];
}