HEX
Server: Apache
System: Linux www 5.10.0-10-amd64 #1 SMP Debian 5.10.84-1 (2021-12-08) x86_64
User: root (0)
PHP: 8.2.1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals
Upload Files
File: /mnt/drbd/www/edenhouse/wp-content/plugins/essential-blocks/admin/src/index.js
import ReactDOM from "react-dom";
import React, { useState } from "react";

import { __ } from "@wordpress/i18n";

import Header from "./components/Header";
import menuList from './menuList';

import "./scss/index.scss";

const EssentialAdmin = () => {
    let queryParams = new URLSearchParams(window.location.search);
    let tab = queryParams.get("tab") === null ? "general" : queryParams.get("tab");

    const [tabState, setTabState] = useState(tab);

    const handleClick = (param) => {
        window.history.replaceState(
            null,
            null,
            "?page=essential-blocks&tab=" + param
        );

        queryParams = new URLSearchParams(window.location.search);
        tab = queryParams.get("tab") ?? 'general';

        setTabState(tab);
    };

    return (
        <div className="eb-settings-container">
            <Header menuList={menuList} handleNavClick={handleClick} tabState={tabState} />


            {menuList.map((menu) => (
                <React.Fragment key={menu.id}>
                    {tabState === menu.id && menu.comp}
                </React.Fragment>
            ))}
        </div>
    );
};

document.addEventListener("DOMContentLoaded", () => {
    ReactDOM.render(<EssentialAdmin />, document.getElementById("eb-settings"));
});