-
-
Couldn't load subscription status.
- Fork 10.3k
chore(studio): consistent table rows across pages #39507
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
6 Skipped Deployments
|
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
| <> | ||
| <ScaffoldSection isFullWidth> | ||
| <div className="flex items-center justify-between mb-6"> | ||
| <div className="flex items-end justify-between mb-6"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks visually much more coherent, especially when there is a ScaffoldSectionDescription
| <div className="flex justify-end"> | ||
| <DropdownMenu> | ||
| <DropdownMenuTrigger className="px-1 focus-visible:outline-none" asChild> | ||
| <Button | ||
| type="text" | ||
| size="tiny" | ||
| icon={ | ||
| <MoreVertical size="14" className="text-foreground-light hover:text-foreground" /> | ||
| } | ||
| /> | ||
| </DropdownMenuTrigger> | ||
| <DropdownMenuContent className="max-w-40" align="end"> | ||
| <APIKeyDeleteDialog apiKey={apiKey} lastSeen={lastSeen} /> | ||
| </DropdownMenuContent> | ||
| </DropdownMenu> | ||
| </div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| const RowLoading = () => ( | ||
| <TableRow> | ||
| <TableCell> | ||
| <Skeleton className="max-w-12 h-4 rounded-full" /> | ||
| </TableCell> | ||
| <TableCell> | ||
| <Skeleton className="max-w-60 h-4 rounded-full" /> | ||
| </TableCell> | ||
| <TableCell> | ||
| <Skeleton className="max-w-60 h-4 rounded-full" /> | ||
| </TableCell> | ||
| <TableCell> | ||
| <Skeleton className="w-2 h-4 rounded-full" /> | ||
| </TableCell> | ||
| </TableRow> | ||
| ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Replaced with GenericSkeletonLoader
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of the changes here are about making the loading (or error) states sit under the FormHeader. This has some advantages:
- User gets context about what’s loading or errored
- This simplifies the markup drastically
- This is the pattern we’re using elsewhere, such as on storage bucket lists and database table lists
| <Button type="default" disabled={disableCreation} className="pointer-events-auto"> | ||
| <Button | ||
| type="default" | ||
| icon={<Plus size={14} />} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a + icon to match similar “New X” buttons elsewhere
| Table, | ||
| TableBody, | ||
| TableCell, | ||
| TableHead, | ||
| TableHeader, | ||
| TableRow, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using newer table components
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Verified on staging preview 🙂 🙏
just pushed a nit to add a loading indicator when revealing a secret key since it requires a network request

What kind of change does this PR introduce?
What is the current behavior?
What is the new behavior?
To test
Please test the following at various breakpoints: