import React, { useCallback } from 'react'; import { NetworkStatus } from '@apollo/client'; import { useUserArchivesQuery, LoadingDots, formatTime } from '@thoughtindustries/content'; import { ReinstateButton } from './MutationCallingButtons'; import useLearnerAccess from './Context/use-context'; import { t } from 'i18next'; const LoadArchivedContent = (): JSX.Element => { const { data, loading, error, refetch: refetchArchives, networkStatus } = useUserArchivesQuery({ variables: {}, fetchPolicy: 'network-only', notifyOnNetworkStatusChange: true }); const isRefetching = networkStatus === NetworkStatus.refetch; const { refetchContentGroups, resetActiveTab } = useLearnerAccess(); const onReinstateSuccessAsync = useCallback(async () => { const { data: refetchData } = await refetchArchives(); if (refetchData && !refetchData.UserArchives?.length) { resetActiveTab(); } await refetchContentGroups(); }, [refetchContentGroups, refetchArchives, resetActiveTab]); if (loading || isRefetching) return ; if (error) return <>{error.message}; if (!data || !data.UserArchives) return <>; return (
{data.UserArchives.map(item => (
{/* course title */}
{item.name}
{item.resourceType}
{item.reinstatable && ( )} {t('dashboard.archived')}{' '} {item.archivedAt && formatTime(item.archivedAt, undefined, 'MMM D, YYYY')}
))}
); }; export default LoadArchivedContent;