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 / CustomizeControls / SiteNameControl.js
templates-patterns-collection / onboarding / src / Components / CustomizeControls Last commit date
FeaturesControl.js 1 year ago ImportOptionsControl.js 1 year ago LogoControl.js 1 year ago PaletteControl.js 1 year ago SiteNameControl.js 1 year ago TypographyControl.js 2 months ago
SiteNameControl.js
78 lines
1 import { __ } from '@wordpress/i18n';
2 import { compose } from '@wordpress/compose';
3 import { withSelect, withDispatch } from '@wordpress/data';
4 import { TextControl } from '@wordpress/components';
5 import { useState, useEffect } from '@wordpress/element';
6
7 const SiteNameControl = ( { userCustomSettings, handleSiteNameChange } ) => {
8 const { siteName } = userCustomSettings;
9 const [ inputValue, setInputValue ] = useState( siteName );
10
11 useEffect( () => {
12 const timer = setTimeout( () => {
13 handleSiteNameChange( inputValue );
14 }, 500 );
15
16 return () => clearTimeout( timer );
17 }, [ inputValue ] );
18
19 return (
20 <div className="ob-ctrl">
21 <div className="ob-ctrl-head small-gap">
22 <h3>
23 { __( 'Business Name', 'templates-patterns-collection' ) }
24 </h3>
25 </div>
26 <div className="ob-ctrl-wrap input">
27 <TextControl
28 className="ob-site-name"
29 value={ inputValue }
30 onChange={ ( newValue ) => {
31 setInputValue( newValue );
32 } }
33 />
34 </div>
35 </div>
36 );
37 };
38
39 export default compose(
40 withSelect( ( select ) => {
41 const { getUserCustomSettings, getImportData, getPluginOptions } =
42 select( 'ti-onboarding' );
43 return {
44 userCustomSettings: getUserCustomSettings(),
45 importData: getImportData(),
46 pluginOptions: getPluginOptions(),
47 };
48 } ),
49 withDispatch(
50 ( dispatch, { importData, userCustomSettings, importDataDefault } ) => {
51 const { setUserCustomSettings, setImportData, setRefresh } =
52 dispatch( 'ti-onboarding' );
53
54 return {
55 handleSiteNameChange: ( newSiteName ) => {
56 const updatedSettings = {
57 ...userCustomSettings,
58 siteName: newSiteName,
59 };
60 setUserCustomSettings( updatedSettings );
61
62 const newImportData = {
63 ...importData,
64 wp_options: {
65 ...importData.wp_options,
66 blogname:
67 newSiteName ||
68 importDataDefault.wp_options.blogname,
69 },
70 };
71 setImportData( newImportData );
72 setRefresh( true );
73 }
74 };
75 }
76 )
77 )( SiteNameControl );
78