diff --git a/scripts/online-smoke.cjs b/scripts/online-smoke.cjs index dd92c5d..19866aa 100644 --- a/scripts/online-smoke.cjs +++ b/scripts/online-smoke.cjs @@ -443,6 +443,17 @@ module.exports = async function onlineSmoke({ async () => (await evaluate('window.screenBridge.onlineState()')).connection === 'connected', 'HTTP baseline', ) + assert.equal( + await evaluate(`(() => { + const assignment = document.querySelector('[data-testid="sound-assignment"]') + const card = assignment?.closest('.n-card') + return card?.querySelector('.n-card-header__main')?.textContent.trim() === 'Игра' + && ['Назначить звук этому экрану', 'Отключить управление'].every(label => + !Array.from(document.querySelectorAll('.n-card')).find(c => c.querySelector('.n-card-header__main')?.textContent.trim() === 'Экран')?.textContent.includes(label)) + })()`), + true, + 'server screen controls belong to game card', + ) await poll( () => evaluate( diff --git a/src/components/ConnectionPanel.vue b/src/components/ConnectionPanel.vue index 65ccbc0..88b0669 100644 --- a/src/components/ConnectionPanel.vue +++ b/src/components/ConnectionPanel.vue @@ -13,6 +13,7 @@ import { useMessage, } from 'naive-ui' import { computed, ref, watch } from 'vue' +import ScreenConnectionPanel from './ScreenConnectionPanel.vue' import { DEFAULT_SERVER, type GameMaterial, @@ -262,6 +263,7 @@ const gameOptions = computed(() => { >Подключиться +

Материалы: {{ state.preparation.completed }}/{{ state.preparation.total }} · {{ (state.preparation.downloadedBytes / 1048576).toFixed(1) }} МиБ @@ -287,7 +289,6 @@ const gameOptions = computed(() => { name="materials" >

- Открыть папку

В игре нет материалов.

{ Материал Статус - - Загрузка - - {{ group.name }} + {{ group.name }} { { stroke-width="2" aria-hidden="true" > - - + - - {
+ Открыть папку Закрыть показ -