From 7a43d64ea90f5ea930ee24920dc3daadeca71ed4 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Mon, 2 Oct 2023 08:56:50 -0600 Subject: [PATCH 01/23] Add `Snackbar` to `DeviceTable` --- .../components/DeviceTable/DeviceTable.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index 3c16b508c..4fd6cb629 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -28,6 +28,7 @@ import { TableHeader } from 'lib/ui/Table/TableHeader.js' import { TableTitle } from 'lib/ui/Table/TableTitle.js' import { SearchTextField } from 'lib/ui/TextField/SearchTextField.js' import { Caption } from 'lib/ui/typography/Caption.js' +import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js' type Device = UseDevicesData[number] @@ -118,10 +119,6 @@ export function DeviceTable({ ) } - if (isError) { - return

{error?.message}

- } - return (
@@ -152,6 +149,19 @@ export function DeviceTable({ + + {isError && ( + {}} + hideCloseButton + /> + )}
) } From 6ab51691d6050e76e096179232eb98473bc9aa28 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Mon, 2 Oct 2023 08:57:39 -0600 Subject: [PATCH 02/23] Add `Snackbar` to `AccessCodeTable` --- .../AccessCodeTable/AccessCodeTable.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index f61a7799a..dded857bb 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -31,6 +31,7 @@ import { TableTitle } from 'lib/ui/Table/TableTitle.js' import { SearchTextField } from 'lib/ui/TextField/SearchTextField.js' import { Caption } from 'lib/ui/typography/Caption.js' import { useToggle } from 'lib/ui/use-toggle.js' +import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js' export const NestedAccessCodeTable = withRequiredCommonProps(AccessCodeTable) @@ -179,10 +180,6 @@ export function AccessCodeTable({ ) } - if (isError) { - return

{error?.message}

- } - return (
@@ -229,6 +226,19 @@ export function AccessCodeTable({ disableDeleteAccessCode={disableDeleteAccessCode} /> + + {isError && ( + {}} + hideCloseButton + /> + )}
) } From fc6e2cafdbbff0505ad8a2d266cf16105c28ed95 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Mon, 2 Oct 2023 08:58:09 -0600 Subject: [PATCH 03/23] Add `Snackbar` to `ClimateSettingScheduleTable` --- .../ClimateSettingScheduleTable.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index 2ca089831..312ccdb15 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -23,6 +23,7 @@ import { TableHeader } from 'lib/ui/Table/TableHeader.js' import { TableTitle } from 'lib/ui/Table/TableTitle.js' import { SearchTextField } from 'lib/ui/TextField/SearchTextField.js' import { Caption } from 'lib/ui/typography/Caption.js' +import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js' export const NestedClimateSettingScheduleTable = withRequiredCommonProps( ClimateSettingScheduleTable @@ -126,10 +127,6 @@ export function ClimateSettingScheduleTable({ ) } - if (isError) { - return

{error?.message}

- } - return (
@@ -163,6 +160,19 @@ export function ClimateSettingScheduleTable({ onClimateSettingScheduleClick={handleClimateSettingScheduleClick} /> + + {isError && ( + {}} + hideCloseButton + /> + )}
) } From aacba97b035035196bc73185106c2275caa07931 Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Mon, 2 Oct 2023 14:59:34 +0000 Subject: [PATCH 04/23] ci: Format code --- src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx | 2 +- .../ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx | 2 +- src/lib/seam/components/DeviceTable/DeviceTable.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index dded857bb..153b1ad97 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -24,6 +24,7 @@ import { NestedEditAccessCodeForm } from 'lib/seam/components/EditAccessCodeForm import { IconButton } from 'lib/ui/IconButton.js' import { ContentHeader } from 'lib/ui/layout/ContentHeader.js' import { LoadingToast } from 'lib/ui/LoadingToast/LoadingToast.js' +import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js' import { EmptyPlaceholder } from 'lib/ui/Table/EmptyPlaceholder.js' import { TableBody } from 'lib/ui/Table/TableBody.js' import { TableHeader } from 'lib/ui/Table/TableHeader.js' @@ -31,7 +32,6 @@ import { TableTitle } from 'lib/ui/Table/TableTitle.js' import { SearchTextField } from 'lib/ui/TextField/SearchTextField.js' import { Caption } from 'lib/ui/typography/Caption.js' import { useToggle } from 'lib/ui/use-toggle.js' -import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js' export const NestedAccessCodeTable = withRequiredCommonProps(AccessCodeTable) diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index 312ccdb15..648f42a1f 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -17,13 +17,13 @@ import { } from 'lib/seam/thermostats/climate-setting-schedules/use-climate-setting-schedules.js' import { ContentHeader } from 'lib/ui/layout/ContentHeader.js' import { LoadingToast } from 'lib/ui/LoadingToast/LoadingToast.js' +import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js' import { EmptyPlaceholder } from 'lib/ui/Table/EmptyPlaceholder.js' import { TableBody } from 'lib/ui/Table/TableBody.js' import { TableHeader } from 'lib/ui/Table/TableHeader.js' import { TableTitle } from 'lib/ui/Table/TableTitle.js' import { SearchTextField } from 'lib/ui/TextField/SearchTextField.js' import { Caption } from 'lib/ui/typography/Caption.js' -import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js' export const NestedClimateSettingScheduleTable = withRequiredCommonProps( ClimateSettingScheduleTable diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index 4fd6cb629..88c4f916d 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -22,13 +22,13 @@ import { } from 'lib/seam/devices/use-devices.js' import { ContentHeader } from 'lib/ui/layout/ContentHeader.js' import { LoadingToast } from 'lib/ui/LoadingToast/LoadingToast.js' +import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js' import { EmptyPlaceholder } from 'lib/ui/Table/EmptyPlaceholder.js' import { TableBody } from 'lib/ui/Table/TableBody.js' import { TableHeader } from 'lib/ui/Table/TableHeader.js' import { TableTitle } from 'lib/ui/Table/TableTitle.js' import { SearchTextField } from 'lib/ui/TextField/SearchTextField.js' import { Caption } from 'lib/ui/typography/Caption.js' -import { Snackbar } from 'lib/ui/Snackbar/Snackbar.js' type Device = UseDevicesData[number] From b2b97a88bdaa222a00a3514b16f25b3d43165b9f Mon Sep 17 00:00:00 2001 From: Tristan B Date: Mon, 2 Oct 2023 10:24:42 -0600 Subject: [PATCH 05/23] Update fallback string --- src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx | 2 +- .../ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index dded857bb..a0901f022 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -231,7 +231,7 @@ export function AccessCodeTable({ Date: Mon, 2 Oct 2023 13:05:18 -0600 Subject: [PATCH 06/23] Use `disableCloseButton` --- src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx | 2 +- .../ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx | 2 +- src/lib/seam/components/DeviceTable/DeviceTable.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index c90d796cf..25da12d00 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -236,7 +236,7 @@ export function AccessCodeTable({ variant='error' isOpen={isError} onClose={() => {}} - hideCloseButton + disableCloseButton /> )} diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index 34d37c196..f762d9060 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -170,7 +170,7 @@ export function ClimateSettingScheduleTable({ variant='error' isOpen={isError} onClose={() => {}} - hideCloseButton + disableCloseButton /> )} diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index 88c4f916d..319f4bc16 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -159,7 +159,7 @@ export function DeviceTable({ variant='error' isOpen={isError} onClose={() => {}} - hideCloseButton + disableCloseButton /> )} From ba87057dff6c21ca32c67efcad7fe66a0d6764ea Mon Sep 17 00:00:00 2001 From: Tristan B Date: Mon, 2 Oct 2023 16:42:28 -0600 Subject: [PATCH 07/23] Update error descriptions --- .../AccessCodeTable/AccessCodeTable.tsx | 16 +++++++++------- .../ClimateSettingScheduleTable.tsx | 11 ++++++----- .../seam/components/DeviceTable/DeviceTable.tsx | 11 ++++++----- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index 25da12d00..0049d86fc 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -89,9 +89,10 @@ export function AccessCodeTable({ }: AccessCodeTableProps): JSX.Element { useComponentTelemetry('AccessCodeTable') - const { accessCodes, isInitialLoading, isError, error } = useAccessCodes({ - device_id: deviceId, - }) + const { accessCodes, isInitialLoading, isError, error, refetch } = + useAccessCodes({ + device_id: deviceId, + }) const [selectedViewAccessCodeId, setSelectedViewAccessCodeId] = useState< string | null @@ -229,11 +230,12 @@ export function AccessCodeTable({ {isError && ( {}} disableCloseButton diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index f762d9060..7da91412a 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -72,7 +72,7 @@ export function ClimateSettingScheduleTable({ }: ClimateSettingScheduleTableProps): JSX.Element { useComponentTelemetry('ClimateSettingScheduleTable') - const { climateSettingSchedules, isInitialLoading, isError, error } = + const { climateSettingSchedules, isInitialLoading, isError, error, refetch } = useClimateSettingSchedules({ device_id: deviceId, }) @@ -163,11 +163,12 @@ export function ClimateSettingScheduleTable({ {isError && ( {}} disableCloseButton diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index 319f4bc16..56c6768b6 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -77,7 +77,7 @@ export function DeviceTable({ }: DeviceTableProps = {}): JSX.Element { useComponentTelemetry('DeviceTable') - const { devices, isInitialLoading, isError, error } = useDevices({ + const { devices, isInitialLoading, isError, error, refetch } = useDevices({ device_ids: deviceIds, connected_account_ids: connectedAccountIds, }) @@ -152,11 +152,12 @@ export function DeviceTable({ {isError && ( {}} disableCloseButton From 6ce3eb3faabbb2ddcfa0b5b40c24f3d375675c15 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Mon, 2 Oct 2023 16:48:48 -0600 Subject: [PATCH 08/23] Lint fixes --- src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx | 4 +++- .../ClimateSettingScheduleTable.tsx | 4 +++- src/lib/seam/components/DeviceTable/DeviceTable.tsx | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index 0049d86fc..ae519ff08 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -234,7 +234,9 @@ export function AccessCodeTable({ message={error?.message ?? 'Access codes could not be loaded'} action={{ label: 'Try again', - onClick: refetch, + onClick: () => { + void refetch() + }, }} isOpen={isError} onClose={() => {}} diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index 7da91412a..e6ef79cd0 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -167,7 +167,9 @@ export function ClimateSettingScheduleTable({ message={error?.message ?? 'Climate settings could not be loaded'} action={{ label: 'Try again', - onClick: refetch, + onClick: () => { + void refetch() + }, }} isOpen={isError} onClose={() => {}} diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index 56c6768b6..878403945 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -156,7 +156,9 @@ export function DeviceTable({ message={error?.message ?? 'Devices could not be loaded'} action={{ label: 'Try again', - onClick: refetch, + onClick: () => { + void refetch() + }, }} isOpen={isError} onClose={() => {}} From 4d7925a373bb5982008564fbbbe1f84db2309162 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 11:14:24 -0600 Subject: [PATCH 09/23] Use `t` for `AccessCodeTable` --- src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index ae519ff08..f62ead296 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -231,9 +231,9 @@ export function AccessCodeTable({ {isError && ( { void refetch() }, @@ -310,4 +310,6 @@ const t = { accessCodes: 'Access Codes', noAccessCodesMessage: 'Sorry, no access codes were found', loading: 'Loading access codes', + tryAgain: 'Try again', + fallbackErrorMessage: 'Access codes could not be loaded', } From 429dad8aa723f7e2c252c7462ed31b24d454eb56 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 11:14:48 -0600 Subject: [PATCH 10/23] Use `t` for `DeviceTable` --- src/lib/seam/components/DeviceTable/DeviceTable.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index 878403945..e5c6a71a0 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -153,9 +153,9 @@ export function DeviceTable({ {isError && ( { void refetch() }, @@ -227,4 +227,6 @@ const t = { devices: 'Devices', noDevicesMessage: 'Sorry, no devices were found', loading: 'Loading devices', + tryAgain: 'Try again', + fallbackErrorMessage: 'Devices could not be loaded', } From 6af9ee25466243474c4d8517e8fee8e6a9423de9 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 11:15:28 -0600 Subject: [PATCH 11/23] Use `t` for `ClimateSettingScheduleTable` --- .../ClimateSettingScheduleTable.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index e6ef79cd0..ed7ae254b 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -164,9 +164,9 @@ export function ClimateSettingScheduleTable({ {isError && ( { void refetch() }, @@ -212,4 +212,6 @@ const t = { noClimateSettingSchedulesMessage: 'Sorry, no climate setting schedules were found', loading: 'Loading schedules', + tryAgain: 'Try again', + fallbackErrorMessage: 'Climate settings could not be loaded', } From 58fa3a2b0f68c12f2d1841245405743344fac4b1 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 17:26:34 -0600 Subject: [PATCH 12/23] Bump `fake-seam-connect` --- package-lock.json | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index d78597d5c..27459a4c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "@mui/icons-material": "^5.11.16", "@mui/material": "^5.12.2", "@rxfork/r2wc-react-to-web-component": "^2.3.0", - "@seamapi/fake-seam-connect": "^1.14.0", + "@seamapi/fake-seam-connect": "^1.16.0", "@storybook/addon-designs": "^7.0.1", "@storybook/addon-essentials": "^7.0.2", "@storybook/addon-links": "^7.0.2", @@ -4500,10 +4500,11 @@ } }, "node_modules/@seamapi/fake-seam-connect": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/@seamapi/fake-seam-connect/-/fake-seam-connect-1.15.0.tgz", - "integrity": "sha512-BsHq/SetsHkQw/eS/nk9AlRRHTaiQUEQ3sfwNrTVoLyqkkt3AXtdhvMrj7K/cHAK8nu/kVYXgJPbwJRSfGCz5g==", + "version": "1.16.0", + "resolved": "https://npm.pkg.github.com/download/@seamapi/fake-seam-connect/1.16.0/4b39eb2ebe4d282e72c853395a8c1c2f7772b2a2", + "integrity": "sha512-FMnYhMDMLI8BQdmKYFoctekeh+JLAmY/Kn+8MJ+YoxDm5SODgwzu0AjBwcuc8zjqmX4pG9psvkXQ2ZDynwuUGQ==", "dev": true, + "license": "MIT", "bin": { "fake-seam-connect": "dist/server.js" }, diff --git a/package.json b/package.json index 52f80dbfc..f9abcd362 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "@mui/icons-material": "^5.11.16", "@mui/material": "^5.12.2", "@rxfork/r2wc-react-to-web-component": "^2.3.0", - "@seamapi/fake-seam-connect": "^1.14.0", + "@seamapi/fake-seam-connect": "^1.16.0", "@storybook/addon-designs": "^7.0.1", "@storybook/addon-essentials": "^7.0.2", "@storybook/addon-links": "^7.0.2", From b025c474854c932a95537317d0d257355c2bc4de Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 17:30:52 -0600 Subject: [PATCH 13/23] Use new `Snackbar` API in `AccessCodeTable` --- src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index f62ead296..e9d465069 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -238,8 +238,7 @@ export function AccessCodeTable({ void refetch() }, }} - isOpen={isError} - onClose={() => {}} + visible={isError} disableCloseButton /> )} From 5f3b55ac66dede7f84f16c9c8d573daf6441e405 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 17:31:17 -0600 Subject: [PATCH 14/23] Use new `Snackbar` API in `ClimateSettingScheduleTable` --- .../ClimateSettingScheduleTable.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index ed7ae254b..171df0be2 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -171,8 +171,7 @@ export function ClimateSettingScheduleTable({ void refetch() }, }} - isOpen={isError} - onClose={() => {}} + visible={isError} disableCloseButton /> )} From 5cc4bde4191bf8a92bae47745c048a9f5dc1bc90 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 17:31:36 -0600 Subject: [PATCH 15/23] Use new `Snackbar` API in `DeviceTable` --- src/lib/seam/components/DeviceTable/DeviceTable.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index e5c6a71a0..ab64738be 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -160,8 +160,7 @@ export function DeviceTable({ void refetch() }, }} - isOpen={isError} - onClose={() => {}} + visible={isError} disableCloseButton /> )} From a9d472aadd97e9ccfbedbf8707c9567f318561ee Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 3 Oct 2023 17:48:02 -0600 Subject: [PATCH 16/23] Add `ws3` for simulated outage (not sure if this is correct) --- .storybook/seed-fake.js | 10 +++++++++- test/fixtures/seed-fake.ts | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/.storybook/seed-fake.js b/.storybook/seed-fake.js index ade42d47d..111de1281 100644 --- a/.storybook/seed-fake.js +++ b/.storybook/seed-fake.js @@ -12,9 +12,17 @@ export const seedFake = (db) => { created_at: '2023-05-15T14:07:48.000', }) + const ws3 = db.addWorkspace({ + name: 'Seed Workspace 3 (simulated outage)', + publishable_key: 'seam_pk_3', + created_at: '2023-05-15T14:07:48.000', + }) + + db.simulateWorkspaceOutage(ws3.workspace_id) + const cw = db.addConnectWebview({ workspace_id: ws2.workspace_id, - created_at: '2023-05-15T15:08:49.000', + created_at: '2023-10-03T15:07:48.000', }) const ca = db.addConnectedAccount({ diff --git a/test/fixtures/seed-fake.ts b/test/fixtures/seed-fake.ts index 721ddae57..5e15b6ea0 100644 --- a/test/fixtures/seed-fake.ts +++ b/test/fixtures/seed-fake.ts @@ -9,6 +9,9 @@ interface Seed { export const seedFake = async (db: Database): Promise => { const ws1 = db.addWorkspace({ name: 'Seed Workspace 1 (starts empty)' }) const ws2 = db.addWorkspace({ name: 'Seed Workspace 2 (starts populated)' }) + const ws3 = db.addWorkspace({ name: 'Seed Workspace 3 (simulated outage)' }) + + db.simulateWorkspaceOutage(ws3.workspace_id) const cw = db.addConnectWebview({ workspace_id: ws2.workspace_id, From b7cc6f4e6ecefc3cbe3a8d5dafd737815114912b Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 10 Oct 2023 11:50:59 -0600 Subject: [PATCH 17/23] Update fake-seam-connect, fix error messages --- .storybook/preview.tsx | 24 ++++++++++++------- .storybook/seed-fake.js | 8 ++++++- package-lock.json | 9 ++++--- package.json | 2 +- .../AccessCodeTable/AccessCodeTable.tsx | 6 ++++- .../ClimateSettingScheduleTable.tsx | 6 ++++- .../components/DeviceTable/DeviceTable.tsx | 6 ++++- test/fixtures/seed-fake.ts | 8 ++++++- 8 files changed, 49 insertions(+), 20 deletions(-) diff --git a/.storybook/preview.tsx b/.storybook/preview.tsx index 5e343e8ee..ed09d5b0e 100644 --- a/.storybook/preview.tsx +++ b/.storybook/preview.tsx @@ -63,28 +63,34 @@ const preview: Preview = { }, }, decorators: [ - ( - Story, - { + (Story, context) => { + const { globals: { publishableKey, userIdentifierKey, seamEndpoint, simulatedOutage, }, - } - ) => { + } = context + + const usableKey = + simulatedOutage === 'outage' ? 'seam_pk_3' : publishableKey + return ( - + ) }, diff --git a/.storybook/seed-fake.js b/.storybook/seed-fake.js index b6723a17c..d88692cac 100644 --- a/.storybook/seed-fake.js +++ b/.storybook/seed-fake.js @@ -18,7 +18,13 @@ export const seedFake = (db) => { created_at: '2023-05-15T14:07:48.000', }) - db.simulateWorkspaceOutage(ws3.workspace_id) + db.simulateWorkspaceOutage(ws3.workspace_id, { + routes: [ + '/devices/list', + '/access_codes/list', + '/thermostats/climate_setting_schedules/list', + ], + }) const cw = db.addConnectWebview({ workspace_id: ws2.workspace_id, diff --git a/package-lock.json b/package-lock.json index b9fbbb10a..c281f3410 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "@mui/icons-material": "^5.11.16", "@mui/material": "^5.12.2", "@rxfork/r2wc-react-to-web-component": "^2.3.0", - "@seamapi/fake-seam-connect": "^1.17.0", + "@seamapi/fake-seam-connect": "^1.23.0", "@storybook/addon-designs": "^7.0.1", "@storybook/addon-essentials": "^7.0.2", "@storybook/addon-links": "^7.0.2", @@ -4500,11 +4500,10 @@ } }, "node_modules/@seamapi/fake-seam-connect": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/@seamapi/fake-seam-connect/-/fake-seam-connect-1.17.0.tgz", - "integrity": "sha512-WKZ0HUI6y5Q025rMh1It15i8JMz8gXoC3Km81NNss0R0Jl5ubMNGKlUOO1MetXkhTc5pa3i1ARORS/AXYZ94HQ==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@seamapi/fake-seam-connect/-/fake-seam-connect-1.23.0.tgz", + "integrity": "sha512-k+/pTxj1ZlR0n5vxU0FGdvyAjE+zKgAShYFZp3raqBbMEvUl+B3aVpceLqO73j/LSHw3jxsU+zkyotafyV9TDw==", "dev": true, - "license": "MIT", "bin": { "fake-seam-connect": "dist/server.js" }, diff --git a/package.json b/package.json index 13eb74579..9b7ead533 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "@mui/icons-material": "^5.11.16", "@mui/material": "^5.12.2", "@rxfork/r2wc-react-to-web-component": "^2.3.0", - "@seamapi/fake-seam-connect": "^1.17.0", + "@seamapi/fake-seam-connect": "^1.23.0", "@storybook/addon-designs": "^7.0.1", "@storybook/addon-essentials": "^7.0.2", "@storybook/addon-links": "^7.0.2", diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index e9d465069..186e8b4cd 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -231,7 +231,11 @@ export function AccessCodeTable({ {isError && ( { diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index 171df0be2..c1776456f 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -164,7 +164,11 @@ export function ClimateSettingScheduleTable({ {isError && ( { diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index ab64738be..d19c6854e 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -153,7 +153,11 @@ export function DeviceTable({ {isError && ( { diff --git a/test/fixtures/seed-fake.ts b/test/fixtures/seed-fake.ts index 5e15b6ea0..ffb5e5bcc 100644 --- a/test/fixtures/seed-fake.ts +++ b/test/fixtures/seed-fake.ts @@ -11,7 +11,13 @@ export const seedFake = async (db: Database): Promise => { const ws2 = db.addWorkspace({ name: 'Seed Workspace 2 (starts populated)' }) const ws3 = db.addWorkspace({ name: 'Seed Workspace 3 (simulated outage)' }) - db.simulateWorkspaceOutage(ws3.workspace_id) + db.simulateWorkspaceOutage(ws3.workspace_id, { + routes: [ + '/devices/list', + '/access_codes/list', + '/thermostats/climate_setting_schedules/list', + ], + }) const cw = db.addConnectWebview({ workspace_id: ws2.workspace_id, From 6d174de5702648993b140445d66998d6491ff567 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 10 Oct 2023 11:59:26 -0600 Subject: [PATCH 18/23] Use `t.fallbackErrorMessage` --- src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx | 6 +----- .../ClimateSettingScheduleTable.tsx | 6 +----- src/lib/seam/components/DeviceTable/DeviceTable.tsx | 6 +----- 3 files changed, 3 insertions(+), 15 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index 186e8b4cd..4c407a314 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -231,11 +231,7 @@ export function AccessCodeTable({ {isError && ( { diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index c1776456f..6a2c89756 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -164,11 +164,7 @@ export function ClimateSettingScheduleTable({ {isError && ( { diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index d19c6854e..e9bc7a601 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -153,11 +153,7 @@ export function DeviceTable({ {isError && ( { From 8bd486ace3a6f34530b3f5e9ae7799ceb84ab697 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 10 Oct 2023 12:00:32 -0600 Subject: [PATCH 19/23] Remove `error` --- src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx | 2 +- .../ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx | 2 +- src/lib/seam/components/DeviceTable/DeviceTable.tsx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index 4c407a314..f89be7dc8 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -89,7 +89,7 @@ export function AccessCodeTable({ }: AccessCodeTableProps): JSX.Element { useComponentTelemetry('AccessCodeTable') - const { accessCodes, isInitialLoading, isError, error, refetch } = + const { accessCodes, isInitialLoading, isError, refetch } = useAccessCodes({ device_id: deviceId, }) diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index 6a2c89756..882bdd77a 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -72,7 +72,7 @@ export function ClimateSettingScheduleTable({ }: ClimateSettingScheduleTableProps): JSX.Element { useComponentTelemetry('ClimateSettingScheduleTable') - const { climateSettingSchedules, isInitialLoading, isError, error, refetch } = + const { climateSettingSchedules, isInitialLoading, isError, refetch } = useClimateSettingSchedules({ device_id: deviceId, }) diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index e9bc7a601..3fbd82c25 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -77,7 +77,7 @@ export function DeviceTable({ }: DeviceTableProps = {}): JSX.Element { useComponentTelemetry('DeviceTable') - const { devices, isInitialLoading, isError, error, refetch } = useDevices({ + const { devices, isInitialLoading, isError, refetch } = useDevices({ device_ids: deviceIds, connected_account_ids: connectedAccountIds, }) From 843bf0866e31abb8919d93238db2baab1f3eec59 Mon Sep 17 00:00:00 2001 From: Seam Bot Date: Tue, 10 Oct 2023 18:02:03 +0000 Subject: [PATCH 20/23] ci: Format code --- .../seam/components/AccessCodeTable/AccessCodeTable.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index f89be7dc8..778d93879 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -89,10 +89,9 @@ export function AccessCodeTable({ }: AccessCodeTableProps): JSX.Element { useComponentTelemetry('AccessCodeTable') - const { accessCodes, isInitialLoading, isError, refetch } = - useAccessCodes({ - device_id: deviceId, - }) + const { accessCodes, isInitialLoading, isError, refetch } = useAccessCodes({ + device_id: deviceId, + }) const [selectedViewAccessCodeId, setSelectedViewAccessCodeId] = useState< string | null From fc67022a2eb1da244573ca4661b5aed5be9599c3 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Tue, 10 Oct 2023 13:32:33 -0600 Subject: [PATCH 21/23] Format --- .../seam/components/AccessCodeTable/AccessCodeTable.tsx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index f89be7dc8..778d93879 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -89,10 +89,9 @@ export function AccessCodeTable({ }: AccessCodeTableProps): JSX.Element { useComponentTelemetry('AccessCodeTable') - const { accessCodes, isInitialLoading, isError, refetch } = - useAccessCodes({ - device_id: deviceId, - }) + const { accessCodes, isInitialLoading, isError, refetch } = useAccessCodes({ + device_id: deviceId, + }) const [selectedViewAccessCodeId, setSelectedViewAccessCodeId] = useState< string | null From af89c2a7460c8600cfb3bf51a3a5cc142421be52 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Mon, 23 Oct 2023 10:13:50 -0600 Subject: [PATCH 22/23] Amend date --- .storybook/seed-fake.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.storybook/seed-fake.js b/.storybook/seed-fake.js index 5b4249863..fd84c8692 100644 --- a/.storybook/seed-fake.js +++ b/.storybook/seed-fake.js @@ -28,7 +28,7 @@ export const seedFake = (db) => { const cw = db.addConnectWebview({ workspace_id: ws2.workspace_id, - created_at: '2023-10-03T15:07:48.000', + created_at: '2023-05-15T15:08:49.000', }) const ca = db.addConnectedAccount({ From 5998fb26ccd34612f5331845f79ff036ca0fb221 Mon Sep 17 00:00:00 2001 From: Tristan B Date: Mon, 23 Oct 2023 10:32:29 -0600 Subject: [PATCH 23/23] Remove `onClose` --- src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx | 1 - .../ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx | 1 - src/lib/seam/components/DeviceTable/DeviceTable.tsx | 1 - 3 files changed, 3 deletions(-) diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index cce5cc6c0..aa317deea 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -268,7 +268,6 @@ export function AccessCodeTable({ {}} message={t.fallbackErrorMessage} action={{ label: t.tryAgain, diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index 5438aeaf7..b8667ae95 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -166,7 +166,6 @@ export function ClimateSettingScheduleTable({ {}} message={t.fallbackErrorMessage} action={{ label: t.tryAgain, diff --git a/src/lib/seam/components/DeviceTable/DeviceTable.tsx b/src/lib/seam/components/DeviceTable/DeviceTable.tsx index 24e58ed16..65e6b4453 100644 --- a/src/lib/seam/components/DeviceTable/DeviceTable.tsx +++ b/src/lib/seam/components/DeviceTable/DeviceTable.tsx @@ -155,7 +155,6 @@ export function DeviceTable({ {}} message={t.fallbackErrorMessage} action={{ label: t.tryAgain,