From 10bd13fba87f5ec1f6fdeb5832093b9ac2d279af Mon Sep 17 00:00:00 2001 From: Jordi Enric <37541088+jordienr@users.noreply.github.com> Date: Mon, 22 Jan 2024 11:19:11 +0100 Subject: [PATCH] chore: use new nav in database backups page (#20552) use new nav in database backups page --- .../Database/Backups/DatabaseBackupsNav.tsx | 35 +++++++++++++++++++ .../project/[ref]/database/backups/pitr.tsx | 19 ++-------- .../[ref]/database/backups/scheduled.tsx | 19 +++------- 3 files changed, 41 insertions(+), 32 deletions(-) create mode 100644 apps/studio/components/interfaces/Database/Backups/DatabaseBackupsNav.tsx 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 && (