| Server IP : 89.108.64.180 / Your IP : 216.73.217.92 Web Server : Apache/2.4.41 (Ubuntu) System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 User : www-root ( 1010) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/omapart.ru/wp-content/plugins/elementor/app/assets/js/ui/menu/ |
Upload File : |
import './menu.scss';
import Button from '../molecules/button';
import router from '@elementor/router';
import { Match, LocationProvider } from '@reach/router';
export default function Menu( props ) {
const ActionButton = ( itemProps ) => {
if ( ! props.actionButton ) {
return '';
}
return props.actionButton( itemProps );
};
if ( props.promotion ) {
return (
<nav className="eps-menu">
{ props.children }
<ul>
{ props.menuItems.map( ( item ) => (
<li key={ item.type } className="eps-menu-item">
<Button text={ item.title } className="eps-menu-item__link" { ...item } />
<ActionButton { ...item } />
</li>
) ) }
</ul>
</nav>
);
}
return (
<LocationProvider history={ router.appHistory }>
<nav className="eps-menu">
{ props.children }
<ul>
{ (
props.menuItems.map( ( item ) => (
<Match key={ item.type } path={ item.url }>
{ ( { match } ) => {
return (
<li key={ item.type } className={ `eps-menu-item${ match ? ' eps-menu-item--active' : '' }` }>
<Button text={ item.title } className="eps-menu-item__link" { ...item } />
<ActionButton { ...item } />
</li>
);
} }
</Match>
) )
) }
</ul>
</nav>
</LocationProvider>
);
}
Menu.propTypes = {
menuItems: PropTypes.arrayOf( PropTypes.object ),
children: PropTypes.any,
actionButton: PropTypes.func,
promotion: PropTypes.bool,
};