diff --git a/packages/web/lib/networking/mutations/optIntoFeatureMutation.ts b/packages/web/lib/networking/mutations/optIntoFeatureMutation.ts index 92b5f3b96..27633c322 100644 --- a/packages/web/lib/networking/mutations/optIntoFeatureMutation.ts +++ b/packages/web/lib/networking/mutations/optIntoFeatureMutation.ts @@ -37,7 +37,11 @@ export async function optInFeature( input, }) const output = data as Response | undefined - if (!output || !output.optInFeature.feature) { + if ( + !output || + !output.optInFeature.feature || + !output.optInFeature.feature.grantedAt + ) { return false } return true diff --git a/packages/web/pages/settings/features/beta.tsx b/packages/web/pages/settings/features/beta.tsx index b24e17df9..733333a86 100644 --- a/packages/web/pages/settings/features/beta.tsx +++ b/packages/web/pages/settings/features/beta.tsx @@ -44,11 +44,13 @@ export default function Account(): JSX.Element { ) const hasYouTube = useMemo(() => { - return userHasFeature(viewerData?.me, 'youtube-transcripts') + return viewerData?.me?.featureList?.some( + (f) => f.name === 'youtube-transcripts' + ) }, [viewerData]) const hasNotion = useMemo(() => { - return userHasFeature(viewerData?.me, 'notion') + return viewerData?.me?.featureList?.some((f) => f.name === 'notion') }, [viewerData]) applyStoredTheme() @@ -88,7 +90,7 @@ export default function Account(): JSX.Element { Enabled beta features {!showSpinner ? ( <> - {viewerData?.me?.features.map((feature) => { + {viewerData?.me?.featureList.map((feature) => { return ( - {feature} + {`${feature.name}${ + userHasFeature(viewerData?.me, feature.name) + ? '' + : ' - Requested' + }`} ) })}