c-rating-8.tsx
"use client"
import { useState } from "react"
import { cn } from "cn"
const emojis = [
{ value: 1, emoji: "๐", label: "Terrible" },
{ value: 2, emoji: "๐", label: "Bad" },
{ value: 3, emoji: "๐", label: "Okay" },
{ value: 4, emoji: "๐", label: "Good" },
{ value: 5, emoji: "๐คฉ", label: "Amazing" },
]
export function Pattern() {
const [selected, setSelected] = useState<number | null>(null)
return (
<div className="mx-auto flex w-full max-w-xs flex-col items-center gap-3">
<p className="text-sm font-medium">How was your experience?</p>
<div className="flex gap-2">
{emojis.map((item) => (
<button
key={item.value}
type="button"
onClick={() => setSelected(item.value)}
className={cn(
"rounded-lg flex size-10 items-center justify-center border-2 text-2xl transition-all",
selected === item.value
? "border-border bg-muted scale-110"
: "hover:bg-muted border-transparent"
)}
>
{item.emoji}
</button>
))}
</div>
{selected && (
<p className="text-muted-foreground text-sm">
{emojis.find((e) => e.value === selected)?.label}
</p>
)}
</div>
)
}































