/**
* WordPress dependencies
*/
import { useDispatch, useSelect } from '@wordpress/data';
import { useEffect } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
import {
ComplementaryArea,
InterfaceSkeleton,
store as interfaceStore,
} from '@wordpress/interface';
import { store as viewportStore } from '@wordpress/viewport';
/**
* Internal dependencies
*/
import { COMPLEMENTARY_AREA_SCOPE, OPTIONS_TAB_IDENTIFIER } from '../../lib/constants';
import AppWrapper from '../app-wrapper';
import Header from '../header';
import './styles.scss';
const interfaceLabels = {
/* translators: accessibility text for the widgets screen top bar landmark region. */
header: __( 'Jetpack Search customization top bar', 'jetpack' ),
/* translators: accessibility text for the widgets screen content landmark region. */
body: __( 'Jetpack Search customization preview', 'jetpack' ),
/* translators: accessibility text for the widgets screen settings landmark region. */
sidebar: __( 'Jetpack Search customization settings', 'jetpack' ),
/* translators: accessibility text for the widgets screen footer landmark region. */
footer: __( 'Jetpack Search customization footer', 'jetpack' ),
};
/**
* Wraps the InterfaceSkeleton component with necessary parameters.
*
* @returns {Element} component instance
*/
export default function Interface() {
const { hasSidebarEnabled, isLargeViewport } = useSelect( select => ( {
isLargeViewport: select( viewportStore ).isViewportMatch( 'large' ),
hasSidebarEnabled: !! select( interfaceStore ).getActiveComplementaryArea(
COMPLEMENTARY_AREA_SCOPE
),
} ) );
const { enableComplementaryArea, disableComplementaryArea } = useDispatch( interfaceStore );
useEffect( () => {
isLargeViewport
? enableComplementaryArea( COMPLEMENTARY_AREA_SCOPE, OPTIONS_TAB_IDENTIFIER )
: disableComplementaryArea( COMPLEMENTARY_AREA_SCOPE );
}, [ enableComplementaryArea, disableComplementaryArea, isLargeViewport ] );
return (
}
header={ }
labels={ interfaceLabels }
sidebar={ hasSidebarEnabled && }
/>
);
}