From 40a22a14032de555beabaaef50e775aa64a724b7 Mon Sep 17 00:00:00 2001 From: Aman Harwara Date: Mon, 14 Aug 2023 12:00:50 +0530 Subject: [PATCH] chore: features modal animation --- .../PremiumFeaturesModal/PremiumFeaturesModal.tsx | 12 +++--------- .../web/src/javascripts/Hooks/usePremiumModal.tsx | 12 ++++++++---- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/packages/web/src/javascripts/Components/PremiumFeaturesModal/PremiumFeaturesModal.tsx b/packages/web/src/javascripts/Components/PremiumFeaturesModal/PremiumFeaturesModal.tsx index 30e192aa4..ab50d8c17 100644 --- a/packages/web/src/javascripts/Components/PremiumFeaturesModal/PremiumFeaturesModal.tsx +++ b/packages/web/src/javascripts/Components/PremiumFeaturesModal/PremiumFeaturesModal.tsx @@ -1,17 +1,16 @@ -import AlertDialog from '../AlertDialog/AlertDialog' import { FunctionComponent, useRef } from 'react' import { WebApplication } from '@/Application/WebApplication' import { PremiumFeatureModalType } from './PremiumFeatureModalType' import { FeatureName } from '@/Controllers/FeatureName' import { SuccessPrompt } from './Subviews/SuccessPrompt' import { UpgradePrompt } from './Subviews/UpgradePrompt' +import Modal from '../Modal/Modal' type Props = { application: WebApplication featureName?: FeatureName | string hasSubscription: boolean onClose: () => void - showModal: boolean type: PremiumFeatureModalType } @@ -20,17 +19,12 @@ const PremiumFeaturesModal: FunctionComponent = ({ featureName, hasSubscription, onClose, - showModal, type = PremiumFeatureModalType.UpgradePrompt, }) => { const ctaButtonRef = useRef(null) - if (!showModal) { - return null - } - return ( - + }>
{type === PremiumFeatureModalType.UpgradePrompt && ( @@ -46,7 +40,7 @@ const PremiumFeaturesModal: FunctionComponent = ({ {type === PremiumFeatureModalType.UpgradeSuccess && }
-
+ ) } diff --git a/packages/web/src/javascripts/Hooks/usePremiumModal.tsx b/packages/web/src/javascripts/Hooks/usePremiumModal.tsx index 332d7083a..2e990abf2 100644 --- a/packages/web/src/javascripts/Hooks/usePremiumModal.tsx +++ b/packages/web/src/javascripts/Hooks/usePremiumModal.tsx @@ -2,6 +2,7 @@ import { WebApplication } from '@/Application/WebApplication' import { observer } from 'mobx-react-lite' import { FunctionComponent, createContext, useCallback, useContext, ReactNode } from 'react' import PremiumFeaturesModal from '@/Components/PremiumFeaturesModal/PremiumFeaturesModal' +import ModalOverlay from '@/Components/Modal/ModalOverlay' type PremiumModalContextData = { activate: (featureName: string) => void @@ -44,16 +45,19 @@ const PremiumModalProvider: FunctionComponent = observer(({ application, return ( <> - {application.featuresController.premiumAlertType != undefined && ( + - )} + {children} )