Files
Danny WhiteandJoshen Lim 080cc7aeab chore(studio): authentication empty states (#40883)
* auth hooks and docs

* third-party auth

* remove unrelated changes

* remove unrelated changes

* docs tighten

* docs tighten

* Nit clean up

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-28 14:57:56 +08:00

47 lines
1.3 KiB
TypeScript

import { PropsWithChildren } from 'react'
import { useParams } from 'common'
import { PageLayout } from 'components/layouts/PageLayout/PageLayout'
import { UnknownInterface } from 'components/ui/UnknownInterface'
import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
import AuthLayout from './AuthLayout'
export const AuthProvidersLayout = ({ children }: PropsWithChildren<{}>) => {
const { ref } = useParams()
const { authenticationSignInProviders, authenticationThirdPartyAuth } = useIsFeatureEnabled([
'authentication:sign_in_providers',
'authentication:third_party_auth',
])
const navItems = [
{
label: 'Supabase Auth',
href: `/project/${ref}/auth/providers`,
},
...(authenticationThirdPartyAuth
? [
{
label: 'Third-Party Auth',
href: `/project/${ref}/auth/third-party`,
},
]
: []),
]
return (
<AuthLayout>
{authenticationSignInProviders ? (
<PageLayout
title="Sign In / Providers"
subtitle="Configure authentication providers and login methods for your users"
navigationItems={navItems}
>
{children}
</PageLayout>
) : (
<UnknownInterface urlBack={`/project/${ref}/auth/users`} />
)}
</AuthLayout>
)
}