добавил вызов Расписания тура и Турнирная таблица для vMix

This commit is contained in:
2026-04-21 13:40:11 +03:00
parent c8effe0307
commit d3f4bd1c8d

View File

@@ -143,16 +143,21 @@
href="/admin/session/{{ session[3] }}?tab=referees"
>Судьи</a
>
<a
class="tab-link {% if tab == 'tour_schedule' %}active{% endif %}"
href="/admin/session/{{ session[3] }}?tab=tour_schedule"
>Расписание тура</a
>
<a
class="tab-link {% if tab == 'standings' %}active{% endif %}"
href="/admin/session/{{ session[3] }}?tab=standings"
>Турнирная таблица</a
>
<a
class="tab-link {% if tab == 'tour_schedule' %}active{% endif %}"
href="/admin/session/{{ session[3] }}?tab=tour_schedule"
data-vmix-title="РАСПИСАНИЕ ТУРА"
>
Расписание тура
</a>
<a
class="tab-link {% if tab == 'standings' %}active{% endif %}"
href="/admin/session/{{ session[3] }}?tab=standings"
data-vmix-title="ТУРНИРНАЯ ТАБЛИЦА"
>
Турнирная таблица
</a>
</div>
{% if tab == 'game' %}
@@ -1173,6 +1178,53 @@
}, 15000);
})();
</script>
<script>
(function () {
const matchId = window.MATCH_DATA?.matchId;
const sessionToken = window.MATCH_DATA?.sessionToken;
if (!matchId || !sessionToken) {
return;
}
async function sendVmixTitle(titleText) {
if (!titleText) return;
try {
await fetch("/api/vmix/publish-command", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Accept": "application/json",
"X-Requested-With": "XMLHttpRequest"
},
credentials: "same-origin",
body: JSON.stringify({
match_id: matchId,
session_token: sessionToken,
commands: [
`TITLE_PREVIEW:${titleText}`
],
meta: {
source: "tab_click",
title: titleText
}
})
});
} catch (error) {
console.error("Не удалось отправить команду в vMix:", error);
}
}
document.addEventListener("click", function (event) {
const link = event.target.closest(".tab-link[data-vmix-title]");
if (!link) return;
const titleText = link.dataset.vmixTitle;
sendVmixTitle(titleText);
});
})();
</script>
<script src="/static/script.js"></script>
<div id="matrixLoader" class="matrix-loader" aria-hidden="true">
<canvas id="matrixCanvas" class="matrix-canvas"></canvas>