"use client"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Message } from "@/lib/types"; import { useState } from "react"; import { Textarea } from "./ui/textarea"; interface RatingCategory { name: string; value: number; } export default function EvaluationModal({ open = false, onOpenChange, message, prevMessage, }: { open: boolean; onOpenChange: (open: boolean) => void; message: Message; prevMessage: Message; }) { const [ratings, setRatings] = useState>({ relevance: 0, accuracy: 0, clarity: 0, engagement: 0, }); const categories: RatingCategory[] = [ { name: "Relevance", value: ratings.relevance }, { name: "Accuracy", value: ratings.accuracy }, { name: "Clarity", value: ratings.clarity }, { name: "User Engagement", value: ratings.engagement }, ]; const handleRating = (category: string, value: number) => { const categoryKey = category.toLowerCase() === "user engagement" ? "engagement" : category.toLowerCase(); setRatings((prev) => ({ ...prev, [categoryKey]: value, })); }; const handleSubmit = () => { console.log("Submitting ratings:", ratings); onOpenChange(false); }; return ( Evaluate this Response
{categories.map((category) => (
{[1, 2, 3, 4, 5].map((star) => ( ))}
))}