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 && (