Refactoring user Page in admin panel.

This commit is contained in:
charlesgauthereau
2025-12-30 13:38:01 +01:00
parent 8e3eb32631
commit c18a9da0d3
31 changed files with 1032 additions and 252 deletions
@@ -1,9 +1,9 @@
import {PageParams} from "@/types/next";
import {Page, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
import {Page, PageActions, PageContent, PageHeader, PageTitle} from "@/features/layout/page";
import {db} from "@/db";
import {DataTable} from "@/components/wrappers/common/table/data-table";
import {usersColumnsAdmin} from "@/components/wrappers/dashboard/admin/users/columns-users";
import {isNull} from "drizzle-orm";
import {desc, isNull} from "drizzle-orm";
import {AdminUserList} from "@/components/wrappers/dashboard/admin/users/admin-user-list";
import {AdminUserAddModal} from "@/components/wrappers/dashboard/admin/users/admin-user-add-modal";
export default async function RoutePage(props: PageParams<{}>) {
@@ -11,7 +11,14 @@ export default async function RoutePage(props: PageParams<{}>) {
where: (fields) => isNull(fields.deletedAt),
with: {
accounts: true
}
},
orderBy: (fields) => desc(fields.createdAt),
});
const organizations = await db.query.organization.findMany({
with: {
members: true,
},
});
return (
@@ -19,14 +26,16 @@ export default async function RoutePage(props: PageParams<{}>) {
<PageHeader className="flex flex-col">
<div className="flex justify-between">
<PageTitle className="mb-3">Active users</PageTitle>
<PageActions>
<AdminUserAddModal organizations={organizations}/>
</PageActions>
</div>
</PageHeader>
<PageContent className="flex flex-col gap-5">
<DataTable
enableSelect={false}
columns={usersColumnsAdmin}
data={users}/>
<AdminUserList users={users}/>
</PageContent>
</Page>
);
}