// @ts-check import React, { useMemo, useState } from 'react'; import { StudioFooter } from '@edx/frontend-component-footer'; import { useIntl } from '@edx/frontend-platform/i18n'; import { Outlet, ScrollRestoration } from 'react-router-dom'; import { Toast } from '@openedx/paragon'; import AlertMessage from '../generic/alert-message'; import Header from '../header'; import { TaxonomyContext } from './common/context'; import messages from './messages'; const TaxonomyLayout = () => { const intl = useIntl(); // Use `setToastMessage` to show the toast. const [toastMessage, setToastMessage] = useState(/** @type{null|string} */ (null)); // Use `setToastMessage` to show the alert. const [alertProps, setAlertProps] = useState(/** @type {null|import('./common/context').AlertProps} */ (null)); const context = useMemo(() => ({ toastMessage, setToastMessage, alertProps, setAlertProps, }), []); return (
{ alertProps && ( setAlertProps(null)} {...alertProps} /> )} {toastMessage && ( setToastMessage(null)} data-testid="taxonomy-toast" > {toastMessage} )}
); }; export default TaxonomyLayout;