diff --git a/web/src/lib/feature-flags.ts b/web/src/lib/feature-flags.ts index 1907244..283950c 100644 --- a/web/src/lib/feature-flags.ts +++ b/web/src/lib/feature-flags.ts @@ -14,7 +14,12 @@ const client = createFeatureFlagClient({ baseUrl: `${getBaseUrl()}/api`, productId: PRODUCT_ID, platform: 'web', + useStreaming: true, pollIntervalMs: 5 * 60 * 1000, + getAccessToken: () => + typeof window !== 'undefined' + ? localStorage.getItem('access_token') + : null, }); /** @@ -35,6 +40,14 @@ export function getAllFlags(): Readonly> { return client.getAllFlags(); } +/** Get a multi-variate flag value. Returns defaultValue if not found. */ +export function getFeatureValue>( + key: string, + defaultValue: T, +): T { + return client.getValue(key, defaultValue); +} + /** Stop polling and reset state. Useful for tests. */ export function resetFeatureFlags(): void { client.stop();