HEX
Server: LiteSpeed
System: Linux server902.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: deshuvsd (2181)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: /home/deshuvsd/www/wp-content/plugins/surerank/src/apps/seo-popup/components/keyword-input.js
import { useSelect, useDispatch } from '@wordpress/data';
import { STORE_NAME } from '@Store/constants';
import PreviewInputWithSuffix from '@AdminComponents/preview-input-with-suffix';
import { Text } from '@bsf/force-ui';
import { __ } from '@wordpress/i18n';
import { InfoTooltip } from '@AdminComponents/tooltip';

const KeywordInput = () => {
	const { updatePostMetaData } = useDispatch( STORE_NAME );
	const { focusKeyword, initialized } = useSelect( ( select ) => {
		const selectors = select( STORE_NAME );
		return {
			focusKeyword: selectors?.getPostSeoMeta?.()?.focus_keyword,
			initialized: selectors.getMetaboxState(),
		};
	} );

	const handleFocusKeywordChange = ( value ) => {
		updatePostMetaData( { focus_keyword: value } );
	};

	return (
		<div className="w-full flex flex-col gap-2 [&>div]:w-full">
			<div className="flex items-center gap-2">
				<Text
					as="label"
					size={ 14 }
					weight={ 500 }
					lineHeight={ 20 }
					htmlFor="focus-keyword-input"
				>
					{ __( 'Focus Keyword', 'surerank' ) }
				</Text>
				<InfoTooltip
					content={ __(
						'The primary keyword or phrase you want this content to rank for in search engines. Keyword checks will be based on this.',
						'surerank'
					) }
					placement="top-start"
					arrow={ false }
				/>
			</div>
			<PreviewInputWithSuffix
				id="focus-keyword-input"
				value={ focusKeyword || '' }
				onChange={ handleFocusKeywordChange }
				isLoading={ ! initialized }
			/>
		</div>
	);
};

export default KeywordInput;