import { useQuery } from 'react-query';

import useHuSnackbar from '@material-hu/components/design-system/Snackbar';

import { getBlobCloudfrontDocument } from 'src/utils/filesUtils';
import { useLokaliseTranslation } from 'src/utils/i18n';

export const usePdfDocument = (url: string, onError?: VoidFunction) => {
  const { enqueueSnackbar } = useHuSnackbar();

  const { t } = useLokaliseTranslation('documents');
  return useQuery(
    ['pdf-document-preview', url],
    async () => {
      const blobResult = await getBlobCloudfrontDocument(url);

      return blobResult;
    },
    {
      onError: () => {
        enqueueSnackbar({
          title: t('error_open_pending_file'),
          variant: 'error',
        });

        if (onError) onError();
      },
    },
  );
};
