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
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;
|
|
}
|