import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from "@/components/ui/table"; import { Badge } from "@/components/ui/badge"; import { cn } from "@/lib/utils"; import { Star } from "lucide-react"; interface Review { id: string; product: string; brand: string; review: string; rating: number; sentiment: "positif" | "negatif" | "netral"; date: string; confidence: number; } interface ReviewTableProps { reviews: Review[]; } export function ReviewTable({ reviews }: ReviewTableProps) { const getSentimentBadge = (sentiment: Review["sentiment"]) => { const styles = { positif: "sentiment-positive", negatif: "sentiment-negative", netral: "sentiment-neutral", }; const labels = { positif: "Positif", negatif: "Negatif", netral: "Netral", }; return ( {labels[sentiment]} ); }; const renderStars = (rating: number) => { return (
{Array.from({ length: 5 }).map((_, i) => ( ))}
); }; return (
Produk Ulasan Rating Sentimen Confidence {reviews.map((review, index) => (

{review.brand}

{review.product}

{review.review}

{review.date}

{renderStars(review.rating)} {getSentimentBadge(review.sentiment)} {(review.confidence * 100).toFixed(1)}%
))}
); }