@@ -70,7 +70,13 @@ export default function Map() {
7070 setIntervalValue ( value as number ) ;
7171 } ;
7272 const handleChangeRangeType = ( value : string ) => {
73+ if ( value === "distance" ) {
7374 setRangeType ( value ) ;
75+ setUnity ( "km" ) ; }
76+ else if ( value === "time" ) {
77+ setRangeType ( value ) ;
78+ setUnity ( "m" ) ;
79+ }
7480 } ;
7581 return (
7682 < >
@@ -94,7 +100,7 @@ export default function Map() {
94100 </ >
95101 ) }
96102 < div >
97- < label style = { { marginRight : "10px" , fontWeight : "bold" } } > Transport Mode:</ label >
103+ < label style = { { marginRight : "10px" , fontWeight : "bold" } } > Transport Mode:</ label >
98104 < Select
99105 defaultValue = "distance"
100106 style = { { width : "100%" } }
@@ -105,53 +111,59 @@ export default function Map() {
105111 ] }
106112 />
107113 </ div >
108- < div >
109- < Select
110- defaultValue = "km"
111- style = { { width : "100%" } }
112- onChange = { handleChangeUnity }
113- options = { [
114- { value : 'km' , label : 'Kilometers' } ,
115- { value : 'm' , label : 'Meters' } ,
116- ] }
117- />
118- </ div >
119- < Row >
120- < Col span = { 12 } >
114+ { rangeType === "distance" && (
115+ < div >
116+ < Select
117+ defaultValue = "km"
118+ style = { { width : "100%" } }
119+ onChange = { handleChangeUnity }
120+ options = { [
121+ { value : 'km' , label : 'Kilometers' } ,
122+ { value : 'm' , label : 'Meters' } ,
123+ ] }
124+ />
125+ </ div >
126+ ) }
127+
128+ < Row align = "middle" >
129+ < Col span = { 16 } >
121130 < Slider
122131 min = { 1 }
123132 max = { 20 }
124133 onChange = { onChangeRangeValue }
125134 value = { typeof rangeValue === 'number' ? rangeValue : 0 }
126135 />
127136 </ Col >
128- < Col span = { 4 } >
137+ < Col span = { 8 } style = { { display : 'flex' , alignItems : 'center' } } >
129138 < InputNumber
130139 min = { 1 }
131140 max = { 20 }
132- style = { { margin : '0 16px' } }
141+ style = { { marginRight : 8 , width : 100 } }
133142 value = { rangeValue }
134143 onChange = { onChangeRangeValue }
135144 />
145+ < span > { rangeType == "distance" ? unity : "min" } </ span >
136146 </ Col >
137147 </ Row >
138- < Row >
139- < Col span = { 12 } >
148+
149+ < Row align = "middle" >
150+ < Col span = { 16 } >
140151 < Slider
141152 min = { 1 }
142153 max = { 20 }
143154 onChange = { onChangeIntervalValue }
144155 value = { typeof intervalValue === 'number' ? intervalValue : 0 }
145156 />
146157 </ Col >
147- < Col span = { 4 } >
158+ < Col span = { 8 } style = { { display : 'flex' , alignItems : 'center' } } >
148159 < InputNumber
149160 min = { 1 }
150161 max = { 20 }
151- style = { { margin : '0 16px' } }
162+ style = { { marginRight : 8 , width : 100 } }
152163 value = { intervalValue }
153164 onChange = { onChangeIntervalValue }
154165 />
166+ < span > { rangeType == "distance" ? unity : "min" } </ span >
155167 </ Col >
156168 </ Row >
157169
0 commit comments