@seamapi/react 4.4.0 → 4.6.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.
@@ -9,6 +9,7 @@ import { AccessCodeDevice } from '../../../../lib/seam/components/AccessCodeDeta
9
9
  import { withRequiredCommonProps, } from '../../../../lib/seam/components/common-props.js';
10
10
  import { NestedDeviceDetails } from '../../../../lib/seam/components/DeviceDetails/DeviceDetails.js';
11
11
  import { NestedEditAccessCodeForm } from '../../../../lib/seam/components/EditAccessCodeForm/EditAccessCodeForm.js';
12
+ import { useDevice } from '../../../../lib/seam/devices/use-device.js';
12
13
  import { accessCodeErrorFilter, accessCodeWarningFilter, } from '../../../../lib/seam/filters.js';
13
14
  import { useComponentTelemetry } from '../../../../lib/telemetry/index.js';
14
15
  import { Alerts } from '../../../../lib/ui/Alert/Alerts.js';
@@ -52,6 +53,8 @@ export function AccessCodeDetails({ accessCodeId, onEdit, preventDefaultOnEdit =
52
53
  },
53
54
  });
54
55
  }, [accessCode, deleteCode, onDelete, preventDefaultOnDelete]);
56
+ const { device } = useDevice({ device_id: accessCode?.device_id });
57
+ const canSpecifyPinCode = device?.properties.code_constraints?.every(({ constraint_type: type }) => type !== 'cannot_specify_pin_code') ?? true;
55
58
  if (accessCode == null) {
56
59
  return null;
57
60
  }
@@ -96,9 +99,11 @@ export function AccessCodeDetails({ accessCodeId, onEdit, preventDefaultOnEdit =
96
99
  ];
97
100
  return (_jsxs(_Fragment, { children: [_jsx(Snackbar, { variant: 'success', message: snackbarMessage, visible: accessCodeResult != null, autoDismiss: true, onClose: () => {
98
101
  setAccessCodeResult(null);
99
- } }), _jsxs("div", { className: classNames('seam-access-code-details', className), children: [_jsx(ContentHeader, { title: 'Access code', onBack: onBack }), _jsxs("div", { className: 'seam-summary', children: [_jsxs("div", { className: classNames('seam-top', alerts.length > 0 && 'seam-top-has-alerts'), children: [_jsx("span", { className: 'seam-label', children: t.accessCode }), _jsx("h5", { className: 'seam-access-code-name', children: name }), _jsxs("div", { className: 'seam-code', children: [_jsx("span", { children: accessCode.code }), _jsx(IconButton, { onClick: () => {
100
- void copyToClipboard(accessCode.code ?? '');
101
- }, children: _jsx(CopyIcon, {}) })] }), _jsx("div", { className: 'seam-duration', children: _jsx(Duration, { accessCode: accessCode }) })] }), _jsx(Alerts, { alerts: alerts, className: 'seam-alerts-padded' }), _jsx(AccessCodeDevice, { deviceId: accessCode.device_id, disableLockUnlock: disableLockUnlock, onSelectDevice: selectDevice })] }), (!disableEditAccessCode || !disableDeleteAccessCode) && (_jsxs("div", { className: 'seam-actions', children: [!disableEditAccessCode && !accessCode.is_offline_access_code && (_jsx(Button, { size: 'small', onClick: handleEdit, disabled: isAccessCodeBeingRemoved || isDeleting, children: t.editCode })), !disableDeleteAccessCode && !accessCode.is_offline_access_code && (_jsx(Button, { size: 'small', onClick: handleDelete, disabled: isAccessCodeBeingRemoved || isDeleting, children: t.deleteCode }))] })), _jsxs("div", { className: 'seam-details', children: [!disableResourceIds && (_jsxs("div", { className: 'seam-row', children: [_jsxs("div", { className: 'seam-heading', children: [t.id, ":"] }), _jsxs("div", { className: 'seam-content seam-code-id', children: [_jsx("span", { children: accessCode.access_code_id }), _jsx(IconButton, { onClick: () => {
102
+ } }), _jsxs("div", { className: classNames('seam-access-code-details', className), children: [_jsx(ContentHeader, { title: 'Access code', onBack: onBack }), _jsxs("div", { className: 'seam-summary', children: [_jsxs("div", { className: classNames('seam-top', alerts.length > 0 && 'seam-top-has-alerts'), children: [canSpecifyPinCode && (_jsxs(_Fragment, { children: [_jsx("span", { className: 'seam-label', children: t.accessCode }), _jsx("h5", { className: 'seam-access-code-name', children: name }), _jsxs("div", { className: 'seam-code', children: [_jsx("span", { children: accessCode.code }), _jsx(IconButton, { onClick: () => {
103
+ void copyToClipboard(accessCode.code ?? '');
104
+ }, children: _jsx(CopyIcon, {}) })] })] })), _jsx("div", { className: 'seam-duration', children: _jsx(Duration, { accessCode: accessCode }) })] }), _jsx(Alerts, { alerts: alerts, className: 'seam-alerts-padded' }), _jsx(AccessCodeDevice, { deviceId: accessCode.device_id, disableLockUnlock: disableLockUnlock, onSelectDevice: selectDevice })] }), canSpecifyPinCode &&
105
+ (!disableEditAccessCode || !disableDeleteAccessCode) && (_jsxs("div", { className: 'seam-actions', children: [!disableEditAccessCode && !accessCode.is_offline_access_code && (_jsx(Button, { size: 'small', onClick: handleEdit, disabled: isAccessCodeBeingRemoved || isDeleting, children: t.editCode })), !disableDeleteAccessCode &&
106
+ !accessCode.is_offline_access_code && (_jsx(Button, { size: 'small', onClick: handleDelete, disabled: isAccessCodeBeingRemoved || isDeleting, children: t.deleteCode }))] })), _jsxs("div", { className: 'seam-details', children: [!disableResourceIds && (_jsxs("div", { className: 'seam-row', children: [_jsxs("div", { className: 'seam-heading', children: [t.id, ":"] }), _jsxs("div", { className: 'seam-content seam-code-id', children: [_jsx("span", { children: accessCode.access_code_id }), _jsx(IconButton, { onClick: () => {
102
107
  void copyToClipboard(accessCode.access_code_id);
103
108
  }, children: _jsx(CopyIcon, {}) })] })] })), _jsxs("div", { className: 'seam-row', children: [_jsxs("div", { className: 'seam-heading', children: [t.created, ":"] }), _jsx("div", { className: 'seam-content', children: formatDate(accessCode.created_at) })] }), _jsxs("div", { className: 'seam-row seam-schedule', children: [_jsxs("div", { className: 'seam-heading', children: [t.timing, ":"] }), _jsx("div", { className: 'seam-content', children: _jsx(ScheduleInfo, { accessCode: accessCode }) })] })] })] })] }));
104
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AccessCodeDetails.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AccessCodeDetails.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
2
3
  import { useDevice } from '../../../../lib/seam/devices/use-device.js';
3
4
  import { isLockDevice } from '../../../../lib/seam/locks/lock-device.js';
4
5
  import { useToggleLock } from '../../../../lib/seam/locks/use-toggle-lock.js';
5
6
  import { Button } from '../../../../lib/ui/Button.js';
6
7
  import { DeviceImage } from '../../../../lib/ui/device/DeviceImage.js';
8
+ import { Snackbar } from '../../../../lib/ui/Snackbar/Snackbar.js';
7
9
  import { TextButton } from '../../../../lib/ui/TextButton.js';
8
10
  export function AccessCodeDevice({ deviceId, disableLockUnlock, onSelectDevice, }) {
9
11
  const { isPending, device } = useDevice({
@@ -25,17 +27,34 @@ export function AccessCodeDevice({ deviceId, disableLockUnlock, onSelectDevice,
25
27
  }
26
28
  function Content(props) {
27
29
  const { device, disableLockUnlock, onSelectDevice } = props;
28
- const toggleLock = useToggleLock();
30
+ const [snackbarVisible, setSnackbarVisible] = useState(false);
31
+ const [snackbarVariant, setSnackbarVariant] = useState('success');
32
+ const toggleLock = useToggleLock({
33
+ onSuccess: () => {
34
+ setSnackbarVisible(true);
35
+ setSnackbarVariant('success');
36
+ },
37
+ onError: () => {
38
+ setSnackbarVisible(true);
39
+ setSnackbarVariant('error');
40
+ },
41
+ });
29
42
  const toggleLockLabel = device.properties.locked ? t.unlock : t.lock;
30
- return (_jsxs("div", { className: 'seam-access-code-device', children: [_jsx("div", { className: 'seam-device-image', children: _jsx(DeviceImage, { device: device }) }), _jsxs("div", { className: 'seam-body', children: [_jsx("div", { children: device.properties.name }), _jsx(TextButton, { onClick: () => {
31
- onSelectDevice(device.device_id);
32
- }, children: t.deviceDetails })] }), !disableLockUnlock && device.properties.online && (_jsx(Button, { onClick: () => {
33
- toggleLock.mutate(device);
34
- }, children: toggleLockLabel }))] }));
43
+ return (_jsxs(_Fragment, { children: [_jsx(Snackbar, { variant: snackbarVariant, visible: snackbarVisible, onClose: () => {
44
+ setSnackbarVisible(false);
45
+ }, message: snackbarVariant === 'success'
46
+ ? t.successfullyUpdated
47
+ : t.failedToUpdate, autoDismiss: true }), _jsxs("div", { className: 'seam-access-code-device', children: [_jsx("div", { className: 'seam-device-image', children: _jsx(DeviceImage, { device: device }) }), _jsxs("div", { className: 'seam-body', children: [_jsx("div", { children: device.properties.name }), _jsx(TextButton, { onClick: () => {
48
+ onSelectDevice(device.device_id);
49
+ }, children: t.deviceDetails })] }), !disableLockUnlock && device.properties.online && (_jsx(Button, { onClick: () => {
50
+ toggleLock.mutate(device);
51
+ }, children: toggleLockLabel }))] })] }));
35
52
  }
36
53
  const t = {
37
54
  deviceDetails: 'Device details',
38
55
  unlock: 'Unlock',
39
56
  lock: 'Lock',
57
+ successfullyUpdated: 'Lock status has been successfully updated',
58
+ failedToUpdate: 'Failed to update lock status',
40
59
  };
41
60
  //# sourceMappingURL=AccessCodeDevice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccessCodeDevice.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/AccessCodeDetails/AccessCodeDevice.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAmB,MAAM,+BAA+B,CAAA;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,iBAAiB,EACjB,cAAc,GAKf;IACC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QACtC,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAA;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,MAAM,CAAC,+BAA+B,IAAI,IAAI,EAAE,CAAC;QACnD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,CACL,KAAC,OAAO,IACN,MAAM,EAAE,MAAM,EACd,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,GAC9B,CACH,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,KAIhB;IACC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAA;IAC3D,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAElC,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEpE,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,mBAAmB,YAChC,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,GAC3B,EACN,eAAK,SAAS,EAAC,WAAW,aACxB,wBAAM,MAAM,CAAC,UAAU,CAAC,IAAI,GAAO,EACnC,KAAC,UAAU,IACT,OAAO,EAAE,GAAG,EAAE;4BACZ,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;wBAClC,CAAC,YAEA,CAAC,CAAC,aAAa,GACL,IACT,EACL,CAAC,iBAAiB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CACjD,KAAC,MAAM,IACL,OAAO,EAAE,GAAG,EAAE;oBACZ,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBAC3B,CAAC,YAEA,eAAe,GACT,CACV,IACG,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,aAAa,EAAE,gBAAgB;IAC/B,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;CACb,CAAA"}
1
+ {"version":3,"file":"AccessCodeDevice.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/AccessCodeDetails/AccessCodeDevice.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import classNames from 'classnames';
3
+ import { useState } from 'react';
3
4
  import { ChevronRightIcon } from '../../../../lib/icons/ChevronRight.js';
4
5
  import { useAccessCodes } from '../../../../lib/seam/access-codes/use-access-codes.js';
5
6
  import { NestedAccessCodeTable } from '../../../../lib/seam/components/AccessCodeTable/AccessCodeTable.js';
@@ -14,13 +15,25 @@ import { DeviceImage } from '../../../../lib/ui/device/DeviceImage.js';
14
15
  import { EditableDeviceName } from '../../../../lib/ui/device/EditableDeviceName.js';
15
16
  import { OnlineStatus } from '../../../../lib/ui/device/OnlineStatus.js';
16
17
  import { ContentHeader } from '../../../../lib/ui/layout/ContentHeader.js';
18
+ import { Snackbar } from '../../../../lib/ui/Snackbar/Snackbar.js';
17
19
  import { useToggle } from '../../../../lib/ui/use-toggle.js';
18
20
  export function LockDeviceDetails({ device, errorFilter, warningFilter, disableLockUnlock, disableCreateAccessCode, disableEditAccessCode, disableDeleteAccessCode, disableResourceIds, disableConnectedAccountInformation, onBack, className, onEditName, }) {
19
21
  const [accessCodesOpen, toggleAccessCodesOpen] = useToggle();
20
- const toggleLock = useToggleLock();
21
22
  const { accessCodes } = useAccessCodes({
22
23
  device_id: device.device_id,
23
24
  });
25
+ const [snackbarVisible, setSnackbarVisible] = useState(false);
26
+ const [snackbarVariant, setSnackbarVariant] = useState('success');
27
+ const toggleLock = useToggleLock({
28
+ onSuccess: () => {
29
+ setSnackbarVisible(true);
30
+ setSnackbarVariant('success');
31
+ },
32
+ onError: () => {
33
+ setSnackbarVisible(true);
34
+ setSnackbarVariant('error');
35
+ },
36
+ });
24
37
  const lockStatus = device.properties.locked ? t.locked : t.unlocked;
25
38
  const toggleLockLabel = device.properties.locked ? t.unlock : t.lock;
26
39
  const accessCodeCount = accessCodes?.length;
@@ -46,10 +59,14 @@ export function LockDeviceDetails({ device, errorFilter, warningFilter, disableL
46
59
  message: warning.message,
47
60
  })),
48
61
  ];
49
- return (_jsxs("div", { className: classNames('seam-device-details', className), children: [_jsx(ContentHeader, { title: 'Device', onBack: onBack }), _jsxs("div", { className: 'seam-body', children: [_jsxs("div", { className: 'seam-summary', children: [_jsxs("div", { className: 'seam-content', children: [_jsx("div", { className: 'seam-image', children: _jsx(DeviceImage, { device: device }) }), _jsxs("div", { className: 'seam-info', children: [_jsx("span", { className: 'seam-label', children: t.device }), _jsx(EditableDeviceName, { tagName: 'h4', value: device.properties.name, className: 'seam-device-name', onEdit: onEditName }), _jsxs("div", { className: 'seam-properties', children: [_jsxs("span", { className: 'seam-label', children: [t.status, ":"] }), ' ', _jsx(OnlineStatus, { device: device }), device.properties.online && (_jsxs(_Fragment, { children: [_jsxs("span", { className: 'seam-label', children: [t.power, ":"] }), ' ', _jsx(BatteryStatusIndicator, { device: device })] })), _jsx(DeviceModel, { device: device })] })] })] }), _jsx(Alerts, { alerts: alerts, className: 'seam-alerts-space-top' })] }), _jsx("div", { className: 'seam-box', children: _jsxs("div", { className: 'seam-content seam-access-codes', onClick: toggleAccessCodesOpen, children: [_jsxs("span", { className: 'seam-value', children: [accessCodeCount, " ", t.accessCodes] }), _jsx(ChevronRightIcon, {})] }) }), _jsxs("div", { className: 'seam-box', children: [device.properties.locked && device.properties.online && (_jsxs("div", { className: 'seam-content seam-lock-status', children: [_jsxs("div", { children: [_jsx("span", { className: 'seam-label', children: t.lockStatus }), _jsx("span", { className: 'seam-value', children: lockStatus })] }), _jsx("div", { className: 'seam-right', children: !disableLockUnlock &&
50
- device.capabilities_supported.includes('lock') && (_jsx(Button, { size: 'small', onClick: () => {
51
- toggleLock.mutate(device);
52
- }, children: toggleLockLabel })) })] })), _jsx(AccessCodeLength, { supportedCodeLengths: device.properties?.supported_code_lengths ?? [] })] }), _jsx(DeviceInfo, { device: device, disableConnectedAccountInformation: disableConnectedAccountInformation, disableResourceIds: disableResourceIds })] })] }));
62
+ return (_jsxs(_Fragment, { children: [_jsx(Snackbar, { variant: snackbarVariant, visible: snackbarVisible, onClose: () => {
63
+ setSnackbarVisible(false);
64
+ }, message: snackbarVariant === 'success'
65
+ ? t.successfullyUpdated
66
+ : t.failedToUpdate, autoDismiss: true }), _jsxs("div", { className: classNames('seam-device-details', className), children: [_jsx(ContentHeader, { title: 'Device', onBack: onBack }), _jsxs("div", { className: 'seam-body', children: [_jsxs("div", { className: 'seam-summary', children: [_jsxs("div", { className: 'seam-content', children: [_jsx("div", { className: 'seam-image', children: _jsx(DeviceImage, { device: device }) }), _jsxs("div", { className: 'seam-info', children: [_jsx("span", { className: 'seam-label', children: t.device }), _jsx(EditableDeviceName, { tagName: 'h4', value: device.properties.name, className: 'seam-device-name', onEdit: onEditName }), _jsxs("div", { className: 'seam-properties', children: [_jsxs("span", { className: 'seam-label', children: [t.status, ":"] }), ' ', _jsx(OnlineStatus, { device: device }), device.properties.online && (_jsxs(_Fragment, { children: [_jsxs("span", { className: 'seam-label', children: [t.power, ":"] }), ' ', _jsx(BatteryStatusIndicator, { device: device })] })), _jsx(DeviceModel, { device: device })] })] })] }), _jsx(Alerts, { alerts: alerts, className: 'seam-alerts-space-top' })] }), _jsx("div", { className: 'seam-box', children: _jsxs("div", { className: 'seam-content seam-access-codes', onClick: toggleAccessCodesOpen, children: [_jsxs("span", { className: 'seam-value', children: [accessCodeCount, " ", t.accessCodes] }), _jsx(ChevronRightIcon, {})] }) }), _jsxs("div", { className: 'seam-box', children: [device.properties.locked && device.properties.online && (_jsxs("div", { className: 'seam-content seam-lock-status', children: [_jsxs("div", { children: [_jsx("span", { className: 'seam-label', children: t.lockStatus }), _jsx("span", { className: 'seam-value', children: lockStatus })] }), _jsx("div", { className: 'seam-right', children: !disableLockUnlock &&
67
+ device.capabilities_supported.includes('lock') && (_jsx(Button, { size: 'small', onClick: () => {
68
+ toggleLock.mutate(device);
69
+ }, children: toggleLockLabel })) })] })), _jsx(AccessCodeLength, { supportedCodeLengths: device.properties?.supported_code_lengths ?? [] })] }), _jsx(DeviceInfo, { device: device, disableConnectedAccountInformation: disableConnectedAccountInformation, disableResourceIds: disableResourceIds })] })] })] }));
53
70
  }
54
71
  function AccessCodeLength(props) {
55
72
  const { supportedCodeLengths } = props;
@@ -73,5 +90,7 @@ const t = {
73
90
  lockStatus: 'Lock status',
74
91
  status: 'Status',
75
92
  power: 'Power',
93
+ successfullyUpdated: 'Lock status has been successfully updated',
94
+ failedToUpdate: 'Failed to update lock status',
76
95
  };
77
96
  //# sourceMappingURL=LockDeviceDetails.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LockDeviceDetails.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/DeviceDetails/LockDeviceDetails.tsx"],"names":[],"mappings":";AAAA,OAAO,UAAU,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAA;AAE9F,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAA;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAA;AAC9E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAOhD,MAAM,UAAU,iBAAiB,CAAC,EAChC,MAAM,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,kCAAkC,EAClC,MAAM,EACN,SAAS,EACT,UAAU,GACa;IACvB,MAAM,CAAC,eAAe,EAAE,qBAAqB,CAAC,GAAG,SAAS,EAAE,CAAA;IAC5D,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC;QACrC,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IACnE,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAEpE,MAAM,eAAe,GAAG,WAAW,EAAE,MAAM,CAAA;IAE3C,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,CACL,KAAC,qBAAqB,IACpB,QAAQ,EAAE,MAAM,CAAC,SAAS,EAC1B,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,iBAAiB,EACpC,uBAAuB,EAAE,uBAAuB,EAChD,qBAAqB,EAAE,qBAAqB,EAC5C,uBAAuB,EAAE,uBAAuB,EAChD,kBAAkB,EAAE,kBAAkB,EACtC,kCAAkC,EAAE,kCAAkC,EACtE,MAAM,EAAE,qBAAqB,EAC7B,SAAS,EAAE,SAAS,GACpB,CACH,CAAA;IACH,CAAC;IAED,MAAM,MAAM,GAAG;QACb,GAAG,MAAM,CAAC,MAAM;aACb,MAAM,CAAC,iBAAiB,CAAC;aACzB,MAAM,CAAC,WAAW,CAAC;aACnB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,OAAO,EAAE,OAAgB;YACzB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACL,GAAG,MAAM,CAAC,QAAQ;aACf,MAAM,CAAC,mBAAmB,CAAC;aAC3B,MAAM,CAAC,aAAa,CAAC;aACrB,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACjB,OAAO,EAAE,SAAkB;YAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC,CAAC;KACN,CAAA;IAED,OAAO,CACL,eAAK,SAAS,EAAE,UAAU,CAAC,qBAAqB,EAAE,SAAS,CAAC,aAC1D,KAAC,aAAa,IAAC,KAAK,EAAC,QAAQ,EAAC,MAAM,EAAE,MAAM,GAAI,EAChD,eAAK,SAAS,EAAC,WAAW,aACxB,eAAK,SAAS,EAAC,cAAc,aAC3B,eAAK,SAAS,EAAC,cAAc,aAC3B,cAAK,SAAS,EAAC,YAAY,YACzB,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,GAC3B,EACN,eAAK,SAAS,EAAC,WAAW,aACxB,eAAM,SAAS,EAAC,YAAY,YAAE,CAAC,CAAC,MAAM,GAAQ,EAC9C,KAAC,kBAAkB,IACjB,OAAO,EAAC,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAC7B,SAAS,EAAC,kBAAkB,EAC5B,MAAM,EAAE,UAAU,GAClB,EACF,eAAK,SAAS,EAAC,iBAAiB,aAC9B,gBAAM,SAAS,EAAC,YAAY,aAAE,CAAC,CAAC,MAAM,SAAS,EAAC,GAAG,EACnD,KAAC,YAAY,IAAC,MAAM,EAAE,MAAM,GAAI,EAC/B,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CAC3B,8BACE,gBAAM,SAAS,EAAC,YAAY,aAAE,CAAC,CAAC,KAAK,SAAS,EAAC,GAAG,EAClD,KAAC,sBAAsB,IAAC,MAAM,EAAE,MAAM,GAAI,IACzC,CACJ,EACD,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,GAAI,IAC3B,IACF,IACF,EACN,KAAC,MAAM,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,uBAAuB,GAAG,IACxD,EACN,cAAK,SAAS,EAAC,UAAU,YACvB,eACE,SAAS,EAAC,gCAAgC,EAC1C,OAAO,EAAE,qBAAqB,aAE9B,gBAAM,SAAS,EAAC,YAAY,aACzB,eAAe,OAAG,CAAC,CAAC,WAAW,IAC3B,EACP,KAAC,gBAAgB,KAAG,IAChB,GACF,EAEN,eAAK,SAAS,EAAC,UAAU,aACtB,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,CACvD,eAAK,SAAS,EAAC,+BAA+B,aAC5C,0BACE,eAAM,SAAS,EAAC,YAAY,YAAE,CAAC,CAAC,UAAU,GAAQ,EAClD,eAAM,SAAS,EAAC,YAAY,YAAE,UAAU,GAAQ,IAC5C,EACN,cAAK,SAAS,EAAC,YAAY,YACxB,CAAC,iBAAiB;4CACjB,MAAM,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAChD,KAAC,MAAM,IACL,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE;gDACZ,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;4CAC3B,CAAC,YAEA,eAAe,GACT,CACV,GACC,IACF,CACP,EAED,KAAC,gBAAgB,IACf,oBAAoB,EAClB,MAAM,CAAC,UAAU,EAAE,sBAAsB,IAAI,EAAE,GAEjD,IACE,EACN,KAAC,UAAU,IACT,MAAM,EAAE,MAAM,EACd,kCAAkC,EAChC,kCAAkC,EAEpC,kBAAkB,EAAE,kBAAkB,GACtC,IACE,IACF,CACP,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAEzB;IACC,MAAM,EAAE,oBAAoB,EAAE,GAAG,KAAK,CAAA;IAEtC,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAA;IAE7C,MAAM,KAAK,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;IAEjD,OAAO,CACL,eAAK,SAAS,EAAC,sCAAsC,aACnD,eAAM,SAAS,EAAC,YAAY,YAAE,CAAC,CAAC,UAAU,GAAQ,EAClD,gBAAM,SAAS,EAAC,YAAY,aACzB,KAAK,OAAG,CAAC,CAAC,MAAM,IACZ,IACH,CACP,CAAA;AACH,CAAC;AAED,MAAM,CAAC,GAAG;IACR,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,cAAc;IAC3B,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,aAAa;IACzB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;CACf,CAAA"}
1
+ {"version":3,"file":"LockDeviceDetails.js","sourceRoot":"","sources":["../../../../src/lib/seam/components/DeviceDetails/LockDeviceDetails.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  import type { SeamActionAttemptFailedError, SeamActionAttemptTimeoutError, SeamHttpApiError } from '@seamapi/http/connect';
2
2
  import type { ActionAttempt, Device } from '@seamapi/types/connect';
3
3
  import { type UseMutationResult } from '@tanstack/react-query';
4
- export type UseToggleLockParams = never;
5
4
  export type UseToggleLockData = undefined;
6
5
  export type UseToggleLockMutationVariables = Pick<Device, 'device_id'> & {
7
6
  properties: Required<Pick<Device['properties'], 'locked'>>;
@@ -12,5 +11,9 @@ type ToggleLockActionAttempt = Extract<ActionAttempt, {
12
11
  action_type: 'UNLOCK_DOOR';
13
12
  }>;
14
13
  type MutationError = SeamHttpApiError | SeamActionAttemptFailedError<ToggleLockActionAttempt> | SeamActionAttemptTimeoutError<ToggleLockActionAttempt>;
15
- export declare function useToggleLock(): UseMutationResult<UseToggleLockData, MutationError, UseToggleLockMutationVariables>;
14
+ interface UseToggleLockParams {
15
+ onError?: () => void;
16
+ onSuccess?: () => void;
17
+ }
18
+ export declare function useToggleLock(params?: UseToggleLockParams): UseMutationResult<UseToggleLockData, MutationError, UseToggleLockMutationVariables>;
16
19
  export {};
@@ -1,6 +1,6 @@
1
1
  import { useMutation, useQueryClient, } from '@tanstack/react-query';
2
2
  import { NullSeamClientError, useSeamClient } from '../../../lib/seam/use-seam-client.js';
3
- export function useToggleLock() {
3
+ export function useToggleLock(params = {}) {
4
4
  const { client } = useSeamClient();
5
5
  const queryClient = useQueryClient();
6
6
  return useMutation({
@@ -47,6 +47,7 @@ export function useToggleLock() {
47
47
  });
48
48
  },
49
49
  onError: async (_error, variables) => {
50
+ params.onError?.();
50
51
  await queryClient.invalidateQueries({
51
52
  queryKey: ['devices', 'list'],
52
53
  });
@@ -54,6 +55,9 @@ export function useToggleLock() {
54
55
  queryKey: ['devices', 'get', { device_id: variables.device_id }],
55
56
  });
56
57
  },
58
+ onSuccess() {
59
+ params.onSuccess?.();
60
+ },
57
61
  });
58
62
  }
59
63
  //# sourceMappingURL=use-toggle-lock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-toggle-lock.js","sourceRoot":"","sources":["../../../src/lib/seam/locks/use-toggle-lock.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EAEX,cAAc,GACf,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAmBhF,MAAM,UAAU,aAAa;IAK3B,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,OAAO,WAAW,CAIhB;QACA,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC9B,MAAM,EACJ,SAAS,EAAE,QAAQ,EACnB,UAAU,EAAE,EAAE,MAAM,EAAE,GACvB,GAAG,SAAS,CAAA;YACb,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,mBAAmB,EAAE,CAAA;YACpD,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAM;YAC1B,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;QACnE,CAAC;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE;YACtB,WAAW,CAAC,YAAY,CAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;gBACtE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACpB,OAAO,OAAO,CAAA;gBAChB,CAAC;gBAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC5B,IACE,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS;wBACxC,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAChC,CAAC;wBACD,OAAO,MAAM,CAAA;oBACf,CAAC;oBAED,OAAO;wBACL,GAAG,MAAM;wBACT,UAAU,EAAE;4BACV,GAAG,MAAM,CAAC,UAAU;4BACpB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM;yBACrC;qBACF,CAAA;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,WAAW,CAAC,YAAY,CACtB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EACtD,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI;oBAAE,OAAO,MAAM,CAAA;gBAEpD,OAAO;oBACL,GAAG,MAAM;oBACT,UAAU,EAAE;wBACV,GAAG,MAAM,CAAC,UAAU;wBACpB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM;qBACrC;iBACF,CAAA;YACH,CAAC,CACF,CAAA;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;YACnC,MAAM,WAAW,CAAC,iBAAiB,CAAC;gBAClC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aAC9B,CAAC,CAAA;YACF,MAAM,WAAW,CAAC,iBAAiB,CAAC;gBAClC,QAAQ,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;aACjE,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"use-toggle-lock.js","sourceRoot":"","sources":["../../../src/lib/seam/locks/use-toggle-lock.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EAEX,cAAc,GACf,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAsBhF,MAAM,UAAU,aAAa,CAC3B,SAA8B,EAAE;IAMhC,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IAEpC,OAAO,WAAW,CAIhB;QACA,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;YAC9B,MAAM,EACJ,SAAS,EAAE,QAAQ,EACnB,UAAU,EAAE,EAAE,MAAM,EAAE,GACvB,GAAG,SAAS,CAAA;YACb,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM,IAAI,mBAAmB,EAAE,CAAA;YACpD,IAAI,MAAM,IAAI,IAAI;gBAAE,OAAM;YAC1B,IAAI,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;YAClE,IAAI,CAAC,MAAM;gBAAE,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAA;QACnE,CAAC;QACD,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE;YACtB,WAAW,CAAC,YAAY,CAAW,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE;gBACtE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACpB,OAAO,OAAO,CAAA;gBAChB,CAAC;gBAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBAC5B,IACE,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS;wBACxC,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,IAAI,EAChC,CAAC;wBACD,OAAO,MAAM,CAAA;oBACf,CAAC;oBAED,OAAO;wBACL,GAAG,MAAM;wBACT,UAAU,EAAE;4BACV,GAAG,MAAM,CAAC,UAAU;4BACpB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM;yBACrC;qBACF,CAAA;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YAEF,WAAW,CAAC,YAAY,CACtB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EACtD,CAAC,MAAM,EAAE,EAAE;gBACT,IAAI,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,IAAI;oBAAE,OAAO,MAAM,CAAA;gBAEpD,OAAO;oBACL,GAAG,MAAM;oBACT,UAAU,EAAE;wBACV,GAAG,MAAM,CAAC,UAAU;wBACpB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM;qBACrC;iBACF,CAAA;YACH,CAAC,CACF,CAAA;QACH,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;YACnC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAA;YAElB,MAAM,WAAW,CAAC,iBAAiB,CAAC;gBAClC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;aAC9B,CAAC,CAAA;YACF,MAAM,WAAW,CAAC,iBAAiB,CAAC;gBAClC,QAAQ,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;aACjE,CAAC,CAAA;QACJ,CAAC;QACD,SAAS;YACP,MAAM,CAAC,SAAS,EAAE,EAAE,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- type SnackbarVariant = 'success' | 'error';
3
- interface SnackbarProps {
2
+ export type SnackbarVariant = 'success' | 'error';
3
+ export interface SnackbarProps {
4
4
  message: string;
5
5
  variant: SnackbarVariant;
6
6
  visible: boolean;
@@ -15,4 +15,3 @@ interface SnackbarProps {
15
15
  automaticVisibility?: boolean;
16
16
  }
17
17
  export declare function Snackbar({ message, variant, visible, action, autoDismiss, dismissAfterMs, disableCloseButton, automaticVisibility, onClose, }: SnackbarProps): JSX.Element;
18
- export {};
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- declare const seamapiReactVersion = "4.4.0";
1
+ declare const seamapiReactVersion = "4.6.0";
2
2
  export default seamapiReactVersion;
package/lib/version.js CHANGED
@@ -1,3 +1,3 @@
1
- const seamapiReactVersion = '4.4.0';
1
+ const seamapiReactVersion = '4.6.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": "4.4.0",
3
+ "version": "4.6.0",
4
4
  "description": "Seam Components.",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -13,6 +13,7 @@ import {
13
13
  } from 'lib/seam/components/common-props.js'
14
14
  import { NestedDeviceDetails } from 'lib/seam/components/DeviceDetails/DeviceDetails.js'
15
15
  import { NestedEditAccessCodeForm } from 'lib/seam/components/EditAccessCodeForm/EditAccessCodeForm.js'
16
+ import { useDevice } from 'lib/seam/devices/use-device.js'
16
17
  import {
17
18
  accessCodeErrorFilter,
18
19
  accessCodeWarningFilter,
@@ -94,6 +95,12 @@ export function AccessCodeDetails({
94
95
  )
95
96
  }, [accessCode, deleteCode, onDelete, preventDefaultOnDelete])
96
97
 
98
+ const { device } = useDevice({ device_id: accessCode?.device_id })
99
+ const canSpecifyPinCode =
100
+ device?.properties.code_constraints?.every(
101
+ ({ constraint_type: type }) => type !== 'cannot_specify_pin_code'
102
+ ) ?? true
103
+
97
104
  if (accessCode == null) {
98
105
  return null
99
106
  }
@@ -192,18 +199,23 @@ export function AccessCodeDetails({
192
199
  alerts.length > 0 && 'seam-top-has-alerts'
193
200
  )}
194
201
  >
195
- <span className='seam-label'>{t.accessCode}</span>
196
- <h5 className='seam-access-code-name'>{name}</h5>
197
- <div className='seam-code'>
198
- <span>{accessCode.code}</span>
199
- <IconButton
200
- onClick={() => {
201
- void copyToClipboard(accessCode.code ?? '')
202
- }}
203
- >
204
- <CopyIcon />
205
- </IconButton>
206
- </div>
202
+ {canSpecifyPinCode && (
203
+ <>
204
+ <span className='seam-label'>{t.accessCode}</span>
205
+ <h5 className='seam-access-code-name'>{name}</h5>
206
+ <div className='seam-code'>
207
+ <span>{accessCode.code}</span>
208
+ <IconButton
209
+ onClick={() => {
210
+ void copyToClipboard(accessCode.code ?? '')
211
+ }}
212
+ >
213
+ <CopyIcon />
214
+ </IconButton>
215
+ </div>
216
+ </>
217
+ )}
218
+
207
219
  <div className='seam-duration'>
208
220
  <Duration accessCode={accessCode} />
209
221
  </div>
@@ -215,28 +227,32 @@ export function AccessCodeDetails({
215
227
  onSelectDevice={selectDevice}
216
228
  />
217
229
  </div>
218
- {(!disableEditAccessCode || !disableDeleteAccessCode) && (
219
- <div className='seam-actions'>
220
- {!disableEditAccessCode && !accessCode.is_offline_access_code && (
221
- <Button
222
- size='small'
223
- onClick={handleEdit}
224
- disabled={isAccessCodeBeingRemoved || isDeleting}
225
- >
226
- {t.editCode}
227
- </Button>
228
- )}
229
- {!disableDeleteAccessCode && !accessCode.is_offline_access_code && (
230
- <Button
231
- size='small'
232
- onClick={handleDelete}
233
- disabled={isAccessCodeBeingRemoved || isDeleting}
234
- >
235
- {t.deleteCode}
236
- </Button>
237
- )}
238
- </div>
239
- )}
230
+
231
+ {canSpecifyPinCode &&
232
+ (!disableEditAccessCode || !disableDeleteAccessCode) && (
233
+ <div className='seam-actions'>
234
+ {!disableEditAccessCode && !accessCode.is_offline_access_code && (
235
+ <Button
236
+ size='small'
237
+ onClick={handleEdit}
238
+ disabled={isAccessCodeBeingRemoved || isDeleting}
239
+ >
240
+ {t.editCode}
241
+ </Button>
242
+ )}
243
+ {!disableDeleteAccessCode &&
244
+ !accessCode.is_offline_access_code && (
245
+ <Button
246
+ size='small'
247
+ onClick={handleDelete}
248
+ disabled={isAccessCodeBeingRemoved || isDeleting}
249
+ >
250
+ {t.deleteCode}
251
+ </Button>
252
+ )}
253
+ </div>
254
+ )}
255
+
240
256
  <div className='seam-details'>
241
257
  {!disableResourceIds && (
242
258
  <div className='seam-row'>
@@ -1,8 +1,11 @@
1
+ import { useState } from 'react'
2
+
1
3
  import { useDevice } from 'lib/seam/devices/use-device.js'
2
4
  import { isLockDevice, type LockDevice } from 'lib/seam/locks/lock-device.js'
3
5
  import { useToggleLock } from 'lib/seam/locks/use-toggle-lock.js'
4
6
  import { Button } from 'lib/ui/Button.js'
5
7
  import { DeviceImage } from 'lib/ui/device/DeviceImage.js'
8
+ import { Snackbar, type SnackbarVariant } from 'lib/ui/Snackbar/Snackbar.js'
6
9
  import { TextButton } from 'lib/ui/TextButton.js'
7
10
 
8
11
  export function AccessCodeDevice({
@@ -49,35 +52,64 @@ function Content(props: {
49
52
  onSelectDevice: (deviceId: string) => void
50
53
  }): JSX.Element {
51
54
  const { device, disableLockUnlock, onSelectDevice } = props
52
- const toggleLock = useToggleLock()
55
+ const [snackbarVisible, setSnackbarVisible] = useState(false)
56
+ const [snackbarVariant, setSnackbarVariant] =
57
+ useState<SnackbarVariant>('success')
58
+
59
+ const toggleLock = useToggleLock({
60
+ onSuccess: () => {
61
+ setSnackbarVisible(true)
62
+ setSnackbarVariant('success')
63
+ },
64
+ onError: () => {
65
+ setSnackbarVisible(true)
66
+ setSnackbarVariant('error')
67
+ },
68
+ })
53
69
 
54
70
  const toggleLockLabel = device.properties.locked ? t.unlock : t.lock
55
71
 
56
72
  return (
57
- <div className='seam-access-code-device'>
58
- <div className='seam-device-image'>
59
- <DeviceImage device={device} />
60
- </div>
61
- <div className='seam-body'>
62
- <div>{device.properties.name}</div>
63
- <TextButton
64
- onClick={() => {
65
- onSelectDevice(device.device_id)
66
- }}
67
- >
68
- {t.deviceDetails}
69
- </TextButton>
73
+ <>
74
+ <Snackbar
75
+ variant={snackbarVariant}
76
+ visible={snackbarVisible}
77
+ onClose={() => {
78
+ setSnackbarVisible(false)
79
+ }}
80
+ message={
81
+ snackbarVariant === 'success'
82
+ ? t.successfullyUpdated
83
+ : t.failedToUpdate
84
+ }
85
+ autoDismiss
86
+ />
87
+
88
+ <div className='seam-access-code-device'>
89
+ <div className='seam-device-image'>
90
+ <DeviceImage device={device} />
91
+ </div>
92
+ <div className='seam-body'>
93
+ <div>{device.properties.name}</div>
94
+ <TextButton
95
+ onClick={() => {
96
+ onSelectDevice(device.device_id)
97
+ }}
98
+ >
99
+ {t.deviceDetails}
100
+ </TextButton>
101
+ </div>
102
+ {!disableLockUnlock && device.properties.online && (
103
+ <Button
104
+ onClick={() => {
105
+ toggleLock.mutate(device)
106
+ }}
107
+ >
108
+ {toggleLockLabel}
109
+ </Button>
110
+ )}
70
111
  </div>
71
- {!disableLockUnlock && device.properties.online && (
72
- <Button
73
- onClick={() => {
74
- toggleLock.mutate(device)
75
- }}
76
- >
77
- {toggleLockLabel}
78
- </Button>
79
- )}
80
- </div>
112
+ </>
81
113
  )
82
114
  }
83
115
 
@@ -85,4 +117,6 @@ const t = {
85
117
  deviceDetails: 'Device details',
86
118
  unlock: 'Unlock',
87
119
  lock: 'Lock',
120
+ successfullyUpdated: 'Lock status has been successfully updated',
121
+ failedToUpdate: 'Failed to update lock status',
88
122
  }