diff --git a/adminfront/src/features/users/UserListPage.tsx b/adminfront/src/features/users/UserListPage.tsx index 53dc0e65..e92ae4c7 100644 --- a/adminfront/src/features/users/UserListPage.tsx +++ b/adminfront/src/features/users/UserListPage.tsx @@ -34,6 +34,7 @@ import { commonTableShellClass, commonTableViewportClass, } from "../../../../common/ui/table"; +import { SearchFilterBar } from "../../../../common/ui/search-filter-bar"; import { Button } from "../../components/ui/button"; import { Card, @@ -426,47 +427,53 @@ function UserListPage() { )} actions={ <> -
-
- - setSearchDraft(e.target.value)} - onKeyDown={handleKeyDown} - /> -
+ +
+ + setSearchDraft(e.target.value)} + onKeyDown={handleKeyDown} + /> +
- + - -
+ + + } + /> -
- - {t("ui.dev.clients.consents.status_label", "Status:")} - - -
- - - )} - + + } + />
diff --git a/orgfront/src/features/audit/AuditLogsPage.tsx b/orgfront/src/features/audit/AuditLogsPage.tsx index 1f20529a..c2ac14b5 100644 --- a/orgfront/src/features/audit/AuditLogsPage.tsx +++ b/orgfront/src/features/audit/AuditLogsPage.tsx @@ -28,6 +28,7 @@ import { TableHeader, TableRow, } from "../../components/ui/table"; +import { SearchFilterBar } from "../../../../common/ui/search-filter-bar"; import type { DevAuditLog } from "../../lib/devApi"; import { fetchDevAuditLogs } from "../../lib/devApi"; import { t } from "../../lib/i18n"; @@ -227,43 +228,55 @@ function AuditLogsPage() {
-
-
- - setSearchClientId(e.target.value)} - placeholder={t( - "ui.dev.audit.filter.client_id", - "Filter by Client ID", - )} - /> -
- setSearchAction(e.target.value.toUpperCase())} - placeholder={t( - "ui.dev.audit.filter.action", - "Filter by Action (e.g. ROTATE_SECRET)", - )} - /> - -
+ { + e.preventDefault(); + query.refetch(); + }} + className="grid flex-1 gap-2 md:grid-cols-[1fr,1fr,180px]" + > +
+ + setSearchClientId(e.target.value)} + placeholder={t( + "ui.dev.audit.filter.client_id", + "Filter by Client ID", + )} + /> +
+ + setSearchAction(e.target.value.toUpperCase()) + } + placeholder={t( + "ui.dev.audit.filter.action", + "Filter by Action (e.g. ROTATE_SECRET)", + )} + /> + + + } + /> diff --git a/orgfront/src/features/clients/ClientConsentsPage.tsx b/orgfront/src/features/clients/ClientConsentsPage.tsx index 75c85219..11499a9f 100644 --- a/orgfront/src/features/clients/ClientConsentsPage.tsx +++ b/orgfront/src/features/clients/ClientConsentsPage.tsx @@ -26,6 +26,7 @@ import { TableHeader, TableRow, } from "../../components/ui/table"; +import { SearchFilterBar } from "../../../../common/ui/search-filter-bar"; import { fetchClient, fetchConsents, revokeConsent } from "../../lib/devApi"; import { t } from "../../lib/i18n"; import { cn } from "../../lib/utils"; @@ -235,8 +236,8 @@ function ClientConsentsPage() { -
-
+ setSubjectInput(e.target.value)} />
-
-
- - - -
- - - {isAdvancedFilterOpen && ( -
-
- - {t("ui.dev.clients.consents.status_label", "Status:")} - -
- - -
-
- -
- - {t("ui.dev.clients.consents.scope_label", "Scope:")} - -
- {allScopes.length > 0 && ( - - )} - {allScopes.map((scope) => ( - - ))} -
-
- -
+ } + actions={ + <> -
-
- )} + + + + } + advancedOpen={isAdvancedFilterOpen} + advanced={ + <> +
+ + {t("ui.dev.clients.consents.status_label", "Status:")} + +
+ + +
+
+ +
+ + {t("ui.dev.clients.consents.scope_label", "Scope:")} + +
+ {allScopes.length > 0 && ( + + )} + {allScopes.map((scope) => ( + + ))} +
+
+ +
+ +
+ + } + />
diff --git a/orgfront/src/features/clients/ClientsPage.tsx b/orgfront/src/features/clients/ClientsPage.tsx index a6813fd0..5a8c5a10 100644 --- a/orgfront/src/features/clients/ClientsPage.tsx +++ b/orgfront/src/features/clients/ClientsPage.tsx @@ -36,6 +36,7 @@ import { TableHeader, TableRow, } from "../../components/ui/table"; +import { SearchFilterBar } from "../../../../common/ui/search-filter-bar"; import { fetchClients, fetchDevStats } from "../../lib/devApi"; import { t } from "../../lib/i18n"; import { cn } from "../../lib/utils"; @@ -179,8 +180,9 @@ function ClientsPage() { -
-
+ setSearchQuery(e.target.value)} />
-
+ } + actions={ + <>
-
- - - {isAdvancedFilterOpen && ( -
-
- - {t("ui.dev.clients.filter.type_label", "Type:")} - - setTypeFilter(e.target.value)} + > + + + + +
+
+ + {t("ui.dev.clients.consents.status_label", "Status:")} + + +
+
-
- - {t("ui.dev.clients.consents.status_label", "Status:")} - - -
- - - )} - + + } + />