conststatus=sensorStatus(item,enabled&&fresh);constlabel=busy?'Подготовка или команда выполняется':status.label;
return<likey={item.id}><ResourceRowicon={<Iconname={sensorContribution(contributions,item)?.icon??'camera'}/>}title={item.name}description={item.model}metadata={<span>{item.connection_label||`USB ${item.usb}`}</span>}statusPlacement={configured?'leading':'trailing'}aria-busy={busy}progress={busy?{label,value:prep?.state==='running'?prep.steps.filter(s=>s.state==='complete').length/(prep.steps.length+1):prep?.state==='complete'?5/6:undefined,valueText:prep?.steps.find(s=>s.state==='running')?.label??'Проверка кадров камеры'}:undefined}status={<StatusBadgevariant={configured&&item.online?'indicator':'badge'}tone={status.tone}aria-label={label}title={label}>{configured&&item.online?null:label}</StatusBadge>}actions={<>{!configured&&sensorContribution(contributions,item)?.supportsPreparation!==false&&<IconButtonlabel={`Подготовить и проверить: ${item.name}`}disabled={!enabled||!fresh||busy||!item.online||item.snapshot.acquisition==='streaming'||item.snapshot.acquisition==='stopping'}onClick={()=>voidaction(item,'prepare')}><Iconname="download"/></IconButton>}<IconButtonlabel={`Настройки: ${item.name}`}disabled={!enabled||!fresh||busy}onClick={()=>{setEditing(item);setName(item.name);}}><Iconname="settings"/></IconButton><IconButtonlabel={`Просмотр: ${item.name}`}disabled={!item.prepared||busy}onClick={()=>setSelected(item.id)}><Iconname="eye"/></IconButton></>}/></li>;})}</ResourceList>}
conststatus=(sensorContribution(contributions,item)?.status??sensorStatus)(item,enabled&&fresh);constlabel=busy?'Подготовка или команда выполняется':status.label;
return<likey={item.id}><ResourceRowicon={<Iconname={sensorContribution(contributions,item)?.icon??'camera'}/>}title={item.name}description={item.model}metadata={<span>{item.connection_label||`USB ${item.usb}`}</span>}statusPlacement={configured?'leading':'trailing'}aria-busy={busy}progress={busy?{label,value:prep?.state==='running'?prep.steps.filter(s=>s.state==='complete').length/(prep.steps.length+1):prep?.state==='complete'?5/6:undefined,valueText:prep?.steps.find(s=>s.state==='running')?.label??'Проверка кадров камеры'}:undefined}status={<StatusBadgevariant={configured&&item.online?'indicator':'badge'}tone={status.tone}aria-label={label}title={label}>{configured&&item.online?null:label}</StatusBadge>}actions={<>{!configured&&sensorContribution(contributions,item)?.supportsPreparation!==false&&<IconButtonlabel={`Подготовить и проверить: ${item.name}`}disabled={!enabled||!fresh||busy||!item.online||item.snapshot.acquisition==='streaming'||item.snapshot.acquisition==='stopping'}onClick={()=>voidaction(item,'prepare')}><Iconname="download"/></IconButton>}{sensorContribution(contributions,item)?.supportsRenaming!==false&&<IconButtonlabel={`Настройки: ${item.name}`}disabled={!enabled||!fresh||busy}onClick={()=>{setEditing(item);setName(item.name);}}><Iconname="settings"/></IconButton>}<IconButtonlabel={`Просмотр: ${item.name}`}disabled={!item.prepared||busy}onClick={()=>setSelected(item.id)}><Iconname="eye"/></IconButton></>}/></li>;})}</ResourceList>}
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.