From fe93df7d6b260882359c904daad0d08eb41868cb Mon Sep 17 00:00:00 2001 From: Gildas Garcia <1122076+djhi@users.noreply.github.com> Date: Tue, 5 May 2026 17:56:42 +0200 Subject: [PATCH] chore: migrate `Input` usages to Shadcn component in auth and policies screens/components (#45590) ## Screenshots ### Auth: Create or edit custom Auth provider See the callback URL input at the bottom. Before: image After: image ### Custom Auth provider list search input Before: image After: image ### Auth hooks Before: image After: image ### OAuth App list search input Before: image After: image ### New policy sheet template search input Before: image After: image ### Storage new policy dialog Before: image After: image ## Summary by CodeRabbit * **Refactor** * Updated search input design across authentication interfaces for improved consistency. * Standardized input control layout in auth configuration forms. * **Bug Fixes** * Corrected webhook configuration field behavior. --- .../CreateOrUpdateCustomProviderSheet.tsx | 2 +- .../CustomAuthProvidersList.tsx | 23 ++++++---- .../interfaces/Auth/Hooks/HookCard.tsx | 42 ++++++++++++------- .../Auth/OAuthApps/OAuthAppsList.tsx | 23 ++++++---- .../Auth/Policies/PolicyEditor/PolicyName.tsx | 22 +++++----- .../PolicyEditorPanel/PolicyTemplates.tsx | 30 +++++++++---- 6 files changed, 88 insertions(+), 54 deletions(-) diff --git a/apps/studio/components/interfaces/Auth/CustomAuthProviders/CreateOrUpdateCustomProviderSheet.tsx b/apps/studio/components/interfaces/Auth/CustomAuthProviders/CreateOrUpdateCustomProviderSheet.tsx index 8916086b46..8496b652ef 100644 --- a/apps/studio/components/interfaces/Auth/CustomAuthProviders/CreateOrUpdateCustomProviderSheet.tsx +++ b/apps/studio/components/interfaces/Auth/CustomAuthProviders/CreateOrUpdateCustomProviderSheet.tsx @@ -12,7 +12,6 @@ import { FormControl, FormField, FormInputGroupInput, - Input, Input_Shadcn_, InputGroup, InputGroupAddon, @@ -30,6 +29,7 @@ import { Switch, useWatch, } from 'ui' +import { Input } from 'ui-patterns/DataInputs/Input' import { FormItemLayout } from 'ui-patterns/form/FormItemLayout/FormItemLayout' import * as z from 'zod' diff --git a/apps/studio/components/interfaces/Auth/CustomAuthProviders/CustomAuthProvidersList.tsx b/apps/studio/components/interfaces/Auth/CustomAuthProviders/CustomAuthProvidersList.tsx index 3b23e23d14..39f86f5b35 100644 --- a/apps/studio/components/interfaces/Auth/CustomAuthProviders/CustomAuthProvidersList.tsx +++ b/apps/studio/components/interfaces/Auth/CustomAuthProviders/CustomAuthProvidersList.tsx @@ -15,7 +15,9 @@ import { HoverCard, HoverCardContent, HoverCardTrigger, - Input, + InputGroup, + InputGroupAddon, + InputGroupInput, Table, TableBody, TableCell, @@ -284,14 +286,17 @@ export const CustomAuthProvidersList = () => {
- } - value={filterString} - className="w-full lg:w-52" - onChange={(e) => setFilterString(e.target.value)} - /> + + setFilterString(e.target.value)} + /> + + + + { Postgres function
- schema + - hook.method.type === 'postgres' && copyToClipboard(hook.method.schema) - } />
- function + - hook.method.type === 'postgres' && copyToClipboard(hook.method.functionName) - } />
@@ -67,26 +70,33 @@ export const HookCard = ({ hook, onSelect }: HookCardProps) => { HTTPS endpoint
- endpoint + hook.method.type === 'https' && copyToClipboard(hook.method.url)} />
- secret +
diff --git a/apps/studio/components/interfaces/Auth/OAuthApps/OAuthAppsList.tsx b/apps/studio/components/interfaces/Auth/OAuthApps/OAuthAppsList.tsx index d995647864..149271a6f5 100644 --- a/apps/studio/components/interfaces/Auth/OAuthApps/OAuthAppsList.tsx +++ b/apps/studio/components/interfaces/Auth/OAuthApps/OAuthAppsList.tsx @@ -13,7 +13,9 @@ import { DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, - Input, + InputGroup, + InputGroupAddon, + InputGroupInput, Table, TableBody, TableCell, @@ -231,14 +233,17 @@ export const OAuthAppsList = () => { )}
- } - value={filterString} - className="w-full lg:w-52" - onChange={(e) => setFilterString(e.target.value)} - /> + + setFilterString(e.target.value)} + /> + + + + A descriptive name for your policy

- onUpdatePolicyName(e.target.value)} - actions={ - + + onUpdatePolicyName(e.target.value)} + /> + + {name.length}/{limit} - - } - /> + + +
) diff --git a/apps/studio/components/interfaces/Auth/Policies/PolicyEditorPanel/PolicyTemplates.tsx b/apps/studio/components/interfaces/Auth/Policies/PolicyEditorPanel/PolicyTemplates.tsx index 2194d35771..d1377074e9 100644 --- a/apps/studio/components/interfaces/Auth/Policies/PolicyEditorPanel/PolicyTemplates.tsx +++ b/apps/studio/components/interfaces/Auth/Policies/PolicyEditorPanel/PolicyTemplates.tsx @@ -1,7 +1,16 @@ import { PostgresPolicy } from '@supabase/postgres-meta' import { Search } from 'lucide-react' import { useState } from 'react' -import { Badge, cn, HoverCard, HoverCardContent, HoverCardTrigger, Input } from 'ui' +import { + Badge, + cn, + HoverCard, + HoverCardContent, + HoverCardTrigger, + InputGroup, + InputGroupAddon, + InputGroupInput, +} from 'ui' import { SimpleCodeBlock } from 'ui-patterns/SimpleCodeBlock' import { @@ -56,14 +65,17 @@ export const PolicyTemplates = ({ - } - placeholder="Search templates" - value={search} - onChange={(event) => setSearch(event.target.value)} - /> + + setSearch(e.target.value)} + /> + + + + {search.length > 0 && filteredTemplates.length === 0 && (