diff --git a/frontend/.vscode/settings.json b/frontend/.vscode/settings.json
index a97dbcf2a..e5ba8997f 100644
--- a/frontend/.vscode/settings.json
+++ b/frontend/.vscode/settings.json
@@ -1,17 +1,19 @@
{
"conventionalCommits.scopes": [
+ "DashboardChartSummaryChartFilter",
+ "DashboardGroupManagementModal",
+ "DashboardValidatorManagmentModal",
"checkout",
"ci",
"customFetch",
- "DashboardChartSummaryChartFilter",
- "DashboardGroupManagementModal",
"eslint",
+ "feature-flags",
"git",
"i18n",
"mainHeader",
+ "notifications",
"qrCode",
- "vscode",
- "DashboardValidatorManagmentModal"
+ "vscode"
],
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "always"
diff --git a/frontend/components/BcFeatureFlag.vue b/frontend/components/BcFeatureFlag.vue
index 53c6c6673..5d69eb435 100644
--- a/frontend/components/BcFeatureFlag.vue
+++ b/frontend/components/BcFeatureFlag.vue
@@ -1,35 +1,14 @@
-
+
diff --git a/frontend/composables/useFeatureFlag.ts b/frontend/composables/useFeatureFlag.ts
new file mode 100644
index 000000000..6307dfaf2
--- /dev/null
+++ b/frontend/composables/useFeatureFlag.ts
@@ -0,0 +1,33 @@
+import { warn } from 'vue'
+import type { FeatureFlag } from '~/types/feature-flags'
+
+export const useFeatureFlag = () => {
+ type Environment = 'development' | 'production' | 'staging'
+
+ const currentEnvironment = useRuntimeConfig().public.deploymentType as Environment
+ if (!currentEnvironment) {
+ warn('Environment variable `deploymentType` is not set.')
+ }
+
+ const staging: FeatureFlag[] = [ 'feature-notifications' ]
+ const development: FeatureFlag[]
+ = [
+ ...staging,
+ 'feature-account_dashboards',
+ 'feature-user_settings',
+ ]
+ const featureCatalog: Record = {
+ development,
+ production: [],
+ staging,
+ }
+
+ const activeFeatures = featureCatalog[currentEnvironment]
+
+ const has = (feature: FeatureFlag) => activeFeatures.includes(feature)
+
+ return {
+ activeFeatures,
+ has,
+ }
+}
diff --git a/frontend/types/feature-flags.ts b/frontend/types/feature-flags.ts
new file mode 100644
index 000000000..90c2d8d4f
--- /dev/null
+++ b/frontend/types/feature-flags.ts
@@ -0,0 +1,6 @@
+export type FeatureFlag = (typeof FEATURE_FLAGS)[number]
+const FEATURE_FLAGS = [
+ 'feature-account_dashboards',
+ 'feature-notifications',
+ 'feature-user_settings',
+] as const