import { Button, Flex, PanelRow, withFilters } from '@wordpress/components'; import { useSelect } from '@wordpress/data'; import { applyFilters } from '@wordpress/hooks'; import { __ } from '@wordpress/i18n'; import { MediaUpload } from '@wordpress/media-utils'; import React, { useState } from 'react'; import { withMeta } from '../hoc/withMeta'; import ButtonGroup from './ButtonGroup'; import { Customizer, HeaderCenter, HeaderLeft, HeaderRight } from './Icons'; import { MetaProps } from './types'; const HeaderPanel = ({ meta, updateMeta }: MetaProps) => { const [isHovered, setIsHovered] = useState(false); const media: undefined | null | Record = useSelect( (select) => { return meta?.elearning_logo ? (select('core') as any).getMedia(meta.elearning_logo) : null; }, [meta?.elearning_logo], ); const currentLayout = meta?.elearning_header_style ?? 'default'; const headerOptions = [ { label: 'Default', value: 'customizer' }, { label: 'Enable', value: '1' }, { label: 'Disable', value: '0' }, ]; const OPTIONS = applyFilters('elearning.meta.header.layout', [ { label: __('From Customizer', 'elearning'), icon: Customizer, value: 'default', }, { label: __('Header Left', 'elearning'), icon: HeaderLeft, value: 'tg-site-header--left', }, { label: __('Header Center', 'elearning'), icon: HeaderCenter, value: 'tg-site-header--center', }, { label: __('Header Right', 'elearning'), icon: HeaderRight, value: 'tg-site-header--right', }, ]) as Array<{ label: string; icon: React.ElementType; value: string; }>; const handleRemoveImage = () => { updateMeta?.('elearning_logo', null); }; return (

{__('Enable Transparent Header', 'elearning')}

updateMeta?.('elearning_transparent_header', value) } />
) => { updateMeta?.('elearning_logo', data.id); }} render={({ open }: { open: () => void }) => ( setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} className={'relative'} >

{__('Logo', 'elearning')}

{media ? ( <>
Featured Image
{isHovered ? ( ) : null} ) : (
)}
)} />

{__('Style', 'elearning')}

{OPTIONS.map((option) => { const Icon = option.icon; return ( { updateMeta?.('elearning_header_style', option.value); }} > ); })}
); }; // @ts-ignore export default withMeta(withFilters('eLearningMetaHeaderPanel')(HeaderPanel));