import { memo } from 'react' import Authorize from './authorize' import Authorized from './authorized' import type { PluginPayload } from './types' import { usePluginAuth } from './hooks/use-plugin-auth' import cn from '@/utils/classnames' type PluginAuthProps = { pluginPayload: PluginPayload children?: React.ReactNode className?: string } const PluginAuth = ({ pluginPayload, children, className, }: PluginAuthProps) => { const { isAuthorized, canOAuth, canApiKey, credentials, disabled, invalidPluginCredentialInfo, } = usePluginAuth(pluginPayload, !!pluginPayload.provider) return (
{ !isAuthorized && ( ) } { isAuthorized && !children && ( ) } { isAuthorized && children }
) } export default memo(PluginAuth)