/** * WordPress dependencies */ /* eslint-disable @woocommerce/dependency-group */ /* eslint-disable @typescript-eslint/ban-ts-comment */ import { useContext } from '@wordpress/element'; import { // @ts-ignore No types for this exist yet. __experimentalItemGroup as ItemGroup, // @ts-ignore No types for this exist yet. __experimentalNavigatorButton as NavigatorButton, // @ts-ignore No types for this exist yet. __experimentalHeading as Heading, } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import { siteLogo, color, typography, header, home, footer, } from '@wordpress/icons'; // @ts-ignore No types for this exist yet. import SidebarNavigationItem from '@wordpress/edit-site/build-module/components/sidebar-navigation-item'; /** * Internal dependencies */ import { SidebarNavigationScreen } from './sidebar-navigation-screen'; import { CustomizeStoreContext } from '~/customize-store/assembler-hub'; import { FlowType } from '~/customize-store/types'; import { trackEvent } from '~/customize-store/tracking'; import { getNewPath, navigateTo } from '@woocommerce/navigation'; import { SidebarNavigationAnimationDirection, SidebarNavigationContext, } from '../components/sidebar'; import { isFullComposabilityFeatureAndAPIAvailable } from '../utils/is-full-composability-enabled'; export const SidebarNavigationScreenMain = () => { const { context: { flowType }, } = useContext( CustomizeStoreContext ); const aiOnline = flowType === FlowType.AIOnline; const { navigate } = useContext( SidebarNavigationContext ); return (
{ __( 'Style', 'woocommerce' ) }
{ const logoUrl = getNewPath( { customizing: true }, '/customize-store/assembler-hub/logo', {} ); navigateTo( { url: logoUrl } ); navigate( SidebarNavigationAnimationDirection.Forward ); trackEvent( 'customize_your_store_assembler_hub_sidebar_item_click', { item: 'logo', } ); } } > { __( 'Add your logo', 'woocommerce' ) } { const colorPaletteUrl = getNewPath( { customizing: true }, '/customize-store/assembler-hub/color-palette', {} ); navigateTo( { url: colorPaletteUrl } ); navigate( SidebarNavigationAnimationDirection.Forward ); trackEvent( 'customize_your_store_assembler_hub_sidebar_item_click', { item: 'color-palette', } ); } } > { aiOnline ? __( 'Change the color palette', 'woocommerce' ) : __( 'Choose your color palette', 'woocommerce' ) } { const typographyUrl = getNewPath( { customizing: true }, '/customize-store/assembler-hub/typography', {} ); navigateTo( { url: typographyUrl } ); navigate( SidebarNavigationAnimationDirection.Forward ); trackEvent( 'customize_your_store_assembler_hub_sidebar_item_click', { item: 'typography', } ); } } > { aiOnline ? __( 'Change fonts', 'woocommerce' ) : __( 'Choose fonts', 'woocommerce' ) }
{ __( 'Layout', 'woocommerce' ) }
{ const headerUrl = getNewPath( { customizing: true }, '/customize-store/assembler-hub/header', {} ); navigateTo( { url: headerUrl } ); navigate( SidebarNavigationAnimationDirection.Forward ); trackEvent( 'customize_your_store_assembler_hub_sidebar_item_click', { item: 'header', } ); } } > { aiOnline ? __( 'Change your header', 'woocommerce' ) : __( 'Choose your header', 'woocommerce' ) } { const homepageUrl = isFullComposabilityFeatureAndAPIAvailable() ? getNewPath( { customizing: true }, '/customize-store/assembler-hub/homepage/intro', {} ) : getNewPath( { customizing: true }, '/customize-store/assembler-hub/homepage', {} ); navigateTo( { url: homepageUrl } ); navigate( SidebarNavigationAnimationDirection.Forward ); trackEvent( 'customize_your_store_assembler_hub_sidebar_item_click', { item: 'home', } ); } } > { aiOnline ? __( 'Change your homepage', 'woocommerce' ) : __( 'Design your homepage', 'woocommerce' ) } { const footerUrl = getNewPath( { customizing: true }, '/customize-store/assembler-hub/footer', {} ); navigateTo( { url: footerUrl } ); navigate( SidebarNavigationAnimationDirection.Forward ); trackEvent( 'customize_your_store_assembler_hub_sidebar_item_click', { item: 'footer', } ); } } > { aiOnline ? __( 'Change your footer', 'woocommerce' ) : __( 'Choose your footer', 'woocommerce' ) } { /* TODO: Turn on this in Phrase 2 */ } { /* { __( 'Add and edit other pages', 'woocommerce' ) } */ } } /> ); };