Login-text, Context menu QoL enhancements

This commit is contained in:
PxlLoewe
2025-07-07 04:06:02 -07:00
parent 79b26be39a
commit 413be72eca
8 changed files with 43 additions and 20 deletions

View File

@@ -15,6 +15,7 @@ interface PaginatedTableProps<TData> extends Omit<SortableTableProps<TData>, "da
showEditButton?: boolean;
searchFields?: string[];
include?: Record<string, boolean>;
strictQuery?: boolean;
leftOfSearch?: React.ReactNode;
rightOfSearch?: React.ReactNode;
leftOfPagination?: React.ReactNode;
@@ -30,6 +31,7 @@ export function PaginatedTable<TData>({
filter,
include,
ref,
strictQuery = false,
leftOfSearch,
rightOfSearch,
leftOfPagination,
@@ -63,6 +65,15 @@ export function PaginatedTable<TData>({
filter,
include,
orderBy,
strictQuery
? restProps.columns
.filter((col: any) => "accessorKey" in col)
.map((col: any) => col.accessorKey)
.reduce((acc: Record<string, any>, key: string) => {
acc[key] = true;
return acc;
}, {})
: undefined,
).then((result) => {
if (result) {
setData(result.data);

View File

@@ -11,6 +11,7 @@ export async function getData(
filter?: Record<string, any>,
include?: Record<string, boolean>,
orderBy?: Record<string, "asc" | "desc">,
select?: Record<string, any>,
) {
if (!model || !prisma[model]) {
return { data: [], total: 0 };
@@ -33,13 +34,13 @@ export async function getData(
if (!prisma[model]) {
return { data: [], total: 0 };
}
const data = await (prisma[model] as any).findMany({
where,
orderBy,
take: limit,
skip: offset,
include,
select,
});
const total = await (prisma[model] as any).count({ where });