import { useRouter } from 'next/router'; import Link from 'next/link'; import type { Reviews as TReviews } from 'src/interfaces/shared/title'; import { formatNumber } from 'src/utils/helpers'; import styles from 'src/styles/modules/components/title/reviews.module.scss'; type Props = { reviews: TReviews; }; const Reviews = ({ reviews }: Props) => { return (

Reviews

User Reviews

{reviews.featuredReviews ? (
    {reviews.featuredReviews.map(featuredReview => (
  • {featuredReview.review.summary}
  • ))}
) : (

No reviews yet.

)}
{reviews.ai?.summary && (
AI Summary

    {reviews.ai.themes.map(theme => (
  • {theme.text}
  • ))}
)}
); }; export default Reviews; const RatingsDistribution = ({ ratings }: { ratings: Props['reviews']['ratingsDistribution'] }) => { const maxRating = Math.max(...ratings.map(r => r.votes)); return (

Ratings Distribution

{ratings.length ? ( ) : (

No ratings yet.

)}
); }; const ReviewStats = ({ reviews }: { reviews: Props['reviews'] }) => { const router = useRouter(); const { titleId } = router.query; return (

{formatNumber(reviews.numUserReviews)} User reviews

{formatNumber(reviews.numCriticReviews)} Critic reviews

{reviews.metacriticScore} Metascore

); };