@@ -3,8 +3,8 @@ import { useEffect, useState } from "react"
33import { useDebounce } from "react-use"
44
55interface TemperatureControlProps {
6- value : number | undefined
7- onChange : ( value : number | undefined ) => void
6+ value : number | undefined | null
7+ onChange : ( value : number | undefined | null ) => void
88 maxValue ?: number // Some providers like OpenAI use 0-2 range
99}
1010
@@ -14,7 +14,7 @@ export const TemperatureControl = ({ value, onChange, maxValue = 1 }: Temperatur
1414 useDebounce ( ( ) => onChange ( inputValue ) , 50 , [ onChange , inputValue ] )
1515 // Sync internal state with prop changes when switching profiles
1616 useEffect ( ( ) => {
17- const hasCustomTemperature = value !== undefined
17+ const hasCustomTemperature = value !== undefined && value !== null
1818 setIsCustomTemperature ( hasCustomTemperature )
1919 setInputValue ( value )
2020 } , [ value ] )
@@ -28,7 +28,7 @@ export const TemperatureControl = ({ value, onChange, maxValue = 1 }: Temperatur
2828 const isChecked = e . target . checked
2929 setIsCustomTemperature ( isChecked )
3030 if ( ! isChecked ) {
31- setInputValue ( undefined ) // Unset the temperature
31+ setInputValue ( null ) // Unset the temperature, note that undefined is unserializable
3232 } else {
3333 setInputValue ( value ?? 0 ) // Use the value from apiConfiguration, if set
3434 }
@@ -53,7 +53,7 @@ export const TemperatureControl = ({ value, onChange, maxValue = 1 }: Temperatur
5353 min = "0"
5454 max = { maxValue }
5555 step = "0.01"
56- value = { inputValue }
56+ value = { inputValue ?? 0 }
5757 className = "h-2 focus:outline-0 w-4/5 accent-vscode-button-background"
5858 onChange = { ( e ) => setInputValue ( parseFloat ( e . target . value ) ) }
5959 />
0 commit comments