♻️(frontend) extract feature flag into a dedicated enum

Extract code elements related to feature flag into a proper enum
to avoid hardcoded literals.
This commit is contained in:
lebaudantoine
2025-04-10 18:57:59 +02:00
committed by aleb_the_flash
parent 94e71ba15d
commit ba9d22f6c8
4 changed files with 10 additions and 3 deletions

View File

@@ -0,0 +1,4 @@
export enum FeatureFlags {
Transcript = 'transcription-summary',
faceLandmarks = 'face-landmarks',
}

View File

@@ -3,10 +3,11 @@ import { useIsAnalyticsEnabled } from '@/features/analytics/hooks/useIsAnalytics
import { RecordingMode } from '../types' import { RecordingMode } from '../types'
import { useIsRecordingModeEnabled } from './useIsRecordingModeEnabled' import { useIsRecordingModeEnabled } from './useIsRecordingModeEnabled'
import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner' import { useIsAdminOrOwner } from '@/features/rooms/livekit/hooks/useIsAdminOrOwner'
import { FeatureFlags } from '@/features/analytics/enums'
export const useHasRecordingAccess = ( export const useHasRecordingAccess = (
mode: RecordingMode, mode: RecordingMode,
featureFlag: string featureFlag: FeatureFlags
) => { ) => {
const featureEnabled = useFeatureFlagEnabled(featureFlag) const featureEnabled = useFeatureFlagEnabled(featureFlag)
const isAnalyticsEnabled = useIsAnalyticsEnabled() const isAnalyticsEnabled = useIsAnalyticsEnabled()

View File

@@ -23,6 +23,7 @@ import {
BETA_USERS_FORM_URL, BETA_USERS_FORM_URL,
CRISP_HELP_ARTICLE_TRANSCRIPT, CRISP_HELP_ARTICLE_TRANSCRIPT,
} from '@/utils/constants' } from '@/utils/constants'
import { FeatureFlags } from '@/features/analytics/enums'
export const Transcript = () => { export const Transcript = () => {
const [isLoading, setIsLoading] = useState(false) const [isLoading, setIsLoading] = useState(false)
@@ -30,7 +31,7 @@ export const Transcript = () => {
const hasTranscriptAccess = useHasRecordingAccess( const hasTranscriptAccess = useHasRecordingAccess(
RecordingMode.Transcript, RecordingMode.Transcript,
'transcription-summary' FeatureFlags.Transcript
) )
const roomId = useRoomId() const roomId = useRoomId()

View File

@@ -1,8 +1,9 @@
import { useFeatureFlagEnabled } from 'posthog-js/react' import { useFeatureFlagEnabled } from 'posthog-js/react'
import { useIsAnalyticsEnabled } from '@/features/analytics/hooks/useIsAnalyticsEnabled' import { useIsAnalyticsEnabled } from '@/features/analytics/hooks/useIsAnalyticsEnabled'
import { FeatureFlags } from '@/features/analytics/enums'
export const useHasFaceLandmarksAccess = () => { export const useHasFaceLandmarksAccess = () => {
const featureEnabled = useFeatureFlagEnabled('face-landmarks') const featureEnabled = useFeatureFlagEnabled(FeatureFlags.faceLandmarks)
const isAnalyticsEnabled = useIsAnalyticsEnabled() const isAnalyticsEnabled = useIsAnalyticsEnabled()
return featureEnabled || !isAnalyticsEnabled return featureEnabled || !isAnalyticsEnabled