This commit is contained in:
2026-07-02 15:54:39 -06:00
commit 9883323161
17470 changed files with 4470592 additions and 0 deletions
@@ -0,0 +1,52 @@
import { useAICheckout, useAiFeature } from '@automattic/jetpack-ai-client';
import { Button, Notice } from '@wordpress/components';
import { useDispatch, useSelect } from '@wordpress/data';
import { useCallback } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
import { recordAiEvent } from '../lib/tracks';
import { AI_STORE_NAME } from '../store';
export default function UpgradeNotice() {
const { hasFeature } = useAiFeature();
const { checkoutUrl } = useAICheckout();
const { dismissBanner } = useDispatch( AI_STORE_NAME );
const dismissed = useSelect( select => select( AI_STORE_NAME ).isBannerDismissed(), [] );
const handleUpgradeClick = useCallback( () => {
// Record the click only. Dismissal is persisted by the close button
// ( onRemove ), so the nudge returns if checkout is opened and abandoned.
recordAiEvent( 'jetpack_ai_upgrade_button', {
placement: 'content-guidelines',
} );
}, [] );
if ( hasFeature || dismissed ) {
return null;
}
return (
<Notice
status="success"
isDismissible
onRemove={ dismissBanner }
className="jetpack-content-guidelines-ai__upgrade-notice"
>
<p>
{ __(
'Not sure where to start? Jetpack can read your site and suggest guidelines tailored to your content. Upgrade to get started.',
'jetpack'
) }
</p>
{ checkoutUrl && (
<Button
variant="primary"
href={ checkoutUrl }
target="_blank"
onClick={ handleUpgradeClick }
>
{ __( 'Upgrade', 'jetpack' ) }
</Button>
) }
</Notice>
);
}