diff options
author | dan <dan.abramov@gmail.com> | 2024-04-10 19:36:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-10 19:36:37 +0100 |
commit | 427f3a848d3bdc2e9c4b6b7cb2b8699511339ee2 (patch) | |
tree | e50dd6fc56e45170730223c53180389cfab676cf /src | |
parent | bf974b147ec8ba2b84803d17f8ca1f9291726ed2 (diff) | |
download | voidsky-427f3a848d3bdc2e9c4b6b7cb2b8699511339ee2.tar.zst |
[Statsig] Typecheck gates (#3467)
* Typecheck gates * Lint against untyped useGate() * Alphabetic
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/statsig/gates.ts | 11 | ||||
-rw-r--r-- | src/lib/statsig/statsig.tsx | 3 | ||||
-rw-r--r-- | src/view/screens/Search/Search.tsx | 4 |
3 files changed, 12 insertions, 6 deletions
diff --git a/src/lib/statsig/gates.ts b/src/lib/statsig/gates.ts index fce25cb88..c755ad437 100644 --- a/src/lib/statsig/gates.ts +++ b/src/lib/statsig/gates.ts @@ -1,3 +1,8 @@ -import {useGate} from './statsig' - -export const useNewSearchGate = () => useGate('new_search') +export type Gate = + // Keep this alphabetic please. + | 'autoexpand_suggestions_on_profile_follow' + | 'disable_min_shell_on_foregrounding' + | 'disable_poll_on_discover' + | 'new_search' + | 'show_follow_back_label' + | 'start_session_with_following' diff --git a/src/lib/statsig/statsig.tsx b/src/lib/statsig/statsig.tsx index c16461621..18b58d16d 100644 --- a/src/lib/statsig/statsig.tsx +++ b/src/lib/statsig/statsig.tsx @@ -11,6 +11,7 @@ import { import {logger} from '#/logger' import {useSession} from '../../state/session' import {LogEvents} from './events' +import {Gate} from './gates' export type {LogEvents} @@ -69,7 +70,7 @@ export function logEvent<E extends keyof LogEvents>( } } -export function useGate(gateName: string) { +export function useGate(gateName: Gate): boolean { const {isLoading, value} = useStatsigGate(gateName) if (isLoading) { // This should not happen because of waitForInitialization={true}. diff --git a/src/view/screens/Search/Search.tsx b/src/view/screens/Search/Search.tsx index fe7a52234..0f24252ce 100644 --- a/src/view/screens/Search/Search.tsx +++ b/src/view/screens/Search/Search.tsx @@ -22,7 +22,7 @@ import {HITSLOP_10} from '#/lib/constants' import {usePalette} from '#/lib/hooks/usePalette' import {MagnifyingGlassIcon} from '#/lib/icons' import {NavigationProp} from '#/lib/routes/types' -import {useNewSearchGate} from '#/lib/statsig/gates' +import {useGate} from '#/lib/statsig/statsig' import {augmentSearchQuery} from '#/lib/strings/helpers' import {s} from '#/lib/styles' import {logger} from '#/logger' @@ -337,7 +337,7 @@ export function SearchScreenInner({ const {isDesktop} = useWebMediaQueries() const {_} = useLingui() - const isNewSearch = useNewSearchGate() + const isNewSearch = useGate('new_search') const onPageSelected = React.useCallback( (index: number) => { |