feat: update items

Refactored billing flag name

Refactored FeatureFlag type

Disabled session recording by default
This commit is contained in:
David Nguyen
2023-08-21 11:44:56 +10:00
committed by Mythie
parent aa2969fd50
commit 371f0947fb
9 changed files with 24 additions and 14 deletions

View File

@ -2,6 +2,8 @@
import { createContext, useCallback, useContext, useEffect, useState } from 'react';
import { z } from 'zod';
import {
FEATURE_FLAG_POLL_INTERVAL,
LOCAL_FEATURE_FLAGS,
@ -10,10 +12,17 @@ import {
import { getAllFlags } from '~/helpers/get-feature-flag';
export type FeatureFlagValue = boolean | string | number | undefined;
export const ZFeatureFlagValueSchema = z.union([
z.boolean(),
z.string(),
z.number(),
z.undefined(),
]);
export type TFeatureFlagValue = z.infer<typeof ZFeatureFlagValueSchema>;
export type FeatureFlagContextValue = {
getFlag: (_key: string) => FeatureFlagValue;
getFlag: (_key: string) => TFeatureFlagValue;
};
export const FeatureFlagContext = createContext<FeatureFlagContextValue | null>(null);
@ -33,7 +42,7 @@ export function FeatureFlagProvider({
initialFlags,
}: {
children: React.ReactNode;
initialFlags: Record<string, FeatureFlagValue>;
initialFlags: Record<string, TFeatureFlagValue>;
}) {
const [flags, setFlags] = useState(initialFlags);

View File

@ -9,7 +9,7 @@ import posthog from 'posthog-js';
import { extractPostHogConfig } from '@documenso/lib/constants/feature-flags';
export function PostHogPageview(): JSX.Element {
export function PostHogPageview() {
const postHogConfig = extractPostHogConfig();
const pathname = usePathname();
@ -18,6 +18,7 @@ export function PostHogPageview(): JSX.Element {
if (typeof window !== 'undefined' && postHogConfig) {
posthog.init(postHogConfig.key, {
api_host: postHogConfig.host,
disable_session_recording: true,
loaded: () => {
getSession()
.then((session) => {
@ -48,5 +49,5 @@ export function PostHogPageview(): JSX.Element {
});
}, [pathname, searchParams, postHogConfig]);
return <></>;
return null;
}