mirror of
https://github.com/supabase/supabase.git
synced 2026-10-10 20:05:06 +03:00
"Restore points" read as an invented umbrella term competing with "backup," "snapshot," and "PITR recovery point." Visible copy now says what it means: "snapshots" for the Storage-side artifact (matching the existing Snapshots tab and bucket-level toggle), "snapshot lifecycle" for the project-level frequency/retention settings, and "backup" for per-backup coverage on the Database Backups page. Internal type/hook/ file names (RestorePointPolicy, restore-points-query.ts, etc.) are left as-is, same as the earlier Trash->Deleted files rename. Also fixed a stale line in the Snapshots tab that still said snapshots expire after a hardcoded 90 days per-bucket, predating the project-level retention restructure — now reads the real policy. Updated the design docs to match, including reversing an earlier documented decision in README.md that argued for "restore points" over "lifecycle policy."
Writing components
Where to create your components
- For components that declare the general structure and layout of a page:
/components/layouts/xxx
- For components that are tightly coupled to a specific interface:
/components/interfaces/xxx
- For components that are meant to be reusable across multiple pages:
/components/ui/xxx
- Note: We're gradually moving files out of the
to-be-cleanedfolder into the respective folders as we refactor
Component structure
- If a component has constants and utility methods that are tightly coupled to itself, keep them close to the component and enclose them in a folder with an
index.tsxas an entry point - Otherwise it can just be a file on its own
- For example:
-
components/ui - SampleComponentA - SampleComponentA.tsx - SampleComponentA.constants.ts - SampleComponentA.utils.ts - SampleComponentA.types.ts - index.ts - SampleComponentB.tsx
-
Template for building components
// Declare the prop types of your component
interface ComponentAProps {
sampleProp: string
}
// Name your component accordingly — use a named export, not a default export
export const ComponentA = ({ sampleProp }: ComponentAProps) => {
return <div>ComponentA: {sampleProp}</div>
}