OwlCyberSecurity - MANAGER
Edit File: OnboardingModal.js
import {useEffect} from "@wordpress/element"; import Onboarding from "./Onboarding"; import Placeholder from '../Placeholder/Placeholder'; import { __ } from '@wordpress/i18n'; import Icon from "../utils/Icon"; import useOnboardingData from "./OnboardingData"; import useFields from "../Settings/FieldsData"; import RssslModal from "../../../modal/src/components/Modal/RssslModal"; import OnboardingControls from "./OnboardingControls"; const OnboardingModal = () => { const {footerStatus, showOnboardingModal, fetchOnboardingModalStatus, modalStatusLoaded, currentStep, dismissModal} = useOnboardingData(); const {fieldsLoaded} = useFields(); useEffect(() => { if ( !modalStatusLoaded ) { fetchOnboardingModalStatus(); } }, []); useEffect(()=> { if ( showOnboardingModal ) { dismissModal(false); } }, [showOnboardingModal]); const modalContent = () => { return ( <> { !fieldsLoaded && <> <ul> <li><Icon name = "loading" />{__("Please wait while we detect your setup", "really-simple-ssl")}</li> </ul> <Placeholder lines="3"></Placeholder> </> } { fieldsLoaded && <Onboarding isModal={true} /> } </> ) } const setOpen = (open) => { if ( !open ) { dismissModal(true); } } const handleFooterStatus = () => { if ( footerStatus.length === 0 ) { return false; } return ( <> <Icon name = "loading" color = 'grey' /> {footerStatus} </> ) } return ( <> <RssslModal className={"rsssl-onboarding-modal"} title={currentStep.title} subTitle={currentStep.subtitle} content={modalContent()} isOpen={showOnboardingModal} setOpen={setOpen} buttons = <OnboardingControls isModal={true} /> footer = {handleFooterStatus() } /> </> ) } export default OnboardingModal;