✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ server366.web-hosting.com ​🇻​♯➤ 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2025

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 67.223.118.204 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.243
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /home/builxejc/public_html/wp-content/plugins/really-simple-ssl/settings/src//Page.js
import {useEffect, useState} from "@wordpress/element";
import Header from "./Header";
import PagePlaceholder from './Placeholder/PagePlaceholder';
import getAnchor from "./utils/getAnchor";
import useFields from "./Settings/FieldsData";
import useMenu from "./Menu/MenuData";
import useOnboardingData from "./Onboarding/OnboardingData";
import useModal from "./Modal/ModalData";
import {setLocaleData} from "@wordpress/i18n";
import ErrorBoundary from "./utils/ErrorBoundary";
const Page = () => {
    const {error, fields, changedFields, fetchFieldsData, updateFieldsData, fieldsLoaded} = useFields();
    const {showOnboardingModal, fetchOnboardingModalStatus, modalStatusLoaded,} = useOnboardingData();
    const {selectedMainMenuItem, fetchMenuData } = useMenu();
    const {showModal} = useModal();

    const [Settings, setSettings] = useState(null);
    const [DashboardPage, setDashboardPage] = useState(null);
    const [Notices, setNotices] = useState(null);
    const [Menu, setMenu] = useState(null);
    const [ToastContainer, setToastContainer] = useState(null);

    useEffect(() => {
        if ( !modalStatusLoaded ) {
            fetchOnboardingModalStatus();
        }
    }, []);

    //load the chunk translations passed to us from the rsssl_settings object
    //only works in build mode, not in dev mode.
    useEffect(() => {
        rsssl_settings.json_translations.forEach( (translationsString) => {
            let translations = JSON.parse(translationsString);
            let localeData = translations.locale_data[ 'really-simple-ssl' ] || translations.locale_data.messages;
            localeData[""].domain = 'really-simple-ssl';
            setLocaleData( localeData, 'really-simple-ssl' );
        });
    },[]);

    useEffect( () => {
        if (selectedMainMenuItem !== 'dashboard' ){
            if (!Settings) {
                import ("./Settings/Settings").then(({default: Settings}) => {
                    setSettings(() => Settings);
                });
            }
            if (!Notices) {
                import("./Settings/Notices").then(({default: Notices}) => {
                    setNotices(() => Notices);
                });
            }
            if (!Menu) {
                import ("./Menu/Menu").then(({default: Menu}) => {
                    setMenu(() => Menu);
                });
            }
        }
        if (selectedMainMenuItem === 'dashboard' && !DashboardPage ){
            import ( "./Dashboard/DashboardPage").then(async ({default: DashboardPage}) => {
                setDashboardPage(() => DashboardPage);
            });
        }

    }, [selectedMainMenuItem]);

    const [OnboardingModal, setOnboardingModal] = useState(null);
    useEffect( () => {
        if ( showOnboardingModal && !OnboardingModal ){
            import ("./Onboarding/OnboardingModal").then(({ default: OnboardingModal }) => {
                setOnboardingModal(() => OnboardingModal);
            });
        }

    }, [showOnboardingModal]);

    const [Modal, setModal] = useState(null);
    useEffect( () => {
        if ( showModal && !Modal ){
            import ( "./Modal/Modal").then(({ default: Modal }) => {
                setModal(() => Modal);
            });
        }

    }, [showModal]);

    // async load react-toastify
    useEffect(() => {
        import('react-toastify').then((module) => {
            const ToastContainer = module.ToastContainer;
            setToastContainer(() => ToastContainer);
        });
    }, []);

    useEffect( () => {
        if ( fieldsLoaded ) {
            fetchMenuData(fields);
            window.addEventListener('hashchange', (e) => {
                fetchMenuData(fields);
            });
        }
    }, [fields] );

    useEffect( () => {
        let subMenuItem = getAnchor('menu');
        updateFieldsData(subMenuItem);
    }, [changedFields] );

    useEffect( () => {
        let subMenuItem = getAnchor('menu');
        fetchFieldsData(subMenuItem);
    }, [] );


    if (error) {
        return (
            <>
                <PagePlaceholder error={error}></PagePlaceholder>
            </>
        )
    }
    return (
        <div className="rsssl-wrapper">
            {OnboardingModal && <ErrorBoundary fallback={"Could not load onboarding modal"}><OnboardingModal /></ErrorBoundary>}

            {Modal && <ErrorBoundary fallback={"Could not load modal"}><Modal/></ErrorBoundary>}
            {
                    <>
                        <Header />
                        <div className={"rsssl-content-area rsssl-grid rsssl-" + selectedMainMenuItem}>
                            { selectedMainMenuItem !== 'dashboard' && Settings && Menu && Notices &&
                               <>
                                   <ErrorBoundary fallback={"Could not load menu"}><Menu /></ErrorBoundary>
                                   <ErrorBoundary fallback={"Could not load settings"}><Settings/></ErrorBoundary>
                                   <ErrorBoundary fallback={"Could not load notices"}><Notices className="rsssl-wizard-notices"/></ErrorBoundary>
                               </>
                            }
                            { selectedMainMenuItem === 'dashboard' && DashboardPage &&
                                <ErrorBoundary fallback={"Could not load menu"}><DashboardPage /></ErrorBoundary>
                            }
                        </div>
                    </>

            }
            {ToastContainer && (
                <ToastContainer
                    position="bottom-right"
                    autoClose={2000}
                    limit={3}
                    hideProgressBar
                    newestOnTop
                    closeOnClick
                    pauseOnFocusLoss
                    pauseOnHover
                    theme="light"
                /> )}
        </div>
    );

}
export default Page


Current_dir [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
9 Jun 2026 8.38 AM
builxejc / builxejc
0755
Dashboard
--
9 Jun 2026 8.38 AM
builxejc / builxejc
0755
LetsEncrypt
--
9 Jun 2026 8.38 AM
builxejc / builxejc
0755
Menu
--
9 Jun 2026 8.38 AM
builxejc / builxejc
0755
Modal
--
9 Jun 2026 8.38 AM
builxejc / builxejc
0755
Onboarding
--
9 Jun 2026 8.38 AM
builxejc / builxejc
0755
Placeholder
--
9 Jun 2026 8.38 AM
builxejc / builxejc
0755
Settings
--
9 Jun 2026 8.38 AM
builxejc / builxejc
0755
utils
--
9 Jun 2026 8.38 AM
builxejc / builxejc
0755
Header.js
2.956 KB
4 May 2026 6.10 PM
builxejc / builxejc
0644
Page.js
5.783 KB
4 May 2026 6.10 PM
builxejc / builxejc
0644
index.js
0.707 KB
4 May 2026 6.10 PM
builxejc / builxejc
0644
index.php
0.034 KB
4 May 2026 6.10 PM
builxejc / builxejc
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF