diff --git a/apps/studio/components/interfaces/Database/Backups/DatabaseBackupsNav.tsx b/apps/studio/components/interfaces/Database/Backups/DatabaseBackupsNav.tsx new file mode 100644 index 00000000000..657ff8c0cfd --- /dev/null +++ b/apps/studio/components/interfaces/Database/Backups/DatabaseBackupsNav.tsx @@ -0,0 +1,35 @@ +import Link from 'next/link' +import React from 'react' +import { NavMenu, NavMenuItem } from 'ui' + +type Props = { + projRef: string + active: 'scheduled' | 'pitr' +} + +function DatabaseBackupsNav({ projRef, active }: Props) { + const navMenuItems = [ + { + id: 'scheduled', + label: 'Scheduled backups', + href: `/project/${projRef}/database/backups/scheduled`, + }, + { + id: 'pitr', + label: 'Point in time', + href: `/project/${projRef}/database/backups/pitr`, + }, + ] + + return ( + + {navMenuItems.map((item) => ( + + {item.label} + + ))} + + ) +} + +export default DatabaseBackupsNav diff --git a/apps/studio/pages/project/[ref]/database/backups/pitr.tsx b/apps/studio/pages/project/[ref]/database/backups/pitr.tsx index c7958a3a25b..0f6f7c1036c 100644 --- a/apps/studio/pages/project/[ref]/database/backups/pitr.tsx +++ b/apps/studio/pages/project/[ref]/database/backups/pitr.tsx @@ -1,6 +1,4 @@ import { PermissionAction } from '@supabase/shared-types/out/constants' -import { useRouter } from 'next/router' - import { PITRNotice, PITRSelection } from 'components/interfaces/Database/Backups/PITR' import { DatabaseLayout } from 'components/layouts' import { useProjectContext } from 'components/layouts/ProjectLayout/ProjectContext' @@ -13,10 +11,9 @@ import { useBackupsQuery } from 'data/database/backups-query' import { useOrgSubscriptionQuery } from 'data/subscriptions/org-subscription-query' import { useCheckPermissions, usePermissionsLoaded, useSelectedOrganization } from 'hooks' import { NextPageWithLayout } from 'types' -import { Tabs } from 'ui' +import DatabaseBackupsNav from 'components/interfaces/Database/Backups/DatabaseBackupsNav' const DatabasePhysicalBackups: NextPageWithLayout = () => { - const router = useRouter() const { project } = useProjectContext() const ref = project?.ref ?? 'default' @@ -26,19 +23,7 @@ const DatabasePhysicalBackups: NextPageWithLayout = () => {

Database Backups

- - { - if (id === 'scheduled') router.push(`/project/${ref}/database/backups/scheduled`) - }} - > - - - - +
diff --git a/apps/studio/pages/project/[ref]/database/backups/scheduled.tsx b/apps/studio/pages/project/[ref]/database/backups/scheduled.tsx index 0009cdbc5c7..9ca82a280f6 100644 --- a/apps/studio/pages/project/[ref]/database/backups/scheduled.tsx +++ b/apps/studio/pages/project/[ref]/database/backups/scheduled.tsx @@ -13,11 +13,11 @@ import { useBackupsQuery } from 'data/database/backups-query' import { useCheckPermissions, usePermissionsLoaded } from 'hooks' import { NextPageWithLayout } from 'types' import { IconInfo, Tabs } from 'ui' +import DatabaseBackupsNav from 'components/interfaces/Database/Backups/DatabaseBackupsNav' const DatabaseScheduledBackups: NextPageWithLayout = () => { - const router = useRouter() const { project } = useProjectContext() - const ref = project?.ref + const ref = project?.ref || 'default' const { data: backups, @@ -38,19 +38,8 @@ const DatabaseScheduledBackups: NextPageWithLayout = () => {

Database Backups

- { - if (id === 'pitr') router.push(`/project/${ref}/database/backups/pitr`) - }} - > - - - - -
+ +
{isLoading && } {isError && (