Files
Danny WhiteandJoshen Lim 817a2710da feat(studio): page titles for account and org surfaces (#43536)
Stacked PR 4/5 for page title improvements. Includes account and
organization-level title updates plus organization list/selector page
titles.

_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?

Account and organization-level title updates plus organization
list/selector page titles, adopting 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/43534
- https://github.com/supabase/supabase/pull/43535
- https://github.com/supabase/supabase/pull/43537

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-03-13 12:18:13 +11:00

34 lines
963 B
TypeScript

import { LinkSupportTicketPage } from 'components/interfaces/Support/LinkSupportTicketPage'
import { AppLayout } from 'components/layouts/AppLayout/AppLayout'
import { DefaultLayout } from 'components/layouts/DefaultLayout'
import { withAuth } from 'hooks/misc/withAuth'
import { IS_PLATFORM } from 'lib/constants'
import { useRouter } from 'next/router'
import type { ReactElement } from 'react'
import { useEffect } from 'react'
import type { NextPageWithLayout } from 'types'
const LinkSupportTicketPageRoute: NextPageWithLayout = () => {
const router = useRouter()
useEffect(() => {
if (!IS_PLATFORM) {
router.push('/404')
}
}, [router])
if (!IS_PLATFORM) {
return null
}
return <LinkSupportTicketPage />
}
LinkSupportTicketPageRoute.getLayout = (page: ReactElement) => (
<AppLayout>
<DefaultLayout>{page}</DefaultLayout>
</AppLayout>
)
export default withAuth(LinkSupportTicketPageRoute, { useHighestAAL: false })