diff --git a/app/javascript/flavours/glitch/utils/environment.ts b/app/javascript/flavours/glitch/utils/environment.ts index 95075454f2..84767322b0 100644 --- a/app/javascript/flavours/glitch/utils/environment.ts +++ b/app/javascript/flavours/glitch/utils/environment.ts @@ -12,8 +12,21 @@ export function isProduction() { else return import.meta.env.PROD; } -export type Features = 'fasp' | 'http_message_signatures'; +export type ServerFeatures = 'fasp'; -export function isFeatureEnabled(feature: Features) { +export function isServerFeatureEnabled(feature: ServerFeatures) { return initialState?.features.includes(feature) ?? false; } + +type ClientFeatures = 'profile_redesign'; + +export function isClientFeatureEnabled(feature: ClientFeatures) { + try { + const features = + window.localStorage.getItem('experiments')?.split(',') ?? []; + return features.includes(feature); + } catch (err) { + console.warn('Could not access localStorage to get client features', err); + return false; + } +}