add commands

This commit is contained in:
2026-09-10 12:19:55 +07:00
parent 07a308e929
commit 7256a76935
46 changed files with 91 additions and 48 deletions
+18
View File
@@ -14,6 +14,7 @@ import type {
Game,
MapItem,
Question,
ScreenCommand,
ScreenMode,
ScreenState,
Team,
@@ -214,6 +215,14 @@ async function setScreenMode(mode: ScreenMode) {
if (res.error != '') message.error(res.error || 'Не удалось изменить режим экранов')
}
async function sendScreenCommand(command: ScreenCommand) {
if (command === 'SCREEN_COMMAND_PLAY' || command === 'SCREEN_COMMAND_REPLAY') {
if (!window.confirm('Запустить медиа на всех экранах?')) return
}
const res = await client.SendScreenCommand({ gameId: Number(gameId), command, positionMs: 0, volume: 25 })
if (res.error != '') message.error(res.error || 'Не удалось выполнить команду экранов')
}
async function toTeamStory(id: number, password: string, newTab: boolean = false) {
const uri = '/team-story/' + id + '?password=' + password
if (newTab) {
@@ -620,9 +629,18 @@ useSimplePolling(() => {
</div>
<n-space class="screen-mode-controls">
<n-button size="small" @click="setScreenMode('SCREEN_MODE_COVER')">Обложка</n-button>
<n-button size="small" @click="setScreenMode('SCREEN_MODE_INTRO')">Введение</n-button>
<n-button size="small" @click="setScreenMode('SCREEN_MODE_INTRO_DONE')">Успехов</n-button>
<n-button size="small" @click="setScreenMode('SCREEN_MODE_CONCLUSION')">Закрывашка</n-button>
<n-button size="small" @click="setScreenMode('SCREEN_MODE_CONCLUSION_DONE')">Спасибо за игру!</n-button>
</n-space>
<n-space class="screen-mode-controls">
<n-button size="small" @click="sendScreenCommand('SCREEN_COMMAND_PLAY')">Запуск</n-button>
<n-button size="small" @click="sendScreenCommand('SCREEN_COMMAND_PAUSE')">Пауза</n-button>
<n-button size="small" @click="sendScreenCommand('SCREEN_COMMAND_RESUME')">Продолжить</n-button>
<n-button size="small" @click="sendScreenCommand('SCREEN_COMMAND_STOP')">Стоп</n-button>
<n-button size="small" @click="sendScreenCommand('SCREEN_COMMAND_REPLAY')">Повтор</n-button>
</n-space>
</div>
<div class="map-block">