File "CompetitorAnalysis.js"
Full Path: /home/diablzlo/glucosebalnce.com/wp-content/plugins/seo-by-rank-math-pro/includes/modules/seo-analysis/assets/src/components/CompetitorAnalysis.js
File size: 2.69 KB
MIME-type: text/plain
Charset: utf-8
/**
* External Dependencies
*/
import { isEmpty, values } from 'lodash'
/**
* WordPress Dependencies
*/
import { __ } from '@wordpress/i18n'
import { RawHTML } from '@wordpress/element'
/**
* Internal Dependencies
*/
import {
TextControl,
Button,
AnalyzerResult,
ProgressBar,
} from '@rank-math/components'
import { useAnalyzerContext, AnalyzerContextProvider } from '../context'
const CompetitorAnalysis = ( { onTabSelect } ) => {
const {
competitorAnalysis,
competitorUrl,
updateUrl,
localAnalysis,
analysisError,
startProgress,
startAnalysis,
} = useAnalyzerContext()
const handleStartAnalysis = ( event ) => {
event.preventDefault()
startAnalysis()
}
return (
<>
<div className="rank-math-box">
<h2>{ __( 'Competitor Analysis', 'rank-math-pro' ) }</h2>
<p>
{ __(
'Enter a site URL to see how it ranks for the same SEO criteria as your site.',
'rank-math-pro'
) }
</p>
<form onSubmit={ handleStartAnalysis } className="url-form">
<TextControl
variant="default"
placeholder="https://"
className="rank-math-analyze-url"
id="competitor_url"
value={ competitorUrl }
onChange={ updateUrl }
/>
<Button
type="submit"
variant="primary"
id="competitor_url_submit"
className="rank-math-recheck no-autostart"
disabled={ ! competitorUrl }
>
{ __( 'Start Audit', 'rank-math-pro' ) }
</Button>
</form>
{ values( competitorAnalysis ).length > 1 && values( localAnalysis ).length > 1 && (
<div className="rank-math-tooltip">
<Button
variant="secondary"
id="rank-math-toggle-side-by-side"
onClick={ () => onTabSelect( 'side_by_side' ) }
>
<em className="dashicons dashicons-columns"></em>
</Button>
<span>{ __( 'Side-by-Side Comparison', 'rank-math-pro' ) }</span>
</div>
) }
</div>
<div className="rank-math-box rank-math-analyzer-result">
<span className="wp-header-end"></span>
{ analysisError && <RawHTML>{ analysisError }</RawHTML> }
{ startProgress ? (
<ProgressBar />
) : (
! isEmpty( competitorAnalysis ) &&
! analysisError && (
<AnalyzerResult results={ competitorAnalysis } />
)
) }
<p style={ { textAlign: 'right' } }>
<em>
<strong>{ __( 'Note:', 'rank-math-pro' ) } </strong>
{ __(
"The total test count is different for the competitor as we don't have access to their database.",
'rank-math-pro'
) }
</em>
</p>
</div>
</>
)
}
export default ( { onTabSelect } ) => (
<AnalyzerContextProvider>
<CompetitorAnalysis onTabSelect={ onTabSelect } />
</AnalyzerContextProvider>
)