PluginProbe ʕ •ᴥ•ʔ
Starter Sites & Templates by Neve / trunk
Starter Sites & Templates by Neve vtrunk
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 2 weeks ago CustomTooltip.js 2 years ago EditorSelector.js 2 years ago FeaturesList.js 1 year ago Filters.js 2 weeks ago Header.js 2 weeks ago ImportError.js 2 years ago ImportForm.js 1 year ago ImportMock.js 2 years ago ImportProgress.js 1 year ago Onboarding.js 2 weeks ago ProgressBar.js 2 years ago Search.js 2 weeks ago SitePreview.js 2 years ago SiteSettings.js 2 months ago Sites.js 2 weeks ago StarterSiteCard.js 2 weeks 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