import { Check, ChevronsUpDown, Plus } from 'lucide-react' import Link from 'next/link' import { useRouter } from 'next/router' import { useState } from 'react' import ShimmeringLoader from 'components/ui/ShimmeringLoader' import { useOrganizationsQuery } from 'data/organizations/organizations-query' import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query' import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled' import { useSelectedOrganization } from 'hooks/misc/useSelectedOrganization' import { Badge, Button, CommandEmpty_Shadcn_, CommandGroup_Shadcn_, CommandInput_Shadcn_, CommandItem_Shadcn_, CommandList_Shadcn_, CommandSeparator_Shadcn_, Command_Shadcn_, PopoverContent_Shadcn_, PopoverTrigger_Shadcn_, Popover_Shadcn_, ScrollArea, } from 'ui' import PartnerIcon from 'components/ui/PartnerIcon' interface OrganizationDropdownProps { isNewNav?: boolean } const OrganizationDropdown = ({ isNewNav = false }: OrganizationDropdownProps) => { const router = useRouter() const selectedOrganization = useSelectedOrganization() const { data: organizations, isLoading: isLoadingOrganizations } = useOrganizationsQuery() const organizationCreationEnabled = useIsFeatureEnabled('organizations:create') const slug = selectedOrganization?.slug const orgName = selectedOrganization?.name const { data: subscription, isSuccess } = useOrgSubscriptionQuery({ orgSlug: slug }) const [open, setOpen] = useState(false) if (isLoadingOrganizations) { return } return (
No organizations found 7 ? 'h-[210px]' : ''}> {organizations?.map((org) => { const href = router.pathname.includes('[slug]') ? router.pathname.replace('[slug]', org.slug) : isNewNav ? `/org/${org.slug}` : `/org/${org.slug}/general` return ( { setOpen(false) router.push(href) }} onClick={() => setOpen(false)} >
{org.name}
{org.slug === slug && }
) })}
{organizationCreationEnabled && ( <> { setOpen(false) router.push(`/new`) }} onClick={() => setOpen(false)} >

New organization

)}
) } export default OrganizationDropdown