// src/lib/nav/page-param.ts

/**
 * Parse `?page=` from a URL for SSR first-paint seeding.
 * Mirrors usePaginatedQuery's client-side URL read: 1-indexed, floored,
 * clamped to >= 1; non-numeric / out-of-range falls back.
 */
export function getPageParam(url: URL, fallback = 1): number {
  const raw = url.searchParams.get('page');
  const n = Number(raw);
  return Number.isFinite(n) && n >= 1 ? Math.floor(n) : fallback;
}
