All files / react-app/src/hooks useReadOnlyUser.tsx

100% Statements 10/10
100% Branches 2/2
100% Functions 2/2
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20        72x 12x 12x 12x   12x 8x 4x 4x 4x       12x    
import { useGetUser } from "@/api";
import { UserRoles } from "shared-types";
import { useEffect, useState } from "react";
 
export const useReadOnlyUser = () => {
  const { data: user, isFetched: isUserFetched } = useGetUser();
  const [readOnly, setReadOnly] = useState(true);
  const [isLoading, setIsLoading] = useState(true);
 
  useEffect(() => {
    if (isUserFetched) {
      const role = user?.user?.["custom:cms-roles"];
      setReadOnly(role !== UserRoles.STATE_SUBMITTER);
      setIsLoading(false);
    }
  }, [user, isUserFetched]);
 
  return { readOnly, isLoading };
};