Skip to content

Commit

Permalink
feat: Add Noise Sensors to DeviceTable (#630)
Browse files Browse the repository at this point in the history
* feat: Add Noise Sensors to `DeviceTable`

* ci: Format code

* Add `ContentHeader`

* ci: Format code

* Add `image_url`

---------

Co-authored-by: Seam Bot <devops@getseam.com>
  • Loading branch information
xplato and seambot committed May 6, 2024
1 parent df690b1 commit a426132
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 3 deletions.
2 changes: 2 additions & 0 deletions .storybook/seed-fake.js
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,8 @@ export const seedFake = (db) => {
manufacturer_display_name: 'NoiseAware',
display_name: 'Indoor Sensor',
},
image_url:
'https://connect.getseam.com/assets/images/devices/noiseaware_indoor_sensor_front.png',
},
errors: [],
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import classNames from 'classnames'
import type { NoiseSensorDevice } from 'seamapi'

import type { NestedSpecificDeviceDetailsProps } from 'lib/seam/components/DeviceDetails/DeviceDetails.js'
import { DeviceInfo } from 'lib/seam/components/DeviceDetails/DeviceInfo.js'
import { DeviceModel } from 'lib/seam/components/DeviceDetails/DeviceModel.js'
import { DeviceImage } from 'lib/ui/device/DeviceImage.js'
import { OnlineStatus } from 'lib/ui/device/OnlineStatus.js'
import { ContentHeader } from 'lib/ui/layout/ContentHeader.js'
import { NoiseThresholdsList } from 'lib/ui/noise-sensor/NoiseThresholdsList.js'

interface NoiseSensorDeviceDetailsProps
Expand All @@ -16,9 +18,13 @@ export function NoiseSensorDeviceDetails({
device,
disableConnectedAccountInformation,
disableResourceIds,
onBack,
className,
}: NoiseSensorDeviceDetailsProps): JSX.Element | null {
return (
<div className='seam-device-details'>
<div className={classNames('seam-device-details', className)}>
<ContentHeader title={t.noiseSensor} onBack={onBack} />

<div className='seam-body'>
<div className='seam-summary'>
<div className='seam-content'>
Expand Down
14 changes: 12 additions & 2 deletions src/lib/seam/components/DeviceTable/DeviceTable.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
import classNames from 'classnames'
import { useCallback, useMemo, useState } from 'react'
import { type CommonDevice, isLockDevice, isThermostatDevice } from 'seamapi'
import {
type CommonDevice,
isLockDevice,
isNoiseSensorDevice,
isThermostatDevice,
} from 'seamapi'

import { compareByCreatedAtDesc } from 'lib/dates.js'
import {
Expand Down Expand Up @@ -87,7 +92,12 @@ export function DeviceTable({
const filteredDevices = useMemo(
() =>
devices
?.filter((device) => isLockDevice(device) || isThermostatDevice(device))
?.filter(
(device) =>
isLockDevice(device) ||
isThermostatDevice(device) ||
isNoiseSensorDevice(device)
)
?.filter((device) => deviceFilter(device, searchInputValue))
?.sort(deviceComparator) ?? [],
[devices, searchInputValue, deviceFilter, deviceComparator]
Expand Down

0 comments on commit a426132

Please sign in to comment.