diff --git a/app/pages/system/silos/SiloIpPoolsTab.tsx b/app/pages/system/silos/SiloIpPoolsTab.tsx index 7750d816c..cbb7b13dc 100644 --- a/app/pages/system/silos/SiloIpPoolsTab.tsx +++ b/app/pages/system/silos/SiloIpPoolsTab.tsx @@ -24,6 +24,7 @@ import { import { Networking24Icon } from '@oxide/design-system/icons/react' import { Badge } from '@oxide/design-system/ui' +import { CheckboxField } from '~/components/form/fields/CheckboxField' import { ComboboxField } from '~/components/form/fields/ComboboxField' import { HL } from '~/components/HL' import { IpVersionBadge } from '~/components/IpVersionBadge' @@ -263,9 +264,10 @@ export const handle = makeCrumb('IP Pools') type LinkPoolFormValues = { pool: string | undefined + isDefault: boolean } -const defaultValues: LinkPoolFormValues = { pool: undefined } +const defaultValues: LinkPoolFormValues = { pool: undefined, isDefault: false } function LinkPoolModal({ onDismiss }: { onDismiss: () => void }) { const { silo } = useSiloSelector() @@ -282,9 +284,9 @@ function LinkPoolModal({ onDismiss }: { onDismiss: () => void }) { }, }) - function onSubmit({ pool }: LinkPoolFormValues) { + function onSubmit({ pool, isDefault }: LinkPoolFormValues) { if (!pool) return // can't happen, silo is required - linkPool.mutate({ path: { pool }, body: { silo, isDefault: false } }) + linkPool.mutate({ path: { pool }, body: { silo, isDefault } }) } const allLinkedPools = useQuery(allSiloPoolsQuery(silo).optionsFn()) @@ -334,6 +336,10 @@ function LinkPoolModal({ onDismiss }: { onDismiss: () => void }) { required control={control} /> + + + Make default IP pool for silo + diff --git a/app/pages/system/silos/SiloSubnetPoolsTab.tsx b/app/pages/system/silos/SiloSubnetPoolsTab.tsx index 349d42fb4..23bc07c98 100644 --- a/app/pages/system/silos/SiloSubnetPoolsTab.tsx +++ b/app/pages/system/silos/SiloSubnetPoolsTab.tsx @@ -24,6 +24,7 @@ import { import { Networking24Icon } from '@oxide/design-system/icons/react' import { Badge } from '@oxide/design-system/ui' +import { CheckboxField } from '~/components/form/fields/CheckboxField' import { ComboboxField } from '~/components/form/fields/ComboboxField' import { HL } from '~/components/HL' import { IpVersionBadge } from '~/components/IpVersionBadge' @@ -252,9 +253,10 @@ export const handle = makeCrumb('Subnet Pools') type LinkPoolFormValues = { pool: string | undefined + isDefault: boolean } -const defaultValues: LinkPoolFormValues = { pool: undefined } +const defaultValues: LinkPoolFormValues = { pool: undefined, isDefault: false } function LinkPoolModal({ onDismiss }: { onDismiss: () => void }) { const { silo } = useSiloSelector() @@ -271,9 +273,9 @@ function LinkPoolModal({ onDismiss }: { onDismiss: () => void }) { }, }) - function onSubmit({ pool }: LinkPoolFormValues) { + function onSubmit({ pool, isDefault }: LinkPoolFormValues) { if (!pool) return - linkPool.mutate({ path: { pool }, body: { silo, isDefault: false } }) + linkPool.mutate({ path: { pool }, body: { silo, isDefault } }) } const allLinkedPools = useQuery(allSiloPoolsQuery(silo).optionsFn()) @@ -320,6 +322,10 @@ function LinkPoolModal({ onDismiss }: { onDismiss: () => void }) { required control={control} /> + + + Make default subnet pool for silo +