mirror of
https://github.com/supabase/supabase.git
synced 2026-10-12 12:55:06 +03:00
Stacked PR 2/5 for page title improvements. Includes Auth, Database, editors, and Edge Functions layout title adoption. _Base: [dnywh/feat/page-titles](https://github.com/supabase/supabase/pull/43538)_ --- ## What kind of change does this PR introduce? - Resolves FE-1960 - Resolves FE-1983 - Resolves DEPR-207 ## What is the current behavior? Page titles between surfaces are inconsistent and vague. Sometimes they say the product name: ``` My Project | My Org | Supabase ``` ...even when on a specific surface like Database > Tables. Other times they show the entity name but skip over the project or org name : ``` Edge Functions | Supabase ``` ## What is the new behavior? Auth, Database, editors, and Edge Functions adopt the layout title format introduced in https://github.com/supabase/supabase/pull/43538: ``` users | Table Editor | My Project | My Org | Supabase hello-world | Logs | Edge Functions | My Project | My Org | Supabase Backups | Database | My Project | My Org | Supabase Authentication | My Project | My Org | Supabase ``` That format is: entity, section, surface, project, org, brand ## Additional context Related stacked PRs also based on the the original [dnywh/feat/page-titles](https://github.com/supabase/supabase/pull/43538) branch: - https://github.com/supabase/supabase/pull/43535 - https://github.com/supabase/supabase/pull/43536 - https://github.com/supabase/supabase/pull/43537 --------- Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
47 lines
1.3 KiB
TypeScript
47 lines
1.3 KiB
TypeScript
import { useParams } from 'common'
|
|
import { PageLayout } from 'components/layouts/PageLayout/PageLayout'
|
|
import { UnknownInterface } from 'components/ui/UnknownInterface'
|
|
import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled'
|
|
import { PropsWithChildren } from 'react'
|
|
|
|
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 title="Sign In / Providers">
|
|
{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>
|
|
)
|
|
}
|