@@ -35,6 +35,7 @@ import {
3535import { BillingChangeBadge } from '../ui/BillingChangeBadge'
3636import FormMessage from '../ui/FormMessage'
3737import { NoticeBar } from '../ui/NoticeBar'
38+ import { useCheckEntitlements } from 'hooks/misc/useCheckEntitlements'
3839
3940/**
4041 * to do: this could be a type from api-types
@@ -57,6 +58,9 @@ export function ComputeSizeField({ form, disabled }: ComputeSizeFieldProps) {
5758 const { data : org } = useSelectedOrganizationQuery ( )
5859 const { data : project , isLoading : isProjectLoading } = useSelectedProjectQuery ( )
5960
61+ const { hasAccess : entitledUpdateCompute , isLoading : isEntitlementLoading } =
62+ useCheckEntitlements ( 'instances.compute_update_available_sizes' )
63+
6064 const showComputePrice = useIsFeatureEnabled ( 'project_addons:show_compute_price' )
6165
6266 const { computeSize, storageType } = form . watch ( )
@@ -67,7 +71,7 @@ export function ComputeSizeField({ form, disabled }: ComputeSizeFieldProps) {
6771 error : addonsError ,
6872 } = useProjectAddonsQuery ( { projectRef : ref } )
6973
70- const isLoading = isProjectLoading || isAddonsLoading
74+ const isLoading = isProjectLoading || isAddonsLoading || isEntitlementLoading
7175
7276 const { control, formState, setValue, trigger } = form
7377
@@ -92,10 +96,8 @@ export function ComputeSizeField({ form, disabled }: ComputeSizeFieldProps) {
9296 plan : org ?. plan . id ?? 'free' ,
9397 } )
9498
95- const showUpgradeBadge = showMicroUpgrade (
96- org ?. plan . id ?? 'free' ,
97- project ?. infra_compute_size ?? 'nano'
98- )
99+ const projectComputeSize = project ?. infra_compute_size ?? 'nano'
100+ const showUpgradeBadge = entitledUpdateCompute && projectComputeSize === 'nano'
99101
100102 return (
101103 < FormField_Shadcn_
0 commit comments