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 / assets / src / Components / PreviewFrame.js
templates-patterns-collection / assets / src / Components Last commit date
CloudLibrary 1 year ago Settings 1 year ago StarterSites 3 years ago App.js 2 years ago Card.js 3 years ago CategoriesTabs.js 3 years ago CategorySelector.js 2 years ago CustomTooltip.js 3 years ago DocNotice.js 2 years ago EditorSelector.js 2 years ago EditorTabs.js 4 years ago Header.js 2 years ago Icon.js 2 years ago ImportModal.js 1 year ago ImportModalError.js 2 years ago ImportModalMock.js 4 years ago ImportModalNote.js 4 years ago ImportStepper.js 1 year ago InstallModal.js 1 year ago License.js 2 years ago LicensePanelContext.js 3 years ago Loading.js 4 years ago Main.js 1 year ago Migration.js 4 years ago NewTCNotice.js 1 year ago Notification.js 4 years ago OnboardingContent.js 4 years ago PreviewFrame.js 3 years ago Search.js 2 years ago StarterSiteCard.js 3 years ago
PreviewFrame.js
124 lines
1 /* global tiobDash */
2 import { withSelect, withDispatch } from '@wordpress/data';
3 import { Button, Dashicon } from '@wordpress/components';
4 import { compose } from '@wordpress/compose';
5 import { __, isRTL } from '@wordpress/i18n';
6 import { close, chevronRight, chevronLeft } from '@wordpress/icons';
7
8 const PreviewFrame = ( {
9 next,
10 prev,
11 siteData,
12 setSite,
13 setPreview,
14 setModal,
15 } ) => {
16 const handleImport = ( e ) => {
17 e.preventDefault();
18 setModal( true );
19 };
20 const handleNext = ( e ) => {
21 e.preventDefault();
22 setSite( next );
23 };
24 const handlePrev = ( e ) => {
25 e.preventDefault();
26 setSite( prev );
27 };
28 const handleClose = ( e ) => {
29 e.preventDefault();
30 setPreview( false );
31 setSite( null );
32 };
33
34 return (
35 <div className="ob-preview">
36 <div className="preview">
37 <iframe src={ siteData.url } frameBorder="0" />
38 <div className="loading">
39 <Dashicon icon="update" size={ 50 } />
40 </div>
41 </div>
42 <div className="bottom-bar">
43 <div className="navigator">
44 <Button
45 onClick={ handleClose }
46 className="close"
47 label={ __( 'Close', 'templates-patterns-collection' ) }
48 icon={ close }
49 />
50
51 { prev && (
52 <Button
53 onClick={ handlePrev }
54 className="prev"
55 label={ __(
56 'Previous',
57 'templates-patterns-collection'
58 ) }
59 icon={ isRTL() ? chevronRight : chevronLeft }
60 />
61 ) }
62
63 { next && (
64 <Button
65 onClick={ handleNext }
66 className="next"
67 label={ __(
68 'Next',
69 'templates-patterns-collection'
70 ) }
71 icon={ isRTL() ? chevronLeft : chevronRight }
72 />
73 ) }
74 </div>
75 <div className="actions">
76 { siteData.upsell ? (
77 <Button
78 className="upgrade"
79 isPrimary
80 href={
81 siteData.utmOutboundLink || tiobDash.upgradeURL
82 }
83 >
84 { __(
85 'Upgrade and Import',
86 'templates-patterns-collection'
87 ) }
88 </Button>
89 ) : (
90 <Button
91 className="import"
92 isPrimary
93 onClick={ handleImport }
94 >
95 { __( 'Import', 'templates-patterns-collection' ) }
96 </Button>
97 ) }
98 </div>
99 </div>
100 </div>
101 );
102 };
103
104 export default compose(
105 withSelect( ( select ) => {
106 const { getCurrentSite } = select( 'neve-onboarding' );
107 return {
108 siteData: getCurrentSite(),
109 };
110 } ),
111 withDispatch( ( dispatch ) => {
112 const {
113 setCurrentSite,
114 setPreviewStatus,
115 setImportModalStatus,
116 } = dispatch( 'neve-onboarding' );
117 return {
118 setSite: ( data ) => setCurrentSite( data ),
119 setPreview: ( status ) => setPreviewStatus( status ),
120 setModal: ( status ) => setImportModalStatus( status ),
121 };
122 } )
123 )( PreviewFrame );
124