import Link from "@/app/components/LocaleLink";

interface BlogPaginationProps {
  currentPage: number;
  totalPages: number;
}

export default function BlogPagination({
  currentPage,
  totalPages,
}: BlogPaginationProps) {
  if (totalPages <= 1) {
    return null;
  }

  const getPageUrl = (page: number) => {
    return page === 1 ? "/blogs" : `/blogs?page=${page}`;
  };

  return (
    <nav
      className="blog-pagination"
      aria-label="Blog pagination"
    >
      {/* Previous */}
      {currentPage > 1 ? (
        <Link
          href={getPageUrl(currentPage - 1)}
          className="pagination-btn"
        >
          ← Previous
        </Link>
      ) : (
        <span className="pagination-btn disabled">
          ← Previous
        </span>
      )}

      {/* Page Numbers */}
      <div className="pagination-numbers">
        {Array.from(
          { length: totalPages },
          (_, index) => index + 1
        ).map((page) => (
          <Link
            key={page}
            href={getPageUrl(page)}
            className={`pagination-number ${
              page === currentPage ? "active" : ""
            }`}
          >
            {page}
          </Link>
        ))}
      </div>

      {/* Next */}
      {currentPage < totalPages ? (
        <Link
          href={getPageUrl(currentPage + 1)}
          className="pagination-btn"
        >
          Next →
        </Link>
      ) : (
        <span className="pagination-btn disabled">
          Next →
        </span>
      )}
    </nav>
  );
}