mirror of
https://github.com/supabase/supabase.git
synced 2026-09-22 13:37:53 +08:00
26 lines
878 B
TypeScript
26 lines
878 B
TypeScript
'use client'
|
|
|
|
import { useFeatureFlags, useSearchParamsShallow } from 'common'
|
|
|
|
import { SEARCH_V2_FLAG, type SearchV2Variant } from './constants'
|
|
import { IS_PRODUCTION } from '@/lib/constants'
|
|
|
|
const VARIANTS: SearchV2Variant[] = ['control', 'search-v2-active']
|
|
|
|
/**
|
|
* Reads the `docs-search-v2` PostHog experiment flag.
|
|
* Defaults to `'control'` while the flag store is loading or if the flag is unset,
|
|
* so an unresolved state always falls back to the current search experience.
|
|
*/
|
|
export function useSearchV2Variant(): SearchV2Variant {
|
|
const { posthog } = useFeatureFlags()
|
|
const searchParams = useSearchParamsShallow()
|
|
const override = searchParams.get(SEARCH_V2_FLAG)
|
|
|
|
if (VARIANTS.includes(override as SearchV2Variant)) {
|
|
return override as SearchV2Variant
|
|
}
|
|
|
|
return posthog[SEARCH_V2_FLAG] === 'search-v2-active' ? 'search-v2-active' : 'control'
|
|
}
|