You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bazarr/frontend/src/components/async/QueryOverlay.tsx

26 lines
655 B

import { LoadingProvider } from "@/contexts";
import { LoadingOverlay } from "@mantine/core";
import { FunctionComponent, ReactNode } from "react";
import { UseQueryResult } from "react-query";
interface QueryOverlayProps {
result: UseQueryResult<unknown, unknown>;
global?: boolean;
children: ReactNode;
}
const QueryOverlay: FunctionComponent<QueryOverlayProps> = ({
children,
global = false,
result: { isLoading, isError, error },
}) => {
return (
<LoadingProvider value={isLoading}>
<LoadingOverlay visible={global && isLoading}></LoadingOverlay>
{children}
</LoadingProvider>
);
};
export default QueryOverlay;