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 / beaver / src / components / preview.js
templates-patterns-collection / beaver / src / components Last commit date
content.js 5 years ago export.js 5 years ago filters.js 5 years ago header.js 1 year ago list-item.js 5 years ago pagination.js 5 years ago preview.js 1 year ago templates-content.js 5 years ago
preview.js
66 lines
1 import { __ } from '@wordpress/i18n';
2 import { Button, Icon, Placeholder, Spinner } from '@wordpress/components';
3 import { useDispatch, useSelect } from '@wordpress/data';
4 import { rotateRight } from '@wordpress/icons';
5
6 const Preview = ( { isFetching, importTemplate } ) => {
7 const { togglePreview } = useDispatch( 'tpc/beaver' );
8
9 const { item } = useSelect( ( select ) =>
10 select( 'tpc/beaver' ).getPreview()
11 );
12
13 const importItem = () => {
14 togglePreview();
15 importTemplate( item.template_id );
16 };
17
18 return (
19 <div className="tpc-modal-content">
20 <div className="preview-header">
21 <div className="left">
22 { item.template_name ||
23 __( 'Template', 'templates-patterns-collection' ) }
24 </div>
25
26 <div className="right">
27 <Button isSecondary onClick={ togglePreview }>
28 { __(
29 'Close Preview',
30 'templates-patterns-collection'
31 ) }
32 </Button>
33
34 <Button
35 isPrimary
36 isBusy={ isFetching }
37 disabled={ isFetching }
38 onClick={ importItem }
39 >
40 { __( 'Import', 'templates-patterns-collection' ) }
41 </Button>
42 </div>
43 </div>
44
45 { isFetching ? (
46 <Placeholder>
47 <Spinner />
48 </Placeholder>
49 ) : (
50 <div className="preview-content">
51 <iframe
52 src={ item.link || '' }
53 title={ item.template_name || '' }
54 />
55
56 <div className="is-loading">
57 <Icon icon={ rotateRight } />
58 </div>
59 </div>
60 ) }
61 </div>
62 );
63 };
64
65 export default Preview;
66