Skip to content

Conversation

@dnywh
Copy link
Contributor

@dnywh dnywh commented Oct 14, 2025

What kind of change does this PR introduce?

  • UI cleanup
  • Fixes DEPR-119

What is the current behavior?

  • The S3 Configuration page is using a deprecated table components
    • It’s visually out of date with other table instances on Studio
    • This inconsistency will be exacerbated by incoming Storage sibling pages, which also deal with S3 configuration (or at least present data in a similar way
  • The API Keys page is similarly out of date with table components and incoming similar Storage UI

What is the new behavior?

  • The S3 Configuration table uses the latest table components
  • The API Keys page is updated to match both the latest table components and how we’re presenting secrets in Storage
Before After
S3 Configuration  Supabase S3 Configuration  Supabase
Settings  Supabase Settings  Supabase

To test

Please test the following at various breakpoints:

  • Viewing secret keys
  • Viewing S3 Configuration access keys
    • Viewing 1+ items and their values shown in the table

@vercel
Copy link

vercel bot commented Oct 14, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
studio-self-hosted Ready Ready Preview Comment Oct 14, 2025 10:14am
studio-staging Ready Ready Preview Comment Oct 14, 2025 10:14am
6 Skipped Deployments
Project Deployment Preview Comments Updated (UTC)
cms Ignored Ignored Oct 14, 2025 10:14am
studio Ignored Ignored Oct 14, 2025 10:14am
design-system Skipped Skipped Oct 14, 2025 10:14am
docs Skipped Skipped Oct 14, 2025 10:14am
ui-library Skipped Skipped Oct 14, 2025 10:14am
zone-www-dot-com Skipped Skipped Oct 14, 2025 10:14am

@supabase
Copy link

supabase bot commented Oct 14, 2025

This pull request has been ignored for the connected project xguihxuzqibwxjnimxev because there are no changes detected in supabase directory. You can change this behaviour in Project Integrations Settings ↗︎.


Preview Branches by Supabase.
Learn more about Supabase Branching ↗︎.

<>
<ScaffoldSection isFullWidth>
<div className="flex items-center justify-between mb-6">
<div className="flex items-end justify-between mb-6">
Copy link
Contributor Author

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

Comment on lines +58 to +73
<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>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wrapping div is required to fix this issue:

Image

Comment on lines -78 to -93
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>
)
Copy link
Contributor Author

@dnywh dnywh Oct 14, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Replaced with GenericSkeletonLoader

Copy link
Contributor Author

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} />}
Copy link
Contributor Author

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

Comment on lines +38 to +43
Table,
TableBody,
TableCell,
TableHead,
TableHeader,
TableRow,
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using newer table components

@dnywh dnywh marked this pull request as ready for review October 14, 2025 04:02
@dnywh dnywh requested a review from a team as a code owner October 14, 2025 04:02
Copy link
Member

@joshenlim joshenlim left a 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

@dnywh dnywh merged commit 6617418 into master Oct 14, 2025
17 of 20 checks passed
@dnywh dnywh deleted the dnywh/chore/consistent-connection-tables branch October 14, 2025 23:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants