Files
the-biergarten-app/components/BeerById/BeerPostCommentsPaginationBar.tsx
Aaron William Po 796a5fce3f Styling changes and refactor
Switch google fonts to use Next.js font optimization, animate comment fade in, and refactor beer like handler and comment submit handler.
2023-04-04 20:51:29 -04:00

55 lines
1.5 KiB
TypeScript

import { FC } from 'react';
import Link from 'next/link';
import beerPostQueryResult from '@/services/BeerPost/schema/BeerPostQueryResult';
import { z } from 'zod';
import { FaArrowLeft, FaArrowRight } from 'react-icons/fa';
interface BeerCommentsPaginationBarProps {
commentsPageNum: number;
commentsPageCount: number;
beerPost: z.infer<typeof beerPostQueryResult>;
}
const BeerCommentsPaginationBar: FC<BeerCommentsPaginationBarProps> = ({
commentsPageNum,
commentsPageCount,
beerPost,
}) => (
<div className="flex items-center justify-center" id="comments-pagination">
<div className="btn-group">
<Link
className={`btn btn-ghost ${
commentsPageNum === 1
? 'btn-disabled pointer-events-none'
: 'pointer-events-auto'
}`}
href={{
pathname: `/beers/${beerPost.id}`,
query: { comments_page: commentsPageNum - 1 },
}}
scroll={false}
>
<FaArrowLeft />
</Link>
<button className="btn btn-ghost pointer-events-none">{commentsPageNum}</button>
<Link
className={`btn btn-ghost ${
commentsPageNum === commentsPageCount
? 'btn-disabled pointer-events-none'
: 'pointer-events-auto'
}`}
href={{
pathname: `/beers/${beerPost.id}`,
query: { comments_page: commentsPageNum + 1 },
}}
scroll={false}
>
<FaArrowRight />
</Link>
</div>
</div>
);
export default BeerCommentsPaginationBar;