mirror of
https://github.com/supabase/supabase.git
synced 2026-10-11 12:25:05 +03:00
47 lines
1.3 KiB
TypeScript
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)
|