import { ChevronDown } from 'lucide-react' import Image from 'next/image' import { IS_PLATFORM } from 'common' import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query' import { useSelectedOrganization } from 'hooks/misc/useSelectedOrganization' import Link from 'next/link' 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 Providers: INTEGRATION_TYPES[] = ['firebase', 'auth0', 'awsCognito'] 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} > {`${type} {getIntegrationTypeLabel(type)} ) } export const AddIntegrationDropdown = ({ onSelectIntegrationType, }: AddIntegrationDropdownProps) => { const organization = useSelectedOrganization() const { data: subscription } = useOrgSubscriptionQuery( { orgSlug: organization?.slug }, { enabled: IS_PLATFORM } ) return ( Select Provider {subscription?.plan.id === 'free' ? ( <>

Unavailable on the Free plan

Upgrade your plan {' '} to add the following providers to your project.

) : ( <> )}
) }