import { ChevronDown } from 'lucide-react'
import Link from 'next/link'
import { parseAsString, useQueryState } from 'nuqs'
import { useMemo, useState } from 'react'
import { Badge, Button, Card, CardHeader, CardTitle, Input } from 'ui'
import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
import { ButtonTooltip } from './ButtonTooltip'
import { useFreeProjectLimitCheckQuery } from '@/data/organizations/free-project-limit-check-query'
import { useOrganizationsQuery } from '@/data/organizations/organizations-query'
import type { Organization } from '@/types'
export interface ProjectClaimChooseOrgProps {
onSelect: (orgSlug: string) => void
maxOrgsToShow?: number
canCreateNewOrg: boolean
}
const OrganizationCard = ({
org,
onSelect,
}: {
org: Organization
onSelect: (orgSlug: string) => void
}) => {
const isFreePlan = org.plan?.id === 'free'
const { data: membersExceededLimit, isSuccess } = useFreeProjectLimitCheckQuery(
{ slug: org.slug },
{ enabled: isFreePlan }
)
const hasMembersExceedingFreeTierLimit = (membersExceededLimit || []).length > 0
const freePlanWithExceedingLimits = isFreePlan && hasMembersExceedingFreeTierLimit
return (
The following members have reached their maximum limits for the number of
active free plan projects within organizations where they are an administrator
or owner:
These members will need to either delete, pause, or upgrade one or more of
these projects before you're able to create a free project within this
organization.
{membersExceededLimit.map((member, idx: number) => (