import React, { useCallback } from 'react';
import { NetworkStatus } from '@apollo/client';
import {
useUserWaitlistQuery,
LoadingDots,
useUnenrollFromWaitlistMutation,
hydrateContent,
GlobalTypes
} from '@thoughtindustries/content';
import useLearnerAccess from './Context/use-context';
import { useTranslation } from 'react-i18next';
import { t } from 'i18next';
const LoadWaitlist = (): JSX.Element => {
const { i18n } = useTranslation();
const {
data,
loading,
error,
refetch: refetchWaitlist,
networkStatus
} = useUserWaitlistQuery({
variables: {},
fetchPolicy: 'network-only',
notifyOnNetworkStatusChange: true
});
const [unenrollFromWaitlistMutation] = useUnenrollFromWaitlistMutation();
const { refetchContentGroups, resetActiveTab } = useLearnerAccess();
const handleUnenroll = useCallback(
async id => {
await unenrollFromWaitlistMutation({ variables: { id } });
const { data: refetchData } = await refetchWaitlist();
if (refetchData && !refetchData.UserWaitlist?.length) {
resetActiveTab();
}
await refetchContentGroups();
},
[refetchContentGroups, refetchWaitlist, resetActiveTab]
);
const isRefetching = networkStatus === NetworkStatus.refetch;
if (loading || isRefetching) return