import { useParams } from 'common'
import { AnalyticsBucket as AnalyticsBucketIcon, VectorBucket as VectorBucketIcon } from 'icons'
import { EmptyStatePresentational } from 'ui-patterns'
import { PageContainer } from 'ui-patterns/PageContainer'
import { PageSection, PageSectionContent } from 'ui-patterns/PageSection'
import { GenericSkeletonLoader } from 'ui-patterns/ShimmeringLoader'
import { BUCKET_TYPES } from './Storage.constants'
import { AlphaNotice } from '@/components/ui/AlphaNotice'
import { UpgradePlanButton } from '@/components/ui/UpgradePlanButton'
import { useProjectStorageConfigQuery } from '@/data/config/project-storage-config-query'
import { useSelectedOrganizationQuery } from '@/hooks/misc/useSelectedOrganization'
import { useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject'
export const BucketsUpgradePlan = ({ type }: { type: 'analytics' | 'vector' }) => {
const { ref: projectRef } = useParams()
const { isLoading: isLoadingStorageConfig } = useProjectStorageConfigQuery({ projectRef })
const { data: organization, isLoading: isLoadingOrganization } = useSelectedOrganizationQuery()
const { data: project, isLoading: isLoadingProject } = useSelectedProjectQuery()
const isLoading =
isLoadingStorageConfig || isLoadingOrganization || isLoadingProject || !organization || !project
if (isLoading) {
return (
)
}
const isFreePlan = organization.plan?.id === 'free'
const isNanoCompute = project.infra_compute_size === 'nano'
const requiresComputeUpgrade = !isFreePlan && isNanoCompute
return (
)
}