Repository: strapi/strapi
File: packages/core/admin/admin/src/components/GuidedTour/Steps/ContentTypeBuilderSteps.tsx (TypeScript)

Code before:
  <Step.Root side="right" sideOffset={16}>
    <Step.Title id="tours.contentTypeBuilder.YourTurn.title" defaultMessage="Your turn" />
    <Step.Content
      id="tours.contentTypeBuilder.YourTurn.content"
      defaultMessage="Create a collection type or single type and configure it."
    />
    <Step.Actions>
      <ContentTypeBuilderActions showPrevious />
    </Step.Actions>
  </Step.Root>
);

const AddFields = ({ Step, dispatch }: StepContentProps) => (
  <Step.Root side="bottom">
    <Step.Title
      id="tours.contentTypeBuilder.AddFields.title"
      defaultMessage="Don't forget to add a field to your content type"
    />
    <Step.Content
      id="tours.contentTypeBuilder.AddFields.content"
      defaultMessage="Add the fields your content needs such as text, media and relations."
    />
    <Step.Actions>
      <ContentTypeBuilderActions
        showPrevious
        CustomActions={
          <GotItAction
            onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}
          />
        }
      />
    </Step.Actions>
  </Step.Root>
);

const Save = ({ Step, dispatch }: StepContentProps) => (
  <Step.Root side="right">
    <Step.Title id="tours.contentTypeBuilder.Save.title" defaultMessage="Save before you leave!" />
    <Step.Content
      id="tours.contentTypeBuilder.Save.content"
      defaultMessage="Save the changes you made here before leaving this page."
    />
    <Step.Actions>
      <ContentTypeBuilderActions
        showPrevious
        CustomActions={
          <GotItAction
            onClick={() => {
              // Ensure the completed action is removed
              // in the event the user already has a schema but is still doing the tour
              dispatch({

Review comment (suggestion):
I thin instead of a CustomActions prop, you could rely on optional children. This is how Step.Actions already works so it would be more consistent

Code after:
    <Step.Title id="tours.contentTypeBuilder.YourTurn.title" defaultMessage="Your turn" />
    <Step.Content
      id="tours.contentTypeBuilder.YourTurn.content"
      defaultMessage="Create a collection type or single type and configure it."
    />
    <Step.Actions>
      <ContentTypeBuilderActions showPrevious />
    </Step.Actions>
  </Step.Root>
);

const AddFields = ({ Step, dispatch }: StepContentProps) => (
  <Step.Root side="bottom">
    <Step.Title
      id="tours.contentTypeBuilder.AddFields.title"
      defaultMessage="Don't forget to add a field to your content type"
    />
    <Step.Content
      id="tours.contentTypeBuilder.AddFields.content"
      defaultMessage="Add the fields your content needs such as text, media and relations."
    />
    <Step.Actions>
      <ContentTypeBuilderActions showPrevious>
        <GotItAction
          onClick={() => dispatch({ type: 'next_step', payload: 'contentTypeBuilder' })}
        />
      </ContentTypeBuilderActions>
    </Step.Actions>
  </Step.Root>
);

const Save = ({ Step, dispatch }: StepContentProps) => (
  <Step.Root side="right">
    <Step.Title id="tours.contentTypeBuilder.Save.title" defaultMessage="Save before you leave!" />
    <Step.Content
      id="tours.contentTypeBuilder.Save.content"
      defaultMessage="Save the changes you made here before leaving this page."
    />
    <Step.Actions>
      <ContentTypeBuilderActions showPrevious>
        <GotItAction
          onClick={() => {
            // Ensure the completed action is removed
            // in the event the user already has a schema but is still doing the tour
            dispatch({
              type: 'remove_completed_action',
              payload: GUIDED_TOUR_REQUIRED_ACTIONS.contentTypeBuilder.createSchema,
            });
            dispatch({ type: 'next_step', payload: 'contentTypeBuilder' });
          }}
        />