@@ -19,6 +19,7 @@ import {
1919} from 'lib/seam/components/common-props.js'
2020import { NestedCreateAccessCodeForm } from 'lib/seam/components/CreateAccessCodeForm/CreateAccessCodeForm.js'
2121import { NestedEditAccessCodeForm } from 'lib/seam/components/EditAccessCodeForm/EditAccessCodeForm.js'
22+ import { useDevice } from 'lib/seam/devices/use-device.js'
2223import { useComponentTelemetry } from 'lib/telemetry/index.js'
2324import { IconButton } from 'lib/ui/IconButton.js'
2425import { ContentHeader } from 'lib/ui/layout/ContentHeader.js'
@@ -92,6 +93,10 @@ export function AccessCodeTable({
9293 device_id : deviceId ,
9394 } )
9495
96+ const { device } = useDevice ( {
97+ device_id : deviceId ,
98+ } )
99+
95100 const [ selectedViewAccessCodeId , setSelectedViewAccessCodeId ] = useState <
96101 string | null
97102 > ( null )
@@ -220,6 +225,8 @@ export function AccessCodeTable({
220225 )
221226 }
222227
228+ const d = device as any
229+
223230 return (
224231 < >
225232 < Snackbar
@@ -242,14 +249,16 @@ export function AccessCodeTable({
242249 ) : (
243250 < div className = 'seam-fragment' />
244251 ) }
245- { ! disableCreateAccessCode && (
246- < IconButton
247- onClick = { toggleAddAccessCodeForm }
248- className = 'seam-add-button'
249- >
250- < AddIcon />
251- </ IconButton >
252- ) }
252+ { ! disableCreateAccessCode &&
253+ ( ( d ?. properties ?. online_access_codes_enabled as boolean ) ||
254+ ( d ?. can_program_online_access_code as boolean ) ) && (
255+ < IconButton
256+ onClick = { toggleAddAccessCodeForm }
257+ className = 'seam-add-button'
258+ >
259+ < AddIcon />
260+ </ IconButton >
261+ ) }
253262 </ div >
254263 < div className = 'seam-table-header-loading-wrap' >
255264 < LoadingToast
0 commit comments