You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20 lines
599 B
TypeScript

export const PER_PAGE = 25;
// Batas atas mencegah offset melebihi BIGINT MariaDB (query error).
export function parsePage(pageParam?: string): number {
const parsed = Number.parseInt(pageParam ?? "1", 10);
return Number.isSafeInteger(parsed) && parsed >= 1 ? parsed : 1;
}
export function halamanHref(
basePath: string,
page: number,
search?: string,
): string {
const params = new URLSearchParams();
if (search) params.set("search", search);
if (page > 1) params.set("page", String(page));
const query = params.toString();
return query ? `${basePath}?${query}` : basePath;
}