From 142e4e68474951a730f6e15e18ad426925c657b4 Mon Sep 17 00:00:00 2001 From: Marco Toniut Date: Fri, 4 Oct 2024 11:45:18 +0100 Subject: [PATCH] chore: replace Braze feature flag with Firebase's --- .../families/evm/StakeModalVersionWrapper.tsx | 12 ++++++++---- .../src/components/RootDrawer/RootDrawer.tsx | 13 +++---------- .../src/featureFlags/defaultFeatures.ts | 1 + libs/ledgerjs/packages/types-live/src/feature.ts | 1 + 4 files changed, 13 insertions(+), 14 deletions(-) diff --git a/apps/ledger-live-desktop/src/renderer/families/evm/StakeModalVersionWrapper.tsx b/apps/ledger-live-desktop/src/renderer/families/evm/StakeModalVersionWrapper.tsx index 63e02b7a78d3..3c4a7280c6de 100644 --- a/apps/ledger-live-desktop/src/renderer/families/evm/StakeModalVersionWrapper.tsx +++ b/apps/ledger-live-desktop/src/renderer/families/evm/StakeModalVersionWrapper.tsx @@ -1,10 +1,14 @@ -import * as braze from "@braze/web-sdk"; import React from "react"; import { Props, StakeModal } from "./StakeFlowModal"; import StakeFlowModal_deprecated from "./StakeFlowModal_deprecated"; +import { useFeature } from "@ledgerhq/live-common/featureFlags/index"; export default function StakeModalVersionWrapper(props: Props) { - const flag = braze.getFeatureFlag("earn-use-latest-stake-modal"); - braze.logFeatureFlagImpression("earn-use-latest-stake-modal"); - return flag.enabled ? : ; + const ethStakingModal = useFeature("ethStakingModal"); + + return ethStakingModal?.enabled ? ( + + ) : ( + + ); } diff --git a/apps/ledger-live-mobile/src/components/RootDrawer/RootDrawer.tsx b/apps/ledger-live-mobile/src/components/RootDrawer/RootDrawer.tsx index 4365009cf02e..e70258f231ad 100644 --- a/apps/ledger-live-mobile/src/components/RootDrawer/RootDrawer.tsx +++ b/apps/ledger-live-mobile/src/components/RootDrawer/RootDrawer.tsx @@ -1,4 +1,4 @@ -import Braze from "@braze/react-native-sdk"; +import { useFeature } from "@ledgerhq/live-common/featureFlags/index"; import AsyncStorage from "@react-native-async-storage/async-storage"; import { useNavigation } from "@react-navigation/native"; import { StackNavigationProp } from "@react-navigation/stack"; @@ -30,15 +30,8 @@ export async function getInitialDrawersToShow(initialDrawers: InitialDrawerID[]) } function StakeModalVersionWrapper() { - const [enabled, setEnabled] = useState(false); - useEffect(() => { - (async () => { - const flag = await Braze.getFeatureFlag("earn-use-latest-stake-modal"); - Braze.logFeatureFlagImpression("earn-use-latest-stake-modal"); - setEnabled(Boolean(flag?.enabled)); - })(); - }, []); - return enabled ? : ; + const ethStakingModal = useFeature("ethStakingModal"); + return ethStakingModal?.enabled ? : ; } export function RootDrawerSelector() { diff --git a/libs/ledger-live-common/src/featureFlags/defaultFeatures.ts b/libs/ledger-live-common/src/featureFlags/defaultFeatures.ts index 27f7599bfc5d..704777e0162a 100644 --- a/libs/ledger-live-common/src/featureFlags/defaultFeatures.ts +++ b/libs/ledger-live-common/src/featureFlags/defaultFeatures.ts @@ -100,6 +100,7 @@ export const DEFAULT_FEATURES: Features = { disableNftRaribleOpensea: DEFAULT_FEATURE, disableNftSend: DEFAULT_FEATURE, flexibleContentCards: DEFAULT_FEATURE, + ethStakingModal: DEFAULT_FEATURE, ethStakingProviders: initFeature(), newsfeedPage: initFeature(), swapWalletApiPartnerList: initFeature(), diff --git a/libs/ledgerjs/packages/types-live/src/feature.ts b/libs/ledgerjs/packages/types-live/src/feature.ts index b5b5ac9fa9dc..93e5a48d3332 100644 --- a/libs/ledgerjs/packages/types-live/src/feature.ts +++ b/libs/ledgerjs/packages/types-live/src/feature.ts @@ -143,6 +143,7 @@ export type Features = CurrencyFeatures & { disableNftLedgerMarket: Feature_DisableNftLedgerMarket; disableNftRaribleOpensea: Feature_DisableNftRaribleOpensea; receiveStakingFlowConfigDesktop: Feature_ReceiveStakingFlowConfigDesktop; + ethStakingModal: DefaultFeature; ethStakingProviders: Feature_EthStakingProviders; storyly: Feature_Storyly; postOnboardingAssetsTransfer: Feature_PostOnboardingAssetsTransfer;