diff --git a/web/app/components/billing/pricing/assets/enterprise-noise.tsx b/web/app/components/billing/pricing/assets/enterprise-noise.tsx new file mode 100644 index 0000000000..b6c0e9cd44 --- /dev/null +++ b/web/app/components/billing/pricing/assets/enterprise-noise.tsx @@ -0,0 +1,22 @@ +const EnterpriseNoise = () => { + return ( + + + + + + + + + + + + + + + + + ) +} + +export default EnterpriseNoise diff --git a/web/app/components/billing/pricing/assets/index.tsx b/web/app/components/billing/pricing/assets/index.tsx index 9e0eb8eced..a4d36c2fc4 100644 --- a/web/app/components/billing/pricing/assets/index.tsx +++ b/web/app/components/billing/pricing/assets/index.tsx @@ -6,3 +6,7 @@ export { default as Team } from './team' export { default as Community } from './community' export { default as Premium } from './premium' export { default as Enterprise } from './enterprise' +export { default as NoiseTop } from './noise-top' +export { default as NoiseBottom } from './noise-bottom' +export { default as PremiumNoise } from './premium-noise' +export { default as EnterpriseNoise } from './enterprise-noise' diff --git a/web/app/components/billing/pricing/assets/noise-bottom.tsx b/web/app/components/billing/pricing/assets/noise-bottom.tsx new file mode 100644 index 0000000000..24a9de8d7f --- /dev/null +++ b/web/app/components/billing/pricing/assets/noise-bottom.tsx @@ -0,0 +1,22 @@ +const NoiseBottom = () => { + return ( + + + + + + + + + + + + + + + + + ) +} + +export default NoiseBottom diff --git a/web/app/components/billing/pricing/assets/noise-top.tsx b/web/app/components/billing/pricing/assets/noise-top.tsx new file mode 100644 index 0000000000..af8eb54c8d --- /dev/null +++ b/web/app/components/billing/pricing/assets/noise-top.tsx @@ -0,0 +1,22 @@ +const NoiseTop = () => { + return ( + + + + + + + + + + + + + + + + + ) +} + +export default NoiseTop diff --git a/web/app/components/billing/pricing/assets/premium-noise.tsx b/web/app/components/billing/pricing/assets/premium-noise.tsx new file mode 100644 index 0000000000..7dacfcbe56 --- /dev/null +++ b/web/app/components/billing/pricing/assets/premium-noise.tsx @@ -0,0 +1,22 @@ +const PremiumNoise = () => { + return ( + + + + + + + + + + + + + + + + + ) +} + +export default PremiumNoise diff --git a/web/app/components/billing/pricing/index.tsx b/web/app/components/billing/pricing/index.tsx index 9be04b9e93..9e4f55a62c 100644 --- a/web/app/components/billing/pricing/index.tsx +++ b/web/app/components/billing/pricing/index.tsx @@ -11,6 +11,7 @@ import { useKeyPress } from 'ahooks' import { useProviderContext } from '@/context/provider-context' import { useAppContext } from '@/context/app-context' import { useGetPricingPageLanguage } from '@/context/i18n' +import { NoiseBottom, NoiseTop } from './assets' export type Category = 'cloud' | 'self' @@ -39,7 +40,10 @@ const Pricing: FC = ({ className='fixed inset-0 bottom-0 left-0 right-0 top-0 z-[1000] overflow-auto bg-saas-background' onClick={e => e.stopPropagation()} > - + + + + = ({ canPay={canPay} /> + + + , document.body, diff --git a/web/app/components/billing/pricing/plans/self-hosted-plan-item/index.tsx b/web/app/components/billing/pricing/plans/self-hosted-plan-item/index.tsx index 00aa2912d9..1db5c39b81 100644 --- a/web/app/components/billing/pricing/plans/self-hosted-plan-item/index.tsx +++ b/web/app/components/billing/pricing/plans/self-hosted-plan-item/index.tsx @@ -10,20 +10,31 @@ import { useAppContext } from '@/context/app-context' import Button from './button' import List from './list' import { Azure, GoogleCloud } from '@/app/components/base/icons/src/public/billing' -import { Community, Enterprise, Premium } from '../../assets' +import { Community, Enterprise, EnterpriseNoise, Premium, PremiumNoise } from '../../assets' const STYLE_MAP = { [SelfHostedPlan.community]: { icon: , bg: '', + noise: null, }, [SelfHostedPlan.premium]: { icon: , bg: 'bg-billing-plan-card-premium-bg opacity-10', + noise: ( + + + + ), }, [SelfHostedPlan.enterprise]: { icon: , bg: 'bg-billing-plan-card-enterprise-bg opacity-10', + noise: ( + + + + ), }, } @@ -65,8 +76,10 @@ const SelfHostedPlanItem: FC = ({ }, [isCurrentWorkspaceManager, isFreePlan, isPremiumPlan, isEnterprisePlan, t]) return ( - + + {/* Noise Effect */} + {STYLE_MAP[plan].noise} {STYLE_MAP[plan].icon}