Skip to content

Commit 32197b1

Browse files
feat(settings): add feature flag for dark mode
Because: * dark mode needs to be feature flagged This commit: * adds feature flag for dark mode Closes FXA-13025
1 parent 523b39a commit 32197b1

5 files changed

Lines changed: 25 additions & 1 deletion

File tree

packages/fxa-content-server/server/config/local.json-dist

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@
7676
"showLocaleToggle": true,
7777
"paymentsNextSubscriptionManagement": true
7878
},
79+
"darkMode": {
80+
"enabled": true
81+
},
7982
"rolloutRates": {
8083
"keyStretchV2": 1,
8184
"generalizedReactApp": 0

packages/fxa-content-server/server/lib/beta-settings.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@ const settingsConfig = {
124124
passkeysEnabled: config.get('featureFlags.passkeysEnabled'),
125125
passwordlessEnabled: config.get('featureFlags.passwordlessEnabled'),
126126
},
127+
darkMode: {
128+
enabled: config.get('darkMode.enabled'),
129+
},
127130
nimbus: {
128131
enabled: config.get('nimbus.enabled'),
129132
preview: config.get('nimbus.preview'),

packages/fxa-content-server/server/lib/configuration.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,14 @@ const conf = (module.exports = convict({
260260
env: 'PASSWORDLESS_SIGNUP_ENABLED',
261261
},
262262
},
263+
darkMode: {
264+
enabled: {
265+
default: false,
266+
doc: 'Enables dark mode toggle',
267+
format: Boolean,
268+
env: 'DARK_MODE_ENABLED',
269+
},
270+
},
263271
cms: {
264272
enabled: {
265273
default: false,

packages/fxa-content-server/server/lib/routes/react-app/route-definition-index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ function getIndexRouteDefinition(config) {
5858
const FEATURE_FLAGS_PASSKEYS_ENABLED = config.get(
5959
'featureFlags.passkeysEnabled'
6060
);
61+
const DARK_MODE_ENABLED = config.get('darkMode.enabled');
6162
const GLEAN_ENABLED = config.get('glean.enabled');
6263
const GLEAN_APPLICATION_ID = config.get('glean.applicationId');
6364
const GLEAN_UPLOAD_ENABLED = config.get('glean.uploadEnabled');
@@ -126,6 +127,9 @@ function getIndexRouteDefinition(config) {
126127
showLocaleToggle: FEATURE_FLAGS_SHOW_LOCALE_TOGGLE,
127128
passkeysEnabled: FEATURE_FLAGS_PASSKEYS_ENABLED,
128129
},
130+
darkMode: {
131+
enabled: DARK_MODE_ENABLED,
132+
},
129133
cms: {
130134
enabled: CMS_ENABLED,
131135
l10nEnabled: CMS_L10N_ENABLED,

packages/fxa-settings/src/lib/config.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,9 @@ export interface Config {
104104
passkeysEnabled?: boolean;
105105
passwordlessEnabled?: boolean;
106106
};
107+
darkMode?: {
108+
enabled?: boolean;
109+
};
107110
nimbus: {
108111
enabled: boolean;
109112
preview: boolean;
@@ -200,6 +203,9 @@ export function getDefault() {
200203
paymentsNextSubscriptionManagement: false,
201204
passwordlessEnabled: false,
202205
},
206+
darkMode: {
207+
enabled: false,
208+
},
203209
cms: {
204210
enabled: false,
205211
l10nEnabled: false,
@@ -275,4 +281,4 @@ export function update(newData: { [key: string]: any }) {
275281
}
276282

277283
const config: Config = getDefault();
278-
export default config;
284+
export default config;

0 commit comments

Comments
 (0)