woocommerce-paypal-payments/modules/ppcp-settings/resources/js/Components/Screens/Onboarding/Onboarding.js

46 lines
1.1 KiB
JavaScript
Raw Normal View History

import Container from '../../ReusableComponents/Container';
import { OnboardingHooks } from '../../../data';
import { getSteps } from './availableSteps';
2024-11-20 17:23:19 +01:00
import Navigation from './Components/Navigation';
2024-10-23 15:24:52 +02:00
const getCurrentStep = ( requestedStep, steps ) => {
const isValidStep = ( step ) =>
typeof step === 'number' &&
Number.isInteger( step ) &&
step >= 0 &&
step < steps.length;
const safeCurrentStep = isValidStep( requestedStep ) ? requestedStep : 0;
return steps[ safeCurrentStep ];
};
2024-10-23 15:24:52 +02:00
const Onboarding = () => {
const { step, setStep, setCompleted, flags } = OnboardingHooks.useSteps();
const steps = getSteps( flags );
const CurrentStepComponent = getCurrentStep( step, steps );
2024-10-24 06:35:48 +02:00
2024-10-23 15:24:52 +02:00
return (
2024-11-12 15:01:29 +01:00
<>
<Navigation
setStep={ setStep }
currentStep={ step }
setCompleted={ setCompleted }
stepperOrder={ steps }
/>
<Container page="onboarding">
<div className="ppcp-r-card">
<CurrentStepComponent
setStep={ setStep }
currentStep={ step }
setCompleted={ setCompleted }
stepperOrder={ steps }
/>
</div>
</Container>
</>
2024-10-23 15:24:52 +02:00
);
};
export default Onboarding;