import { StarFilled } from '@ant-design/icons'
/** 评价浮层:星级 + 快捷评语 + 提交/跳过 */
export function RatingOverlay({
score,
hoverStar,
text,
submitting,
sending,
presets,
onScore,
onHover,
onText,
onSubmit,
onSkip,
onSkipAndRestart,
onTogglePreset,
}: {
score: number
hoverStar: number
text: string
submitting: boolean
sending: boolean
presets: string[]
onScore: (star: number) => void
onHover: (star: number) => void
onText: (next: string) => void
onSubmit: () => void
onSkip: () => void
onSkipAndRestart: () => void
/** 快捷评语:重复点击同一标签取消选中 */
onTogglePreset: (preset: string) => void
}) {
return (
本次服务如何?
先点亮星级,可补充感受后再提交
{[1, 2, 3, 4, 5].map(star => {
const active = star <= (hoverStar || score)
return (
onHover(star)}
onMouseLeave={() => onHover(0)}
onClick={() => onScore(star)}
/>
)
})}
{score > 0 ? `${score} 星` : '请选择 1~5 星'}
{presets.map(preset => {
const selected = text === preset
return (
)
})}
)
}