1- import { PermissionAction } from '@supabase/shared-types/out/constants'
21import { ExternalLink } from 'lucide-react'
32import Link from 'next/link'
4- import { parseAsBoolean , useQueryState } from 'nuqs'
5- import { toast } from 'sonner'
63
74import { useParams } from 'common'
8- import { DocsButton } from 'components/ui/DocsButton'
9- import { Markdown } from 'components/interfaces/Markdown'
10- import DiskSizeConfigurationModal from 'components/interfaces/Settings/Database/DiskSizeConfigurationModal'
11- import { ButtonTooltip } from 'components/ui/ButtonTooltip'
12- import { useProjectDiskResizeMutation } from 'data/config/project-disk-resize-mutation'
135import { useDatabaseSizeQuery } from 'data/database/database-size-query'
14- import { useAsyncCheckProjectPermissions } from 'hooks/misc/useCheckPermissions'
156import { useSelectedOrganizationQuery } from 'hooks/misc/useSelectedOrganization'
167import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject'
178import { formatBytes } from 'lib/helpers'
9+ import { DocsButton } from 'components/ui/DocsButton'
10+ import { Markdown } from 'components/interfaces/Markdown'
1811import { ScaffoldSection , ScaffoldSectionTitle } from 'components/layouts/Scaffold'
1912import { Button , Card , CardHeader , CardContent } from 'ui'
2013import { Admonition } from 'ui-patterns'
2114import { FormLayout } from 'ui-patterns/form/Layout/FormLayout'
15+ import { DiskSizeConfigurationModal } from './DiskSizeConfigurationModal'
2216
2317export interface DiskSizeConfigurationProps {
2418 disabled ?: boolean
@@ -28,28 +22,6 @@ export const DiskSizeConfiguration = ({ disabled = false }: DiskSizeConfiguratio
2822 const { ref : projectRef } = useParams ( )
2923 const { data : project } = useSelectedProjectQuery ( )
3024 const { data : organization } = useSelectedOrganizationQuery ( )
31- const [ showIncreaseDiskSizeModal , setShowIncreaseDiskSizeModal ] = useQueryState (
32- `show_increase_disk_size_modal` ,
33- parseAsBoolean . withDefault ( false )
34- )
35-
36- const { can : canUpdateDiskSizeConfig } = useAsyncCheckProjectPermissions (
37- PermissionAction . UPDATE ,
38- 'projects' ,
39- {
40- resource : {
41- project_id : project ?. id ,
42- } ,
43- }
44- )
45-
46- const { isLoading : isUpdatingDiskSize } = useProjectDiskResizeMutation ( {
47- onSuccess : ( _ , variables ) => {
48- toast . success ( `Successfully updated disk size to ${ variables . volumeSize } GB` )
49- setShowIncreaseDiskSizeModal ( false )
50- } ,
51- } )
52-
5325 const currentDiskSize = project ?. volumeSizeGb ?? 0
5426
5527 const { data } = useDatabaseSizeQuery ( {
@@ -114,21 +86,7 @@ Read more about [disk management](https://supabase.com/docs/guides/platform/data
11486 label = "Manage Disk Size"
11587 description = "Supabase employs auto-scaling storage and allows for manual disk size adjustments when necessary."
11688 >
117- < ButtonTooltip
118- type = "default"
119- disabled = { ! canUpdateDiskSizeConfig || disabled }
120- onClick = { ( ) => setShowIncreaseDiskSizeModal ( true ) }
121- tooltip = { {
122- content : {
123- side : 'bottom' ,
124- text : ! canUpdateDiskSizeConfig
125- ? 'You need additional permissions to increase the disk size'
126- : undefined ,
127- } ,
128- } }
129- >
130- Increase disk size
131- </ ButtonTooltip >
89+ < DiskSizeConfigurationModal disabled = { disabled } />
13290 </ FormLayout >
13391 </ CardContent >
13492 </ Card >
@@ -162,12 +120,6 @@ Read more about [disk management](https://supabase.com/docs/guides/platform/data
162120 }
163121 />
164122 ) }
165-
166- < DiskSizeConfigurationModal
167- visible = { showIncreaseDiskSizeModal }
168- loading = { isUpdatingDiskSize }
169- hideModal = { setShowIncreaseDiskSizeModal }
170- />
171123 </ ScaffoldSection >
172124 )
173125}
0 commit comments