Add mechanism for disabling Betas

pull/21833/head
Michael Telatynski 2021-04-30 12:30:05 +01:00
parent 158a0f90cb
commit d2959e1acc
2 changed files with 10 additions and 2 deletions

View File

@ -60,7 +60,10 @@ export const BetaPill = ({ onClick }: { onClick?: () => void }) => {
};
const BetaCard = ({ title: titleOverride, featureId }: IProps) => {
const { title, caption, disclaimer, image } = SettingsStore.getBetaInfo(featureId);
const info = SettingsStore.getBetaInfo(featureId);
if (!info) return null; // Beta is invalid/disabled
const { title, caption, disclaimer, image } = info;
const value = SettingsStore.getValue(featureId);
return <div className="mx_BetaCard">

View File

@ -258,8 +258,13 @@ export default class SettingsStore {
}
public static getBetaInfo(settingName: string) {
// consider a beta disabled if the config is explicitly set to false, in which case treat as normal Labs flag
if (SettingsStore.isFeature(settingName)
&& SettingsStore.getValueAt(SettingLevel.CONFIG, settingName, null, true, true) !== false
) {
return SETTINGS[settingName]?.betaInfo;
}
}
/**
* Determines if a setting is enabled.