tabs-experiment-widget.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import LabsExperimentWidget, {
  2. LabsExperimentWidgetProps,
  3. } from '@/shared/components/labs/labs-experiments-widget'
  4. import { isInExperiment } from '@/utils/labs-utils'
  5. import { useState } from 'react'
  6. import MaterialIcon from '@/shared/components/material-icon'
  7. import { isSplitTestEnabled } from '@/utils/splitTestUtils'
  8. type LabsWidgetProps = Pick<LabsExperimentWidgetProps, 'setErrorMessage'> & {
  9. labsProgram: boolean
  10. }
  11. const LabsWidget = ({ setErrorMessage, labsProgram }: LabsWidgetProps) => {
  12. const [optedIn, setOptedIn] = useState(isInExperiment('editor-tabs'))
  13. const description = (
  14. <span>Quickly switch between open files and documents using tabs.</span>
  15. )
  16. return (
  17. <LabsExperimentWidget
  18. description={description}
  19. experimentName="editor-tabs"
  20. title="Editor tabs"
  21. setOptedIn={setOptedIn}
  22. setErrorMessage={setErrorMessage}
  23. optedIn={optedIn}
  24. logo={
  25. <MaterialIcon
  26. type="tab_group"
  27. className="rounded bg-primary-subtle labs-experiment-icon"
  28. />
  29. }
  30. optedInDescription={description}
  31. labsEnabled={labsProgram}
  32. />
  33. )
  34. }
  35. export const hidden = () => !isSplitTestEnabled('editor-tabs')
  36. export default LabsWidget