Uname: Linux webm016.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 7.4.33 [ PHP INFO ] PHP os: Linux
Server Ip: 54.36.31.145
Your Ip: 216.73.216.182
User: homesquasz (91404) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : MenuItem.js
import {
    Component,
} from '@wordpress/element';
import { __ } from '@wordpress/i18n';
class MenuItem extends Component {
    constructor() {
        super( ...arguments );
    }

    handleClick(){
        this.props.selectMenu(this.props.menuItem.id);
    }

    componentDidMount() {
        this.handleClick = this.handleClick.bind(this);
    }

    render(){
        /*
         * Menu is selected if the item is the same, or if it is a child.
         */
        let menuIsSelected = this.props.selectedMenuItem===this.props.menuItem.id;
        if (this.props.menuItem.menu_items) {
            for (const item of this.props.menuItem.menu_items){
                if (item.id === this.props.selectedMenuItem ){
                    menuIsSelected=true;
                }
            }
        }

        let menuClass = menuIsSelected ? ' rsssl-active' : '';
        menuClass += this.props.menuItem.featured ? ' rsssl-featured' : '';
        menuClass += this.props.menuItem.premium && !rsssl_settings.pro_plugin_active ? ' rsssl-premium' : '';
        let href = '#'+this.props.selectedMainMenuItem+'/'+this.props.menuItem.id;
        return (
            <>
            {this.props.menuItem.visible && <div className={"rsssl-menu-item" + menuClass}>
                <a href={href} onClick={() => this.handleClick()}>
                    <span>{this.props.menuItem.title}</span>
                    {this.props.menuItem.featured && <><span className='rsssl-menu-item-featured-pill'>{__('New', 'really-simple-ssl')}</span></>}
                </a>
                { (this.props.menuItem.menu_items && menuIsSelected) && <div className="rsssl-submenu-item">
                    {this.props.menuItem.menu_items.map(
                        (subMenuItem, i) => subMenuItem.visible && <MenuItem key={i}
                                                                             menuItem={subMenuItem}
                                                                             selectMenu={this.props.selectMenu}
                                                                             selectedMenuItem={this.props.selectedMenuItem}
                                                                             selectedMainMenuItem={this.props.selectedMainMenuItem}
                                                                             />
                    )}
                </div>}
            </div>}
            </>
        )
    }
}

export default MenuItem
© 2026 GrazzMean