useUpgradePrompt.tsx20 lines · main
1import { useEffect, useState } from 'react'
2
3import { useCheckEntitlements } from './useCheckEntitlements'
4import { maybeShowUpgradePromptIfNotEntitled } from '@/components/interfaces/Settings/Logs/Logs.utils'
5
6export const useUpgradePrompt = (from: string) => {
7 const [showUpgradePrompt, setShowUpgradePrompt] = useState(false)
8 const { getEntitlementNumericValue } = useCheckEntitlements('log.retention_days')
9 const entitledToAuditLogDays = getEntitlementNumericValue()
10
11 const shouldShowUpgradePrompt = maybeShowUpgradePromptIfNotEntitled(from, entitledToAuditLogDays)
12
13 useEffect(() => {
14 if (shouldShowUpgradePrompt) {
15 setShowUpgradePrompt(true)
16 }
17 }, [from])
18
19 return { showUpgradePrompt, setShowUpgradePrompt, shouldShowUpgradePrompt }
20}