diff --git a/packages/js/src/ai-assessment-fixes/components/ai-assessment-fixes-button.js b/packages/js/src/ai-assessment-fixes/components/ai-assessment-fixes-button.js index c0380ebf0d4..36a6abe963f 100644 --- a/packages/js/src/ai-assessment-fixes/components/ai-assessment-fixes-button.js +++ b/packages/js/src/ai-assessment-fixes/components/ai-assessment-fixes-button.js @@ -82,6 +82,9 @@ const AIAssessmentFixesButton = ( { id, isPremium } ) => { setButtonClass( "" ); }, [] ); + // Generate a unique gradient ID for the SparklesIcon component. + const gradientId = `gradient-${ Math.random().toString( 36 ).substring( 2, 9 ) }`; + return ( <> { className={ `ai-button ${buttonClass}` } pressed={ isButtonPressed } > - + { // We put the logic for the Upsell component in place. // The Modal below is only a placeholder/mock. When we have the design for the real upsell, the modal should be replaced. diff --git a/packages/js/src/ai-assessment-fixes/components/sparkles-icon.js b/packages/js/src/ai-assessment-fixes/components/sparkles-icon.js index 99e2045bbea..a85516ee41d 100644 --- a/packages/js/src/ai-assessment-fixes/components/sparkles-icon.js +++ b/packages/js/src/ai-assessment-fixes/components/sparkles-icon.js @@ -3,25 +3,27 @@ import propTypes from "prop-types"; /** * The AI Assessment Fixes button icon. * @param {boolean} pressed Whether the button is pressed. + * @param {string} gradientId The gradient ID for the icon. * @returns {JSX.Element} The AI Assessment Fixes button icon. */ -export const SparklesIcon = ( { pressed = false } ) => { +export const SparklesIcon = ( { pressed = false, gradientId } ) => { return ( <> - + - - + + @@ -31,4 +33,5 @@ export const SparklesIcon = ( { pressed = false } ) => { SparklesIcon.propTypes = { pressed: propTypes.bool, + gradientId: propTypes.string, }; diff --git a/packages/js/tests/ai-assessment-fixes/components/SparklesIcon.test.js b/packages/js/tests/ai-assessment-fixes/components/SparklesIcon.test.js index eba0ba467c7..ede1d205208 100644 --- a/packages/js/tests/ai-assessment-fixes/components/SparklesIcon.test.js +++ b/packages/js/tests/ai-assessment-fixes/components/SparklesIcon.test.js @@ -11,12 +11,11 @@ const testCases = [ name: "pressed is true", pressed: true, }, - ]; describe.each( testCases )( "SparklesIcon", ( { name, pressed } ) => { test( `should render the SparklesIcon component when ${name}`, () => { - const { container } = render( ); + const { container } = render( ); expect( container ).toMatchSnapshot(); } ); diff --git a/packages/js/tests/ai-assessment-fixes/components/__snapshots__/SparklesIcon.test.js.snap b/packages/js/tests/ai-assessment-fixes/components/__snapshots__/SparklesIcon.test.js.snap index 516b221fa17..67dfc18dab5 100644 --- a/packages/js/tests/ai-assessment-fixes/components/__snapshots__/SparklesIcon.test.js.snap +++ b/packages/js/tests/ai-assessment-fixes/components/__snapshots__/SparklesIcon.test.js.snap @@ -4,14 +4,14 @@ exports[`SparklesIcon should render the SparklesIcon component when pressed is f
@@ -42,13 +43,13 @@ exports[`SparklesIcon should render the SparklesIcon component when pressed is t