diff --git a/apps/apps-backend/src/features/features.controller.ts b/apps/apps-backend/src/features/features.controller.ts index e1400b1d57a..e71e4b326a4 100644 --- a/apps/apps-backend/src/features/features.controller.ts +++ b/apps/apps-backend/src/features/features.controller.ts @@ -64,6 +64,12 @@ export class FeaturesController { [Feature.AccountFinder]: { defaultValue: false, }, + [Feature.WalletDashboardMigration]: { + defaultValue: false, + }, + [Feature.WalletDashboardSupplyIncreaseVesting]: { + defaultValue: false, + }, }, dateUpdated: new Date().toISOString(), }; diff --git a/apps/core/src/constants/features.enum.ts b/apps/core/src/constants/features.enum.ts index 615c80386e3..3670db4edc1 100644 --- a/apps/core/src/constants/features.enum.ts +++ b/apps/core/src/constants/features.enum.ts @@ -18,4 +18,6 @@ export enum Feature { NetworkOutageOverride = 'network-outage-override', ModuleSourceVerification = 'module-source-verification', WalletEffectsOnlySharedTransaction = 'wallet-effects-only-shared-transaction', + StardustMigration = 'migration', + SupplyIncreaseVesting = 'supply-increase-vesting', } diff --git a/apps/wallet-dashboard/app/(protected)/components/sidebar/Sidebar.tsx b/apps/wallet-dashboard/app/(protected)/components/sidebar/Sidebar.tsx index 0f49225192d..03742f9e8e4 100644 --- a/apps/wallet-dashboard/app/(protected)/components/sidebar/Sidebar.tsx +++ b/apps/wallet-dashboard/app/(protected)/components/sidebar/Sidebar.tsx @@ -4,13 +4,24 @@ import { PROTECTED_ROUTES } from '@/lib/constants/routes.constants'; import { IotaLogoMark } from '@iota/ui-icons'; import { SidebarItem } from './SidebarItem'; +import { Feature } from '@iota/core'; +import { useFeature } from '@growthbook/growthbook-react'; export function Sidebar() { + const featureFlags = { + Migrations: useFeature(Feature.StardustMigration).value, + Vesting: useFeature(Feature.SupplyIncreaseVesting).value, + }; + + const filteredRoutes = PROTECTED_ROUTES.filter(({ title }) => { + return title in featureFlags ? featureFlags[title as keyof typeof featureFlags] : true; + }); + return (