fix(node): use compact guideline copy and plain setup checkmarks
This commit is contained in:
@@ -11,7 +11,7 @@ import sys
|
||||
from build_deb import build, VERSION, BRAND_SHA256
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
DG_COMMIT = "be6463fd596ae2a1a96409d2cee84edc90e7167f"
|
||||
DG_COMMIT = "3adeb33b1b300bf7add342a5c3a863fda15dc8a6"
|
||||
|
||||
|
||||
def guideline_sources():
|
||||
|
||||
@@ -13,7 +13,7 @@ import tarfile
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
VERSION = "0.6.8"
|
||||
VERSION = "0.6.9"
|
||||
BRAND_SHA256 = "8bfee8ca9f98e0db48d98aae3af4b32493b8593e18b064a0239d513d824182af"
|
||||
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ export function EnvironmentView({environment,failure,success}: {environment:Retu
|
||||
<ResourceList aria-label="Этапы настройки окружения">{value.profile.steps.map(specification=>{
|
||||
const step=value.run?.steps.find(item=>item.id===specification.id);
|
||||
const state=step?.state??"pending";
|
||||
return <li key={specification.id}><ResourceRow icon={state==="running"?<ActivityIndicator size="compact" />:<Icon name={state==="error"?"alert":"circle"} />} title={specification.label} description={specification.description} metadata={step?.detail} status={<StatusBadge tone={state==="complete"?"success":state==="error"?"warning":"neutral"}>{state==="complete"?<Icon name="check" label="Этап завершён" />:labels[state]??"Неизвестно"}</StatusBadge>} /></li>;
|
||||
return <li key={specification.id}><ResourceRow icon={state==="running"?<ActivityIndicator size="compact" />:<Icon name={state==="error"?"alert":"circle"} />} title={specification.label} description={specification.description} metadata={step?.detail} status={state==="complete"?<Icon name="check" label="Этап завершён" />:<StatusBadge tone={state==="error"?"warning":"neutral"}>{labels[state]??"Неизвестно"}</StatusBadge>} /></li>;
|
||||
})}</ResourceList>
|
||||
{value.run&&!running&&value.run.updated_at>0&&<p className="node-note">Результат проверки от {new Date(value.run.updated_at*1000).toLocaleString("ru-RU")}.</p>}
|
||||
{complete&&!running&&<p className="node-note">Системные этапы завершены. Ниже проверьте вход в Tailscale и доверенный ключ для SSH.</p>}
|
||||
|
||||
@@ -183,3 +183,24 @@ START с предыдущим сеансом отвергаются. Втора
|
||||
отмечает недоступность БК и запрещает аппаратные команды до свежего подтверждения.
|
||||
Физические unplug/replug и смена USB-порта требуют отдельной аппаратной приёмки;
|
||||
автоматическое пересоздание sandbox IIO при смене путей пока не подтверждено.
|
||||
|
||||
|
||||
## Приёмка 0.6.8 и типографика 0.6.9
|
||||
|
||||
На подготовленном Mini 0.6.8 через Node UI проверены: отсутствие download после
|
||||
перезапуска, единственная лампочка, повторная подготовка из настроек с успешной
|
||||
SDK-проверкой, имя Node → Core → Node, исходная запись шести потоков и STOP.
|
||||
Короткая запись завершена: 596246528 байт, SQLite quick_check=ok, 12999 сообщений;
|
||||
SHA-256 2b7d213d2126edbb7e031c17634e2750956bbf7d4205549bbe1d8b155d9c4108.
|
||||
Во время финализации UI продолжал отвечать. Реальные кадры остались на БК.
|
||||
|
||||
Владелец физически отключил USB: в списках обоих интерфейсов строка исчезла,
|
||||
в уже открытом просмотре появилось сообщение об отключении, START недоступен.
|
||||
Время реакции от физического события инструментально не измерялось.
|
||||
Повторное подключение и захват без подготовки ещё ожидают аппаратной проверки.
|
||||
|
||||
Уточнение UI 06.09.2026: SettingsCard и пустые списки используют компактные
|
||||
заголовки md (13 px), описания sm (12 px). Правило закреплено в Design Guideline
|
||||
`docs/OPERATIONAL_TYPOGRAPHY.md` и registry; локального увеличения заголовков нет.
|
||||
Завершённый этап настройки окружения показывает только Icon check, без плашки
|
||||
StatusBadge. Убрано дублирование сообщения об отключении в просмотре камеры.
|
||||
|
||||
@@ -14,7 +14,7 @@ export function SensorDetail({device,transport,back,refresh,failure,enabled=true
|
||||
const currentOption=detail?.options?.find(v=>v.id===option);const active=device.snapshot.acquisition==='streaming'||device.snapshot.acquisition==='starting'||device.snapshot.acquisition==='stopping';
|
||||
return <div className="sensor-content"><div><Button onClick={back}>К устройствам</Button></div>
|
||||
<SettingsCard title={device.name} description={`${device.model} · USB ${device.usb}${device.firmware?' · '+device.firmware:''}`}>
|
||||
{!device.online&&<p>Камера отключена от БК.</p>}
|
||||
{!device.online&&!device.snapshot.message&&<p>Камера отключена от БК.</p>}
|
||||
{device.snapshot.message&&<p>{device.snapshot.message}</p>}
|
||||
<div className="sensor-actions"><Button disabled={!enabled||pending||!detail||active||!device.online} onClick={()=>void act('start',{profiles:Object.values(selected).filter(Boolean),record:false})}>Начать просмотр</Button><Button disabled={!enabled||pending||!detail||active||!device.online} onClick={()=>void act('start',{profiles:Object.values(selected).filter(Boolean),record:true})}>Начать запись</Button><Button disabled={!enabled||pending||(!active&&device.snapshot.acquisition!=='failed')} onClick={()=>void act('stop')}>{device.playback_id?'Закрыть запись':'Остановить захват'}</Button>{pending&&<ActivityIndicator label="Выполняем команду камеры"/>}</div>
|
||||
{device.playback_id&&<p>Просмотр исходной записи · повтор. Камера для него не запускается.</p>}
|
||||
|
||||
Reference in New Issue
Block a user