| 1 |
import React from 'react'; |
| 2 |
import { useLocation } from 'react-router-dom'; |
| 3 |
|
| 4 |
import { |
| 5 |
WelcomeStep, |
| 6 |
PageBuilderStep, |
| 7 |
PluginsInstallStep, |
| 8 |
OptinStep, |
| 9 |
GlobalCheckout, |
| 10 |
ReadyStep, |
| 11 |
} from '@WizardSteps'; |
| 12 |
import { NavigationBar, FooterNavigationBar } from '@WizardFields'; |
| 13 |
|
| 14 |
function WizardRoute( props ) { |
| 15 |
const { setTemplatePreview } = props; |
| 16 |
const query = new URLSearchParams( useLocation().search ); |
| 17 |
const action = query.get( 'step' ); |
| 18 |
const templatePreview = query.get( 'preview' ); |
| 19 |
let previous_step = 'dashboard', |
| 20 |
next_step = '', |
| 21 |
step_sequence = ''; |
| 22 |
const maxSteps = 6; |
| 23 |
|
| 24 |
const get_route_page = function () { |
| 25 |
let route_page = ''; |
| 26 |
|
| 27 |
switch ( action ) { |
| 28 |
case 'welcome': |
| 29 |
route_page = <WelcomeStep />; |
| 30 |
previous_step = 'dashboard'; |
| 31 |
next_step = 'page-builder'; |
| 32 |
step_sequence = 0; |
| 33 |
break; |
| 34 |
case 'page-builder': |
| 35 |
route_page = <PageBuilderStep />; |
| 36 |
previous_step = 'welcome'; |
| 37 |
next_step = 'plugin-install'; |
| 38 |
step_sequence = 1; |
| 39 |
break; |
| 40 |
case 'plugin-install': |
| 41 |
route_page = <PluginsInstallStep />; |
| 42 |
previous_step = 'page-builder'; |
| 43 |
next_step = 'store-checkout'; |
| 44 |
step_sequence = 2; |
| 45 |
break; |
| 46 |
case 'store-checkout': |
| 47 |
route_page = <GlobalCheckout />; |
| 48 |
previous_step = 'plugin-install'; |
| 49 |
next_step = 'optin'; |
| 50 |
step_sequence = 3; |
| 51 |
setTemplatePreview( templatePreview ? true : false ); |
| 52 |
break; |
| 53 |
case 'optin': |
| 54 |
setTemplatePreview( false ); |
| 55 |
route_page = <OptinStep />; |
| 56 |
previous_step = 'store-checkout'; |
| 57 |
next_step = 'ready'; |
| 58 |
step_sequence = 4; |
| 59 |
break; |
| 60 |
case 'ready': |
| 61 |
route_page = <ReadyStep />; |
| 62 |
previous_step = 'optin'; |
| 63 |
step_sequence = 5; |
| 64 |
break; |
| 65 |
default: |
| 66 |
route_page = <WelcomeStep />; |
| 67 |
next_step = 'page-builder'; |
| 68 |
step_sequence = 0; |
| 69 |
break; |
| 70 |
} |
| 71 |
|
| 72 |
return route_page; |
| 73 |
}; |
| 74 |
|
| 75 |
return ( |
| 76 |
<> |
| 77 |
<NavigationBar /> |
| 78 |
<main className="wcf-setup-wizard-content py-24 relative bg-white"> |
| 79 |
{ get_route_page() } |
| 80 |
</main> |
| 81 |
<FooterNavigationBar |
| 82 |
previousStep={ previous_step } |
| 83 |
nextStep={ next_step } |
| 84 |
currentStep={ step_sequence } |
| 85 |
maxSteps={ maxSteps } |
| 86 |
/> |
| 87 |
</> |
| 88 |
); |
| 89 |
} |
| 90 |
|
| 91 |
export default WizardRoute; |
| 92 |
|