(text: string)
| 27 | }; |
| 28 | |
| 29 | const highlightPrompt = (text: string) => { |
| 30 | const parts = text.split(/(\$[A-Z0-9_@]+)/g); |
| 31 | return parts.map((part, i) => { |
| 32 | const match = part.match(/^\$([A-Z0-9_@]+)/); |
| 33 | if (match) { |
| 34 | const sensorName = match[1].split('@')[0]; |
| 35 | const colorClass = SENSOR_COLORS[sensorName] || 'text-green-500 bg-green-50'; |
| 36 | return <span key={i} className={`font-semibold ${colorClass}`}>{part}</span>; |
| 37 | } |
| 38 | return part; |
| 39 | }); |
| 40 | }; |
| 41 | |
| 42 | interface SensorInputTextProps { |
| 43 | value: string; |