/** * WordPress dependencies */ import { NoticeList } from '@safe-wordpress/components'; import { useSelect, useDispatch } from '@safe-wordpress/data'; import { _x } from '@safe-wordpress/i18n'; import { store as NOTICES } from '@safe-wordpress/notices'; /** * External dependencies */ import { DndProvider } from '@nab/components'; import { isEmpty } from '@nab/utils'; /** * Internal dependencies */ import './style.scss'; import { StatusManager } from '../status-manager'; import { Header } from '../header'; import { ExperimentName } from '../experiment-name'; import { GoalSection } from '../goal-section'; import { SegmentationSection } from '../segmentation-section'; import { Sidebar } from '../sidebar'; import { AlternativeSection } from '../alternative-section'; import { AlternativeDistributionSection } from '../alternative-distribution-section'; export const Layout = (): JSX.Element => { const notices = useNotices(); const { removeNotice } = useDispatch( NOTICES ); return (
{ ! isEmpty( notices ) && ( ) }
); }; // ===== // HOOKS // ===== const useNotices = () => useSelect( ( select ) => select( NOTICES ).getNotices(), [] );