PluginProbe ʕ •ᴥ•ʔ
Starter Sites & Templates by Neve / 1.4.1
Starter Sites & Templates by Neve v1.4.1
1.4.1 1.4.0 1.3.0 1.2.29 1.2.28 1.2.6 1.2.7 1.2.8 1.2.9 trunk 1.0.10 1.0.11 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.27 1.1.28 1.1.29 1.1.3 1.1.30 1.1.31 1.1.32 1.1.33 1.1.34 1.1.35 1.1.36 1.1.37 1.1.38 1.1.39 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.3 1.2.4 1.2.5
templates-patterns-collection / onboarding / src / Components / Header.js
templates-patterns-collection / onboarding / src / Components Last commit date
CustomizeControls 2 months ago Steps 2 weeks ago App.js 2 years ago CategoryButtons.js 3 weeks ago CustomTooltip.js 2 years ago EditorSelector.js 2 years ago FeaturesList.js 1 day ago Filters.js 3 weeks ago Header.js 3 weeks ago ImportError.js 2 years ago ImportForm.js 1 year ago ImportMock.js 2 years ago ImportProgress.js 1 year ago Onboarding.js 3 weeks ago ProgressBar.js 2 years ago Search.js 3 weeks ago SitePreview.js 2 years ago SiteSettings.js 2 months ago Sites.js 2 weeks ago StarterSiteCard.js 1 day ago Toast.js 2 weeks ago WelcomeMock.js 2 years ago
Header.js
96 lines
1 /* global tiobDash */
2 import { compose } from '@wordpress/compose';
3 import { withSelect, withDispatch } from '@wordpress/data';
4 import { __ } from '@wordpress/i18n';
5 import { Button } from '@wordpress/components';
6 import SVG from '../utils/svg';
7 import { ajaxAction, track } from '../utils/rest';
8
9 const Header = ( { handleLogoClick, importing, step, trackingId } ) => {
10 const { brandedTheme } = tiobDash;
11
12 const handleExit = () => {
13 const data = {
14 slug: 'neve',
15 license_id: tiobDash.license,
16 site: tiobDash.onboarding.homeUrl || '',
17 step_id: step,
18 step_status: 'exit',
19 };
20 const adminUrl =
21 tiobDash.onboarding?.adminUrl ||
22 tiobDash.adminUrl ||
23 ( tiobDash.onboarding.homeUrl || '' ) + '/wp-admin/';
24
25 const trackingPromise = track( trackingId, data );
26
27 let finishImportPromise;
28 if ( step === 5 ) {
29 finishImportPromise = ajaxAction(
30 tiobDash.onboardingDone.ajaxURL,
31 'mark_onboarding_done',
32 tiobDash.onboardingDone.nonce
33 );
34 }
35
36 Promise.all( [ trackingPromise, finishImportPromise ] )
37 .catch( ( error ) => {
38 // eslint-disable-next-line no-console
39 console.error( error );
40 } )
41 .finally( () => {
42 window.location.href = adminUrl;
43 } );
44 };
45
46 return (
47 <div className="ob-header">
48 <Button
49 onClick={ handleLogoClick }
50 disabled={ importing }
51 style={ { opacity: 1 } }
52 >
53 { ! brandedTheme ? (
54 SVG.logo
55 ) : (
56 <h2 style={ { margin: 0 } }>
57 { __(
58 'Import Templates',
59 'templates-patterns-collection'
60 ) }
61 </h2>
62 ) }
63 </Button>
64 <Button
65 label={ __(
66 'Exit to dashboard',
67 'templates-patterns-collection'
68 ) }
69 isLink
70 disabled={ importing }
71 onClick={ handleExit }
72 >
73 { SVG.close }
74 </Button>
75 </div>
76 );
77 };
78
79 export default compose(
80 withSelect( ( select ) => {
81 const { getCurrentStep, getTrackingId } = select( 'ti-onboarding' );
82 return {
83 step: getCurrentStep(),
84 trackingId: getTrackingId(),
85 };
86 } ),
87 withDispatch( ( dispatch ) => {
88 const { setOnboardingStep } = dispatch( 'ti-onboarding' );
89 return {
90 handleLogoClick: () => {
91 setOnboardingStep( 2 );
92 },
93 };
94 } )
95 )( Header );
96