mirror of
https://github.com/supabase/supabase.git
synced 2026-10-10 20:05:06 +03:00
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Bug fix ## What is the current behavior? Fixes #34967 The `/account/me` ([https://supabase.com/dashboard/account/me](https://supabase.com/dashboard/account/me)) preferences page has layout shifting during profile loading. ## What is the new behavior? - Loading skeletons now match the structure of the loaded content (one card per dynamic section) - Static sections only render in the non-error branch, preventing them from appearing alongside error messages - Removed unused `isSuccess` destructure from `useProfile()` - CLS value now on good range <= 0.10. <img width="1917" height="905" alt="Screenshot from 2026-02-11 00-39-19" src="https://github.com/user-attachments/assets/1d8fa7e1-9ca3-49ae-b4b8-1c0f28ebbf93" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Enhanced the loading state interface on the account settings page with improved visual indicators. Updated the component structure for better UI consistency and refined the visual feedback mechanism during profile data retrieval. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
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)