@@ -29,20 +29,30 @@ type Preset =
2929export function ClimatePresets ( props : ClimatePresetsManagement ) : JSX . Element {
3030 const { device, onBack } = props
3131
32- const [ selectedClimatePreset , setSelectedClimatePreset ] =
33- useState < Preset | typeof CreateNewPresetSymbol | null > ( null )
34-
35- const [ inDeletionPresetKey , setInDeletionPresetKey ] = useState < Preset [ 'climate_preset_key' ] | null > ( null ) ;
36- const deleteMutation = useDeleteThermostatClimatePreset ( ) ;
37-
38- if ( selectedClimatePreset != null || selectedClimatePreset === CreateNewPresetSymbol ) {
32+ const [ selectedClimatePreset , setSelectedClimatePreset ] = useState <
33+ Preset | typeof CreateNewPresetSymbol | null
34+ > ( null )
35+
36+ const [ inDeletionPresetKey , setInDeletionPresetKey ] = useState <
37+ Preset [ 'climate_preset_key' ] | null
38+ > ( null )
39+ const deleteMutation = useDeleteThermostatClimatePreset ( )
40+
41+ if (
42+ selectedClimatePreset != null ||
43+ selectedClimatePreset === CreateNewPresetSymbol
44+ ) {
3945 return (
4046 < ClimatePreset
4147 onBack = { ( ) => {
4248 setSelectedClimatePreset ( null )
4349 } }
4450 device = { device }
45- preset = { selectedClimatePreset === CreateNewPresetSymbol ? undefined : selectedClimatePreset }
51+ preset = {
52+ selectedClimatePreset === CreateNewPresetSymbol
53+ ? undefined
54+ : selectedClimatePreset
55+ }
4656 />
4757 )
4858 }
@@ -51,9 +61,12 @@ export function ClimatePresets(props: ClimatePresetsManagement): JSX.Element {
5161 < div className = 'seam-thermostat-climate-presets' >
5262 < ContentHeader title = 'Climate Presets' onBack = { onBack } />
5363 < div className = 'seam-thermostat-climate-presets-body' >
54- < Button onClick = { ( ) => {
55- setSelectedClimatePreset ( CreateNewPresetSymbol )
56- } } className = 'seam-climate-presets-add-button' >
64+ < Button
65+ onClick = { ( ) => {
66+ setSelectedClimatePreset ( CreateNewPresetSymbol )
67+ } }
68+ className = 'seam-climate-presets-add-button'
69+ >
5770 < AddIcon />
5871 Create New
5972 </ Button >
@@ -74,8 +87,14 @@ export function ClimatePresets(props: ClimatePresetsManagement): JSX.Element {
7487 temperatureUnit = { props . temperatureUnit }
7588 preset = { preset }
7689 key = { preset . climate_preset_key }
77- deletionLoading = { deleteMutation . isPending && inDeletionPresetKey === preset . climate_preset_key }
78- disabled = { deleteMutation . isPending && inDeletionPresetKey !== preset . climate_preset_key }
90+ deletionLoading = {
91+ deleteMutation . isPending &&
92+ inDeletionPresetKey === preset . climate_preset_key
93+ }
94+ disabled = {
95+ deleteMutation . isPending &&
96+ inDeletionPresetKey !== preset . climate_preset_key
97+ }
7998 />
8099 ) ) }
81100 </ div >
@@ -94,8 +113,15 @@ function PresetCard(
94113 disabled ?: boolean
95114 }
96115) : JSX . Element {
97- const { preset, temperatureUnit, onClickEdit, onClickDelete, deletionLoading = false , disabled = false , ...attrs } =
98- props
116+ const {
117+ preset,
118+ temperatureUnit,
119+ onClickEdit,
120+ onClickDelete,
121+ deletionLoading = false ,
122+ disabled = false ,
123+ ...attrs
124+ } = props
99125
100126 const heatPoint =
101127 temperatureUnit === 'fahrenheit'
@@ -123,9 +149,7 @@ function PresetCard(
123149 ] . filter ( Boolean ) as Array < { icon : ReactNode ; value : string } >
124150 ) . map ( ( { icon, value } , index ) => (
125151 < div key = { index } className = 'seam-thermostat-climate-preset-chip' >
126- < span className = 'seam-thermostat-climate-preset-chip-icon' >
127- { icon }
128- </ span >
152+ < span className = 'seam-thermostat-climate-preset-chip-icon' > { icon } </ span >
129153 < span className = 'seam-thermostat-climate-preset-chip-value' > { value } </ span >
130154 </ div >
131155 ) )
@@ -150,14 +174,18 @@ function PresetCard(
150174 </ div >
151175
152176 < div className = 'seam-thermostat-climate-presets-card-buttons' >
153- < IconButton disabled = { disabled || deletionLoading || ! preset . can_edit } onClick = { onClickEdit } >
177+ < IconButton
178+ disabled = { disabled || deletionLoading || ! preset . can_edit }
179+ onClick = { onClickEdit }
180+ >
154181 < EditIcon />
155182 </ IconButton >
156183
157- < IconButton disabled = { disabled || ! preset . can_delete } onClick = { onClickDelete } >
158- {
159- deletionLoading ? < Spinner size = 'small' /> : < TrashIcon />
160- }
184+ < IconButton
185+ disabled = { disabled || ! preset . can_delete }
186+ onClick = { onClickDelete }
187+ >
188+ { deletionLoading ? < Spinner size = 'small' /> : < TrashIcon /> }
161189 </ IconButton >
162190 </ div >
163191 </ div >
0 commit comments