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 ( ) })}