learnhouse/apps/web/components/AI/Hooks/useGetAIFeatures.tsx
2024-06-06 16:54:53 +01:00

41 lines
890 B
TypeScript

import { useOrg } from '@components/Contexts/OrgContext'
import React from 'react'
interface UseGetAIFeatures {
feature: 'editor' | 'activity_ask' | 'course_ask' | 'global_ai_ask'
}
function useGetAIFeatures(props: UseGetAIFeatures) {
const org = useOrg() as any
const [isEnabled, setisEnabled] = React.useState(false)
function checkAvailableAIFeaturesOnOrg(feature: string) {
const config = org?.config?.config?.AIConfig
if (!config) {
return false
}
if (!config.enabled) {
return false
}
if (!config.features[feature]) {
return false
}
return true
}
React.useEffect(() => {
if (org) {
// Check if org is not null or undefined
let isEnabledStatus = checkAvailableAIFeaturesOnOrg(props.feature)
setisEnabled(isEnabledStatus)
}
}, [org])
return isEnabled
}
export default useGetAIFeatures