Files
supabase/apps/studio/components/layouts/DatabaseLayout/DatabaseLayout.tsx
T
2026-04-02 12:37:39 +02:00

47 lines
1.3 KiB
TypeScript

import { useIsNavigationV2Enabled } from 'components/interfaces/App/FeaturePreview/FeaturePreviewContext'
import { useRouter } from 'next/router'
import type { PropsWithChildren } from 'react'
import { ProjectLayoutV2 } from '../NavigationV2/ProjectLayout'
import { ProjectLayout } from '../ProjectLayout'
import { useGenerateDatabaseMenu } from './DatabaseMenu.utils'
import { ProductMenu } from '@/components/ui/ProductMenu'
import { withAuth } from '@/hooks/misc/withAuth'
export interface DatabaseLayoutProps {
title: string
}
export const DatabaseProductMenu = () => {
const router = useRouter()
const page = router.pathname.split('/')[4]
const menu = useGenerateDatabaseMenu()
return <ProductMenu page={page} menu={menu} />
}
const DatabaseLayout = ({ children, title }: PropsWithChildren<DatabaseLayoutProps>) => {
const isNavigationV2 = useIsNavigationV2Enabled()
if (isNavigationV2) {
return (
<ProjectLayoutV2 product="Database" isBlocking={false}>
{children}
</ProjectLayoutV2>
)
}
return (
<ProjectLayout
product="Database"
browserTitle={{ section: title }}
productMenu={<DatabaseProductMenu />}
isBlocking={false}
>
{children}
</ProjectLayout>
)
}
export default withAuth(DatabaseLayout)