'use client';

import { useRouter } from 'next/navigation';
import Pagination from '@/app/component/Pagination';

type Props = {
	total: number;
	page: number;
	perPage: number;
	// 이동 대상 경로 + 유지할 쿼리 (page 는 자동 갱신)
	basePath: string;
	query?: Record<string, string>;
};

// SSR 목록 페이지용 페이저 — 기존 Pagination(onChange 콜백형)을 router.push 로 연결
export default function Pager({ total, page, perPage, basePath, query }: Props) {
	const router = useRouter();

	const handleChange = (next: number) => {
		const params = new URLSearchParams(query);
		params.set('page', String(next));
		router.push(`${basePath}?${params.toString()}`);
	};

	return (
		<Pagination total={total} page={page} perPage={perPage} onChange={handleChange} />
	);
}