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 ; if (error) return <>{error.message}; if (!data || !data.UserWaitlist) return <>; return (
{data.UserWaitlist.map(item => { return (
{/* course title */}
{item.title}
{item.contentTypeLabel}
); })}
); }; export default LoadWaitlist;