%PDF- %PDF-
Direktori : /var/www/projetos/takthua.com.br/wp-content/plugins/ml-slider/extendify-sdk/src/pages/ |
Current File : /var/www/projetos/takthua.com.br/wp-content/plugins/ml-slider/extendify-sdk/src/pages/Sidebar.js |
import { Panel } from '@wordpress/components' import { Button } from '@wordpress/components' import { memo } from '@wordpress/element' import { __ } from '@wordpress/i18n' import { Icon, close } from '@wordpress/icons' import classNames from 'classnames' import { ImportCounter } from '@extendify/components/ImportCounter' import { SidebarNotice } from '@extendify/components/SidebarNotice' import { SiteTypeSelector } from '@extendify/components/SiteTypeSelector' import TaxonomySection from '@extendify/components/TaxonomySection' import { featured } from '@extendify/components/icons' import { brandMark } from '@extendify/components/icons/' import { useTestGroup } from '@extendify/hooks/useTestGroup' import { useGlobalStore } from '@extendify/state/GlobalState' import { useTaxonomyStore } from '@extendify/state/Taxonomies' import { useTemplatesStore } from '@extendify/state/Templates' import { useUserStore } from '@extendify/state/User' export const Sidebar = memo(function Sidebar() { const taxonomies = useTaxonomyStore((state) => state.taxonomies) const searchParams = useTemplatesStore((state) => state.searchParams) const updatePreferredSiteType = useUserStore( (state) => state.updatePreferredSiteType, ) const updateTaxonomies = useTemplatesStore( (state) => state.updateTaxonomies, ) const apiKey = useUserStore((state) => state.apiKey) const taxonomyType = searchParams.type === 'pattern' ? 'patternType' : 'layoutType' const isFeatured = !searchParams?.taxonomies[taxonomyType]?.slug?.length const setOpen = useGlobalStore((state) => state.setOpen) const noticeVariety = useTestGroup('import-counter-type', ['A', 'B']) return ( <> <div className="-ml-1.5 hidden px-5 text-extendify-black sm:flex"> <Icon icon={brandMark} size={40} /> </div> <div className="flex md:hidden items-center justify-end -mt-5 mx-1"> <Button onClick={() => setOpen(false)} icon={<Icon icon={close} size={24} />} label={__('Close library', 'extendify')} /> </div> <div className="px-5 hidden md:block"> <button onClick={() => updateTaxonomies({ [taxonomyType]: { slug: '', title: 'Featured' }, }) } className={classNames( 'button-focus m-0 flex w-full cursor-pointer items-center space-x-1 bg-transparent px-0 py-2 text-left text-sm leading-none transition duration-200 hover:text-wp-theme-500', { 'text-wp-theme-500': isFeatured }, )}> <Icon icon={featured} size={24} /> <span className="text-sm"> {__('Featured', 'extendify')} </span> </button> </div> <div className="mx-6 px-5 pt-0.5 sm:mx-0 sm:mb-8 sm:mt-0"> {Object.keys(taxonomies?.siteType ?? {}).length > 0 && ( <SiteTypeSelector value={searchParams?.taxonomies?.siteType ?? ''} setValue={(termData) => { updatePreferredSiteType(termData) updateTaxonomies({ siteType: termData }) }} terms={taxonomies.siteType} /> )} </div> <div className="mt-px hidden flex-grow overflow-y-auto pb-36 pt-px sm:block space-y-6"> <Panel className="bg-transparent"> <TaxonomySection taxType={taxonomyType} taxonomies={taxonomies[taxonomyType]?.filter( (term) => !term?.designType, )} /> </Panel> <Panel className="bg-transparent"> <TaxonomySection taxLabel={__('Design', 'extendify')} taxType={taxonomyType} taxonomies={taxonomies[taxonomyType]?.filter((term) => Boolean(term?.designType), )} /> </Panel> </div> {!apiKey.length && ( <div className="px-5"> {noticeVariety === 'A' ? <ImportCounter /> : null} {noticeVariety === 'B' ? <SidebarNotice /> : null} </div> )} </> ) })