mirror of
https://github.com/documenso/documenso.git
synced 2025-11-13 08:13:56 +10:00
feat: filter users by name or email
This commit is contained in:
@ -1,10 +1,6 @@
|
||||
import { findUsers } from '@documenso/lib/server-only/user/get-all-users';
|
||||
|
||||
/*
|
||||
1. retrieve all users from the db
|
||||
2. display them in a table
|
||||
*/
|
||||
import { UsersDataTable } from './data-table-users';
|
||||
import { Users } from './users';
|
||||
|
||||
type AdminManageUsersProps = {
|
||||
searchParams?: {
|
||||
@ -13,23 +9,22 @@ type AdminManageUsersProps = {
|
||||
};
|
||||
};
|
||||
|
||||
export default async function AdminManageUsers({ searchParams = {} }: AdminManageUsersProps) {
|
||||
export default function AdminManageUsers({ searchParams = {} }: AdminManageUsersProps) {
|
||||
const page = Number(searchParams.page) || 1;
|
||||
const perPage = Number(searchParams.perPage) || 10;
|
||||
|
||||
const results = await findUsers({ page, perPage });
|
||||
async function search(search: string) {
|
||||
'use server';
|
||||
|
||||
const results = await findUsers({ username: search, email: search, page, perPage });
|
||||
|
||||
return results;
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<h2 className="text-4xl font-semibold">Manage users</h2>
|
||||
<div className="mt-8">
|
||||
<UsersDataTable
|
||||
users={results.users}
|
||||
perPage={perPage}
|
||||
page={page}
|
||||
totalPages={results.totalPages}
|
||||
/>
|
||||
</div>
|
||||
<Users search={search} page={page} perPage={perPage} />
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user