import { ChevronDown } from 'lucide-react'
import Image from 'next/image'
import { useSelectedProject } from 'hooks/misc/useSelectedProject'
import { useFlag } from 'hooks/ui/useFlag'
import {
Button,
cn,
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from 'ui'
import {
getIntegrationTypeIcon,
getIntegrationTypeLabel,
INTEGRATION_TYPES,
} from './ThirdPartyAuthForm.utils'
interface AddIntegrationDropdownProps {
buttonText?: string
onSelectIntegrationType: (type: INTEGRATION_TYPES) => void
}
const ProviderDropdownItem = ({
disabled,
type,
onSelectIntegrationType,
}: {
disabled?: boolean
type: INTEGRATION_TYPES
onSelectIntegrationType: (type: INTEGRATION_TYPES) => void
}) => {
return (
onSelectIntegrationType(type)}
className={cn('flex items-center gap-x-2 p-2', disabled && 'cursor-not-allowed')}
disabled={disabled}
>
{getIntegrationTypeLabel(type)}
)
}
export const AddIntegrationDropdown = ({
onSelectIntegrationType,
}: AddIntegrationDropdownProps) => {
const selectedProject = useSelectedProject()
const isClerkTPAEnabledFlag = useFlag('isClerkTPAEnabledOnProjects')
const isClerkTPAEnabled =
selectedProject?.ref &&
isClerkTPAEnabledFlag &&
isClerkTPAEnabledFlag
.split(',')
.map((it) => it.trim())
.includes(selectedProject.ref)
return (
}>
Add provider
Select Provider
{isClerkTPAEnabled && (
)}
)
}