new-editor-utils.ts 804 B

123456789101112131415161718192021222324
  1. import { useUserSettingsContext } from '@/shared/context/user-settings-context'
  2. import { isInExperiment } from '@/utils/labs-utils'
  3. import getMeta from '@/utils/meta'
  4. import { isSplitTestEnabled } from '@/utils/splitTestUtils'
  5. export const isNewEditorInBeta = () => {
  6. const splitTestInfo = getMeta('ol-splitTestInfo') || {}
  7. return splitTestInfo['editor-redesign']?.phase === 'beta'
  8. }
  9. export const canUseNewEditor = () => {
  10. const inBetaPhase = isNewEditorInBeta()
  11. return (
  12. (!inBetaPhase && isInExperiment('editor-redesign')) ||
  13. isSplitTestEnabled('editor-redesign')
  14. )
  15. }
  16. export const useIsNewEditorEnabled = () => {
  17. const { userSettings } = useUserSettingsContext()
  18. const hasAccess = canUseNewEditor()
  19. const enabled = userSettings.enableNewEditor
  20. return hasAccess && enabled
  21. }