mirror of
https://github.com/supabase/supabase.git
synced 2026-10-17 07:09:07 +03:00
## Summary * Makes sign-in banner visible on unauthenticated pages * Show only when one of the affected components is Dashboard * Works only when new status page (under feature flag) is being used * Regression fix: Auth pages without the status banner (sign-up, sign-in-mfa, sign-in-recovery-code, sign-in-sso, sign-in-partner, forgot-password, forgot-password-mfa, reset-password) no longer reserve dead space at the top for a banner they don't render ## Test plan - [X] TypeScript: `tsc --noEmit` passes clean, no type errors - [X] Unit tests: All new/existing tests pass in `apps/studio/lib/status-page/status-page.utils.test.ts` and `apps/studio/components/layouts/AppLayout/StatusBanner.utils.test.ts` (697 files / 7833 tests, no regressions) - [X] Manual verification: Sign-in page still renders the banner correctly when an incident affecting Dashboard is active; no layout regression **Related:** [FE-3443](https://linear.app/supabase/issue/FE-3443/only-show-sign-in-incident-banner-when-relevant)
Writing pages
Rough guidelines
- Try to break down your pages into smaller building blocks - components which are tightly coupled to a page can be placed within the folder
components/interfaces/xxx/...(Refer to the README.md under the components folder) - Keep to using
useStatehooks for any UI related logic, do not create MobX local stores to handle UI logic.
Template for building pages
import { NextPage } from 'next'
import { withAuth } from 'hooks/misc/withAuth'
// Import the corresponding layout based on the page
import { Layout } from 'components/layouts'
// Import the main building blocks of the page
import { ... } from 'components/interfaces/xxx'
// Import reusable UI components if needed
import { ... } from 'components/ui/xxx'
// Name your page accordingly
const Page: NextPage = () => {
return (
<Layout>
<div>Page content</div>
</Layout>
)
}
export default withAuth(Page)