@seamapi/react 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,11 +7,13 @@ import { NestedClimateSettingScheduleTable } from '../../../../lib/seam/componen
7
7
  import { useConnectedAccount } from '../../../../lib/seam/connected-accounts/use-connected-account.js';
8
8
  import { useClimateSettingSchedules } from '../../../../lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.js';
9
9
  import { useUpdateFanMode } from '../../../../lib/seam/thermostats/use-update-fan-mode.js';
10
+ import { useUpdateThermostat } from '../../../../lib/seam/thermostats/use-update-thermostat.js';
10
11
  import { ContentHeader } from '../../../../lib/ui/layout/ContentHeader.js';
11
12
  import { DetailRow } from '../../../../lib/ui/layout/DetailRow.js';
12
13
  import { DetailSection } from '../../../../lib/ui/layout/DetailSection.js';
13
14
  import { DetailSectionGroup } from '../../../../lib/ui/layout/DetailSectionGroup.js';
14
15
  import { Snackbar } from '../../../../lib/ui/Snackbar/Snackbar.js';
16
+ import { Switch } from '../../../../lib/ui/Switch/Switch.js';
15
17
  import { ClimateSettingStatus } from '../../../../lib/ui/thermostat/ClimateSettingStatus.js';
16
18
  import { FanModeMenu } from '../../../../lib/ui/thermostat/FanModeMenu.js';
17
19
  import { ThermostatCard } from '../../../../lib/ui/thermostat/ThermostatCard.js';
@@ -21,7 +23,8 @@ export function ThermostatDeviceDetails({ device, onBack, className, errorFilter
21
23
  const { climateSettingSchedules } = useClimateSettingSchedules({
22
24
  device_id: device.device_id,
23
25
  });
24
- const { mutate: updateFanMode, isSuccess, isError } = useUpdateFanMode();
26
+ const { mutate: updateFanMode, isError: isFanModeError, isSuccess: isFanModeSuccess, } = useUpdateFanMode();
27
+ const { mutate: updateThermostat, isSuccess: isThermostatUpdateSuccess, isError: isThermostatUpdateError, } = useUpdateThermostat();
25
28
  if (climateSettingsOpen) {
26
29
  return (_jsx(NestedClimateSettingScheduleTable, { deviceId: device.device_id, errorFilter: errorFilter, warningFilter: warningFilter, disableLockUnlock: disableLockUnlock, disableCreateAccessCode: disableCreateAccessCode, disableEditAccessCode: disableEditAccessCode, disableDeleteAccessCode: disableDeleteAccessCode, disableResourceIds: disableResourceIds, onBack: () => {
27
30
  setClimateSettingsOpen(false);
@@ -42,11 +45,16 @@ export function ThermostatDeviceDetails({ device, onBack, className, errorFilter
42
45
  device_id: device.device_id,
43
46
  fan_mode_setting: fanMode,
44
47
  });
45
- } }) })] }), _jsxs(DetailSection, { label: t.defaultSettings, tooltipContent: t.defaultSettingsTooltip, children: [_jsx(DetailRow, { label: t.defaultClimate, children: device.properties.default_climate_setting != null ? (_jsx(ClimateSettingStatus, { climateSetting: device.properties.default_climate_setting, temperatureUnit: 'fahrenheit' })) : (_jsx("p", { children: t.none })) }), _jsx(DetailRow, { label: t.allowManualOverride, children: _jsx("p", { children: device.properties.current_climate_setting
46
- .manual_override_allowed
47
- ? t.yes
48
- : t.no }) })] }), _jsxs(DetailSection, { label: t.deviceDetails, children: [_jsx(DetailRow, { label: t.manufacturer, children: _jsxs("div", { className: 'seam-detail-row-hstack', children: [device.properties.model.manufacturer_display_name, device.properties.manufacturer === 'ecobee' && _jsx(BeeIcon, {})] }) }), _jsx(DetailRow, { label: t.linkedAccount, sublabel: connectedAccount?.user_identifier?.email ??
49
- device.connected_account_id }), !disableResourceIds && (_jsx(DetailRow, { label: t.deviceId, sublabel: device.device_id }))] })] }) })] }), _jsx(Snackbar, { message: t.fanModeSuccess, variant: 'success', visible: isSuccess, automaticVisibility: true, autoDismiss: true }), _jsx(Snackbar, { message: t.fanModeError, variant: 'error', visible: isError, automaticVisibility: true })] }));
48
+ } }) })] }), _jsxs(DetailSection, { label: t.defaultSettings, tooltipContent: t.defaultSettingsTooltip, children: [_jsx(DetailRow, { label: t.defaultClimate, children: device.properties.default_climate_setting != null ? (_jsx(ClimateSettingStatus, { climateSetting: device.properties.default_climate_setting, temperatureUnit: 'fahrenheit' })) : (_jsx("p", { children: t.none })) }), _jsx(DetailRow, { label: t.allowManualOverride, children: _jsx(Switch, { checked: device.properties.default_climate_setting
49
+ ?.manual_override_allowed ?? true, onChange: (checked) => {
50
+ updateThermostat({
51
+ device_id: device.device_id,
52
+ default_climate_setting: {
53
+ manual_override_allowed: checked,
54
+ },
55
+ });
56
+ } }) })] }), _jsxs(DetailSection, { label: t.deviceDetails, children: [_jsx(DetailRow, { label: t.manufacturer, children: _jsxs("div", { className: 'seam-detail-row-hstack', children: [device.properties.model.manufacturer_display_name, device.properties.manufacturer === 'ecobee' && _jsx(BeeIcon, {})] }) }), _jsx(DetailRow, { label: t.linkedAccount, sublabel: connectedAccount?.user_identifier?.email ??
57
+ device.connected_account_id }), !disableResourceIds && (_jsx(DetailRow, { label: t.deviceId, sublabel: device.device_id }))] })] }) })] }), _jsx(Snackbar, { message: t.manualOverrideSuccess, variant: 'success', visible: isThermostatUpdateSuccess, automaticVisibility: true }), _jsx(Snackbar, { message: t.manualOverrideError, variant: 'error', visible: isThermostatUpdateError, automaticVisibility: true }), _jsx(Snackbar, { message: t.fanModeSuccess, variant: 'success', visible: isFanModeSuccess, automaticVisibility: true, autoDismiss: true }), _jsx(Snackbar, { message: t.fanModeError, variant: 'error', visible: isFanModeError, automaticVisibility: true })] }));
50
58
  }
51
59
  const t = {
52
60
  thermostat: 'Thermostat',
@@ -68,9 +76,9 @@ const t = {
68
76
  linkedAccount: 'Linked account',
69
77
  deviceId: 'Device ID',
70
78
  none: 'None',
71
- yes: 'Yes',
72
- no: 'No',
73
79
  fanModeSuccess: 'Successfully updated fan mode!',
74
80
  fanModeError: 'Error updating fan mode. Please try again.',
81
+ manualOverrideSuccess: 'Successfully updated manual override!',
82
+ manualOverrideError: 'Error updating manual override. Please try again.',
75
83
  };
76
84
  //# sourceMappingURL=ThermostatDeviceDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThermostatDeviceDetails.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThermostatDeviceDetails.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.tsx"],"names":[],"mappings":"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"}
@@ -10,13 +10,13 @@ export function useUpdateThermostat() {
10
10
  return await client.thermostats.update(mutationParams);
11
11
  },
12
12
  onSuccess: (_data, variables) => {
13
- queryClient.setQueryData(['thermostats', 'get', { device_id: variables.device_id }], (thermostat) => {
13
+ queryClient.setQueryData(['devices', 'get', { device_id: variables.device_id }], (thermostat) => {
14
14
  if (thermostat == null) {
15
15
  return;
16
16
  }
17
17
  return getUpdatedThermostat(thermostat, variables);
18
18
  });
19
- queryClient.setQueryData(['thermostats', 'list', { device_id: variables.device_id }], (thermostats) => {
19
+ queryClient.setQueryData(['devices', 'list', { device_id: variables.device_id }], (thermostats) => {
20
20
  if (thermostats == null) {
21
21
  return [];
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-update-thermostat.js","sourceRoot":"","sources":["../../../src/lib/seam/thermostats/use-update-thermostat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,cAAc,GACf,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAMhF,MAAM,UAAU,mBAAmB;IAKjC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,OAAO,WAAW,CAIhB;QACA,UAAU,EAAE,KAAK,EAAE,cAAiD,EAAE,EAAE;YACtE,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,mBAAmB,EAAE,CAAA;YAEpD,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACxD,CAAC;QACD,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC9B,WAAW,CAAC,YAAY,CACtB,CAAC,aAAa,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EAC1D,CAAC,UAAU,EAAE,EAAE;gBACb,IAAI,UAAU,IAAI,IAAI,EAAE;oBACtB,OAAM;iBACP;gBAED,OAAO,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YACpD,CAAC,CACF,CAAA;YAED,WAAW,CAAC,YAAY,CACtB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EAC3D,CAAC,WAAW,EAAsB,EAAE;gBAClC,IAAI,WAAW,IAAI,IAAI,EAAE;oBACvB,OAAO,EAAE,CAAA;iBACV;gBAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBACpC,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE;wBAChD,OAAO,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;qBACnD;oBAED,OAAO,UAAU,CAAA;gBACnB,CAAC,CAAC,CAAA;YACJ,CAAC,CACF,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAA4B,EAC5B,SAA4C;IAE5C,OAAO;QACL,GAAG,UAAU;QAEb,UAAU,EAAE;YACV,GAAG,UAAU,CAAC,UAAU;YAExB,uBAAuB,EAAE;gBACvB,GAAG,UAAU,CAAC,UAAU,CAAC,uBAAuB;gBAChD,uBAAuB,EACrB,UAAU,CAAC,UAAU,EAAE,uBAAuB;oBAC5C,EAAE,uBAAuB,IAAI,IAAI;oBACjC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,uBAAuB;yBAC1C,uBAAuB;oBAC5B,CAAC,CAAC,IAAI;gBAEV,GAAG,SAAS,CAAC,uBAAuB;aACrC;SACF;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"use-update-thermostat.js","sourceRoot":"","sources":["../../../src/lib/seam/thermostats/use-update-thermostat.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,cAAc,GACf,MAAM,uBAAuB,CAAA;AAQ9B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAMhF,MAAM,UAAU,mBAAmB;IAKjC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,OAAO,WAAW,CAIhB;QACA,UAAU,EAAE,KAAK,EAAE,cAAiD,EAAE,EAAE;YACtE,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,mBAAmB,EAAE,CAAA;YAEpD,OAAO,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;QACxD,CAAC;QACD,SAAS,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;YAC9B,WAAW,CAAC,YAAY,CACtB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EACtD,CAAC,UAAU,EAAE,EAAE;gBACb,IAAI,UAAU,IAAI,IAAI,EAAE;oBACtB,OAAM;iBACP;gBAED,OAAO,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;YACpD,CAAC,CACF,CAAA;YAED,WAAW,CAAC,YAAY,CACtB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EACvD,CAAC,WAAW,EAAsB,EAAE;gBAClC,IAAI,WAAW,IAAI,IAAI,EAAE;oBACvB,OAAO,EAAE,CAAA;iBACV;gBAED,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;oBACpC,IAAI,UAAU,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS,EAAE;wBAChD,OAAO,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;qBACnD;oBAED,OAAO,UAAU,CAAA;gBACnB,CAAC,CAAC,CAAA;YACJ,CAAC,CACF,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAA4B,EAC5B,SAA4C;IAE5C,OAAO;QACL,GAAG,UAAU;QAEb,UAAU,EAAE;YACV,GAAG,UAAU,CAAC,UAAU;YAExB,uBAAuB,EAAE;gBACvB,GAAG,UAAU,CAAC,UAAU,CAAC,uBAAuB;gBAChD,uBAAuB,EACrB,UAAU,CAAC,UAAU,EAAE,uBAAuB;oBAC5C,EAAE,uBAAuB,IAAI,IAAI;oBACjC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,uBAAuB;yBAC1C,uBAAuB;oBAC5B,CAAC,CAAC,IAAI;gBAEV,GAAG,SAAS,CAAC,uBAAuB;aACrC;SACF;KACF,CAAA;AACH,CAAC"}
@@ -4,5 +4,4 @@ export interface SwitchProps {
4
4
  onChange: (checked: boolean) => void;
5
5
  enableLabel?: boolean;
6
6
  }
7
- declare function Switch({ checked, onChange, enableLabel, }: SwitchProps): JSX.Element;
8
- export default Switch;
7
+ export declare function Switch({ checked, onChange, enableLabel, }: SwitchProps): JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import classNames from 'classnames';
3
- function Switch({ checked, onChange, enableLabel = false, }) {
3
+ export function Switch({ checked, onChange, enableLabel = false, }) {
4
4
  return (_jsxs("div", { className: 'seam-switch-container', children: [enableLabel && (_jsx("label", { className: 'seam-switch-label', children: checked ? t.on : t.off })), _jsx("div", { className: classNames('seam-switch', {
5
5
  'seam-switch-checked': checked,
6
6
  }), onClick: () => {
@@ -11,5 +11,4 @@ const t = {
11
11
  on: 'On',
12
12
  off: 'Off',
13
13
  };
14
- export default Switch;
15
14
  //# sourceMappingURL=Switch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/lib/ui/Switch/Switch.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AAQnC,SAAS,MAAM,CAAC,EACd,OAAO,EACP,QAAQ,EACR,WAAW,GAAG,KAAK,GACP;IACZ,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,aACnC,WAAW,IAAI,CACd,gBAAO,SAAS,EAAC,mBAAmB,YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAS,CACtE,EACD,cACE,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE;oBACnC,qBAAqB,EAAE,OAAO;iBAC/B,CAAC,EACF,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;gBACpB,CAAC,YAED,cAAK,SAAS,EAAC,oBAAoB,GAAG,GAClC,IACF,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;CACX,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"Switch.js","sourceRoot":"","sources":["../../../src/lib/ui/Switch/Switch.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AAQnC,MAAM,UAAU,MAAM,CAAC,EACrB,OAAO,EACP,QAAQ,EACR,WAAW,GAAG,KAAK,GACP;IACZ,OAAO,CACL,eAAK,SAAS,EAAC,uBAAuB,aACnC,WAAW,IAAI,CACd,gBAAO,SAAS,EAAC,mBAAmB,YAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAS,CACtE,EACD,cACE,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE;oBACnC,qBAAqB,EAAE,OAAO;iBAC/B,CAAC,EACF,OAAO,EAAE,GAAG,EAAE;oBACZ,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;gBACpB,CAAC,YAED,cAAK,SAAS,EAAC,oBAAoB,GAAG,GAClC,IACF,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,EAAE,EAAE,IAAI;IACR,GAAG,EAAE,KAAK;CACX,CAAA"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const seamapiReactVersion = "2.3.0";
1
+ declare const seamapiReactVersion = "2.4.0";
2
2
  export default seamapiReactVersion;
package/lib/version.js CHANGED
@@ -1,3 +1,3 @@
1
- const seamapiReactVersion = '2.3.0';
1
+ const seamapiReactVersion = '2.4.0';
2
2
  export default seamapiReactVersion;
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamapi/react",
3
- "version": "2.3.0",
3
+ "version": "2.4.0",
4
4
  "description": "Seam Components.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -141,7 +141,7 @@
141
141
  "@mui/material": "^5.12.2",
142
142
  "@rxfork/r2wc-react-to-web-component": "^2.4.0",
143
143
  "@seamapi/fake-devicedb": "^1.2.0",
144
- "@seamapi/fake-seam-connect": "^1.41.0",
144
+ "@seamapi/fake-seam-connect": "^1.42.0",
145
145
  "@seamapi/http": "^0.2.1",
146
146
  "@seamapi/types": "^1.32.0",
147
147
  "@storybook/addon-designs": "^7.0.1",
@@ -9,11 +9,13 @@ import type { CommonProps } from 'lib/seam/components/common-props.js'
9
9
  import { useConnectedAccount } from 'lib/seam/connected-accounts/use-connected-account.js'
10
10
  import { useClimateSettingSchedules } from 'lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.js'
11
11
  import { useUpdateFanMode } from 'lib/seam/thermostats/use-update-fan-mode.js'
12
+ import { useUpdateThermostat } from 'lib/seam/thermostats/use-update-thermostat.js'
12
13
  import { ContentHeader } from 'lib/ui/layout/ContentHeader.js'
13
14
  import { DetailRow } from 'lib/ui/layout/DetailRow.js'
14
15
  import { DetailSection } from 'lib/ui/layout/DetailSection.js'
15
16
  import { DetailSectionGroup } from 'lib/ui/layout/DetailSectionGroup.js'
16
17
  import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js'
18
+ import { Switch } from 'lib/ui/Switch/Switch.js'
17
19
  import { ClimateSettingStatus } from 'lib/ui/thermostat/ClimateSettingStatus.js'
18
20
  import { FanModeMenu } from 'lib/ui/thermostat/FanModeMenu.js'
19
21
  import { ThermostatCard } from 'lib/ui/thermostat/ThermostatCard.js'
@@ -42,7 +44,17 @@ export function ThermostatDeviceDetails({
42
44
  device_id: device.device_id,
43
45
  })
44
46
 
45
- const { mutate: updateFanMode, isSuccess, isError } = useUpdateFanMode()
47
+ const {
48
+ mutate: updateFanMode,
49
+ isError: isFanModeError,
50
+ isSuccess: isFanModeSuccess,
51
+ } = useUpdateFanMode()
52
+
53
+ const {
54
+ mutate: updateThermostat,
55
+ isSuccess: isThermostatUpdateSuccess,
56
+ isError: isThermostatUpdateError,
57
+ } = useUpdateThermostat()
46
58
 
47
59
  if (climateSettingsOpen) {
48
60
  return (
@@ -139,12 +151,20 @@ export function ThermostatDeviceDetails({
139
151
  )}
140
152
  </DetailRow>
141
153
  <DetailRow label={t.allowManualOverride}>
142
- <p>
143
- {device.properties.current_climate_setting
144
- .manual_override_allowed
145
- ? t.yes
146
- : t.no}
147
- </p>
154
+ <Switch
155
+ checked={
156
+ device.properties.default_climate_setting
157
+ ?.manual_override_allowed ?? true
158
+ }
159
+ onChange={(checked) => {
160
+ updateThermostat({
161
+ device_id: device.device_id,
162
+ default_climate_setting: {
163
+ manual_override_allowed: checked,
164
+ },
165
+ })
166
+ }}
167
+ />
148
168
  </DetailRow>
149
169
  </DetailSection>
150
170
 
@@ -170,10 +190,24 @@ export function ThermostatDeviceDetails({
170
190
  </div>
171
191
  </div>
172
192
 
193
+ <Snackbar
194
+ message={t.manualOverrideSuccess}
195
+ variant='success'
196
+ visible={isThermostatUpdateSuccess}
197
+ automaticVisibility
198
+ />
199
+
200
+ <Snackbar
201
+ message={t.manualOverrideError}
202
+ variant='error'
203
+ visible={isThermostatUpdateError}
204
+ automaticVisibility
205
+ />
206
+
173
207
  <Snackbar
174
208
  message={t.fanModeSuccess}
175
209
  variant='success'
176
- visible={isSuccess}
210
+ visible={isFanModeSuccess}
177
211
  automaticVisibility
178
212
  autoDismiss
179
213
  />
@@ -181,7 +215,7 @@ export function ThermostatDeviceDetails({
181
215
  <Snackbar
182
216
  message={t.fanModeError}
183
217
  variant='error'
184
- visible={isError}
218
+ visible={isFanModeError}
185
219
  automaticVisibility
186
220
  />
187
221
  </div>
@@ -211,8 +245,8 @@ const t = {
211
245
  linkedAccount: 'Linked account',
212
246
  deviceId: 'Device ID',
213
247
  none: 'None',
214
- yes: 'Yes',
215
- no: 'No',
216
248
  fanModeSuccess: 'Successfully updated fan mode!',
217
249
  fanModeError: 'Error updating fan mode. Please try again.',
250
+ manualOverrideSuccess: 'Successfully updated manual override!',
251
+ manualOverrideError: 'Error updating manual override. Please try again.',
218
252
  }
@@ -36,7 +36,7 @@ export function useUpdateThermostat(): UseMutationResult<
36
36
  },
37
37
  onSuccess: (_data, variables) => {
38
38
  queryClient.setQueryData<ThermostatDevice | null>(
39
- ['thermostats', 'get', { device_id: variables.device_id }],
39
+ ['devices', 'get', { device_id: variables.device_id }],
40
40
  (thermostat) => {
41
41
  if (thermostat == null) {
42
42
  return
@@ -47,7 +47,7 @@ export function useUpdateThermostat(): UseMutationResult<
47
47
  )
48
48
 
49
49
  queryClient.setQueryData<ThermostatsListResponse['thermostats']>(
50
- ['thermostats', 'list', { device_id: variables.device_id }],
50
+ ['devices', 'list', { device_id: variables.device_id }],
51
51
  (thermostats): ThermostatDevice[] => {
52
52
  if (thermostats == null) {
53
53
  return []
@@ -6,7 +6,7 @@ export interface SwitchProps {
6
6
  enableLabel?: boolean
7
7
  }
8
8
 
9
- function Switch({
9
+ export function Switch({
10
10
  checked,
11
11
  onChange,
12
12
  enableLabel = false,
@@ -34,5 +34,3 @@ const t = {
34
34
  on: 'On',
35
35
  off: 'Off',
36
36
  }
37
-
38
- export default Switch
@@ -1,3 +1,3 @@
1
- const seamapiReactVersion = '2.3.0'
1
+ const seamapiReactVersion = '2.4.0'
2
2
 
3
3
  export default seamapiReactVersion