diff --git a/src/lib/element.tsx b/src/lib/element.tsx index 7890a0dc1..5f1262829 100644 --- a/src/lib/element.tsx +++ b/src/lib/element.tsx @@ -46,6 +46,7 @@ const commonProps: R2wcProps = { disableEditAccessCode: 'boolean', disableDeleteAccessCode: 'boolean', disableResourceIds: 'boolean', + disableClimateSettingSchedules: 'boolean', onBack: 'object', className: 'string', } diff --git a/src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.tsx b/src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.tsx index 37f1314d5..dcaf9cc2a 100644 --- a/src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.tsx +++ b/src/lib/seam/components/AccessCodeDetails/AccessCodeDetails.tsx @@ -43,6 +43,7 @@ export function AccessCodeDetails({ disableLockUnlock = false, disableDeleteAccessCode = false, disableResourceIds = false, + disableClimateSettingSchedules, onBack, className, }: AccessCodeDetailsProps): JSX.Element | null { @@ -69,6 +70,7 @@ export function AccessCodeDetails({ disableEditAccessCode={disableEditAccessCode} disableDeleteAccessCode={disableDeleteAccessCode} disableResourceIds={disableResourceIds} + disableClimateSettingSchedules={disableClimateSettingSchedules} onBack={() => { selectDevice(null) }} diff --git a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx index db4f72ce6..837a61073 100644 --- a/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx +++ b/src/lib/seam/components/AccessCodeTable/AccessCodeTable.tsx @@ -84,6 +84,7 @@ export function AccessCodeTable({ disableLockUnlock = false, disableDeleteAccessCode = false, disableResourceIds = false, + disableClimateSettingSchedules, }: AccessCodeTableProps): JSX.Element { useComponentTelemetry('AccessCodeTable') @@ -147,6 +148,7 @@ export function AccessCodeTable({ disableEditAccessCode={disableEditAccessCode} disableDeleteAccessCode={disableDeleteAccessCode} disableResourceIds={disableResourceIds} + disableClimateSettingSchedules={disableClimateSettingSchedules} onBack={() => { setSelectedEditAccessCodeId(null) }} @@ -182,6 +184,7 @@ export function AccessCodeTable({ disableEditAccessCode={disableEditAccessCode} disableDeleteAccessCode={disableDeleteAccessCode} disableResourceIds={disableResourceIds} + disableClimateSettingSchedules={disableClimateSettingSchedules} onBack={() => { setSelectedViewAccessCodeId(null) }} @@ -202,6 +205,7 @@ export function AccessCodeTable({ disableEditAccessCode={disableEditAccessCode} disableDeleteAccessCode={disableDeleteAccessCode} disableResourceIds={disableResourceIds} + disableClimateSettingSchedules={disableClimateSettingSchedules} onBack={toggleAddAccessCodeForm} className={className} onSuccess={() => { diff --git a/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.tsx b/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.tsx index f0a3b8b74..19301338f 100644 --- a/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleDetails/ClimateSettingScheduleDetails.tsx @@ -38,6 +38,7 @@ export function ClimateSettingScheduleDetails({ disableCreateAccessCode, disableEditAccessCode, disableResourceIds = false, + disableClimateSettingSchedules, }: ClimateSettingScheduleDetailsProps): JSX.Element | null { useComponentTelemetry('ClimateSettingScheduleDetails') @@ -65,6 +66,7 @@ export function ClimateSettingScheduleDetails({ disableEditAccessCode={disableEditAccessCode} disableDeleteAccessCode={disableDeleteAccessCode} disableResourceIds={disableResourceIds} + disableClimateSettingSchedules={disableClimateSettingSchedules} onBack={() => { selectDevice(null) }} diff --git a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx index 9272da254..33aa78711 100644 --- a/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx +++ b/src/lib/seam/components/ClimateSettingScheduleTable/ClimateSettingScheduleTable.tsx @@ -72,6 +72,7 @@ export function ClimateSettingScheduleTable({ disableCreateAccessCode, disableEditAccessCode, disableResourceIds = false, + disableClimateSettingSchedules, }: ClimateSettingScheduleTableProps): JSX.Element { useComponentTelemetry('ClimateSettingScheduleTable') @@ -125,6 +126,7 @@ export function ClimateSettingScheduleTable({ disableEditAccessCode={disableEditAccessCode} disableDeleteAccessCode={disableDeleteAccessCode} disableResourceIds={disableResourceIds} + disableClimateSettingSchedules={disableClimateSettingSchedules} onBack={() => { setSelectedViewClimateSettingScheduleId(null) }} diff --git a/src/lib/seam/components/DeviceDetails/DeviceDetails.tsx b/src/lib/seam/components/DeviceDetails/DeviceDetails.tsx index 481ec9088..772cced69 100644 --- a/src/lib/seam/components/DeviceDetails/DeviceDetails.tsx +++ b/src/lib/seam/components/DeviceDetails/DeviceDetails.tsx @@ -23,6 +23,7 @@ export function DeviceDetails({ disableResourceIds = false, disableCreateAccessCode = false, disableEditAccessCode = false, + disableClimateSettingSchedules = false, onBack, className, }: DeviceDetailsProps): JSX.Element | null { @@ -36,12 +37,13 @@ export function DeviceDetails({ return null } - const props = { + const props: Omit = { disableLockUnlock, disableDeleteAccessCode, disableResourceIds, disableCreateAccessCode, disableEditAccessCode, + disableClimateSettingSchedules, onBack, className, } diff --git a/src/lib/seam/components/DeviceDetails/LockDeviceDetails.tsx b/src/lib/seam/components/DeviceDetails/LockDeviceDetails.tsx index ffaaf05e0..09e986baf 100644 --- a/src/lib/seam/components/DeviceDetails/LockDeviceDetails.tsx +++ b/src/lib/seam/components/DeviceDetails/LockDeviceDetails.tsx @@ -32,6 +32,7 @@ export function LockDeviceDetails( disableEditAccessCode, disableDeleteAccessCode, disableResourceIds, + disableClimateSettingSchedules, onBack, className, } = props @@ -62,6 +63,7 @@ export function LockDeviceDetails( disableEditAccessCode={disableEditAccessCode} disableDeleteAccessCode={disableDeleteAccessCode} disableResourceIds={disableResourceIds} + disableClimateSettingSchedules={disableClimateSettingSchedules} onBack={toggleAccessCodesOpen} className={className} /> diff --git a/src/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.tsx b/src/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.tsx index 23b5060b4..f10697767 100644 --- a/src/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.tsx +++ b/src/lib/seam/components/DeviceDetails/ThermostatDeviceDetails.tsx @@ -45,6 +45,7 @@ export function ThermostatDeviceDetails({ disableEditAccessCode, disableDeleteAccessCode, disableResourceIds = false, + disableClimateSettingSchedules = false, }: ThermostatDeviceDetailsProps): JSX.Element | null { const [climateSettingsOpen, setClimateSettingsOpen] = useState(false) @@ -65,6 +66,7 @@ export function ThermostatDeviceDetails({ disableEditAccessCode={disableEditAccessCode} disableDeleteAccessCode={disableDeleteAccessCode} disableResourceIds={disableResourceIds} + disableClimateSettingSchedules={disableClimateSettingSchedules} onBack={() => { setClimateSettingsOpen(false) }} @@ -91,25 +93,27 @@ export function ThermostatDeviceDetails({
- - { - setClimateSettingsOpen(true) - }} + {!disableClimateSettingSchedules && ( + -
- -
-
-
+ { + setClimateSettingsOpen(true) + }} + > +
+ +
+
+ + )} { setSelectedDeviceId(null) }} diff --git a/src/lib/seam/components/common-props.tsx b/src/lib/seam/components/common-props.tsx index b2b10a729..3235c8758 100644 --- a/src/lib/seam/components/common-props.tsx +++ b/src/lib/seam/components/common-props.tsx @@ -18,6 +18,7 @@ export interface RequiredCommonProps { disableEditAccessCode: boolean | undefined disableLockUnlock: boolean | undefined disableResourceIds: boolean | undefined + disableClimateSettingSchedules: boolean | undefined } export type CommonProps = Partial