feat(core): add split view to experimental features settings (#6093)

This commit is contained in:
Peng Xiao
2024-03-14 05:13:04 +00:00
parent 05583dbe98
commit dd9a253772
12 changed files with 157 additions and 36 deletions

View File

@@ -0,0 +1,24 @@
import { FeatureType, getUserFeaturesQuery } from '@affine/graphql';
import type { BareFetcher, Middleware } from 'swr';
import { useQueryImmutable } from '../use-query';
const wrappedFetcher = (fetcher: BareFetcher<any> | null, ...args: any[]) =>
fetcher?.(...args).catch(() => null);
const errorHandler: Middleware = useSWRNext => (key, fetcher, config) => {
return useSWRNext(key, wrappedFetcher.bind(null, fetcher), config);
};
export function useIsEarlyAccess() {
const { data } = useQueryImmutable(
{
query: getUserFeaturesQuery,
},
{
use: [errorHandler],
}
);
return data?.currentUser?.features.includes(FeatureType.EarlyAccess) ?? false;
}