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 / 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