обновление для подгрузки конфигов для веб-интерфейса

This commit is contained in:
2026-08-19 16:25:19 +03:00
parent ed9889439a
commit bddc0967b3
9 changed files with 4095 additions and 3 deletions

296
settings/ui_builder.json Normal file
View File

@@ -0,0 +1,296 @@
{
"version": 24,
"project_name": "Хоккей — назначения удалений",
"data_source": "hockey_stat2tv",
"canvas": {
"width": 1440,
"height": 760,
"grid_size": 10,
"snap_enabled": true,
"snap_threshold": 8,
"show_grid": true,
"auto_bind_containers": true,
"background": "#060d17"
},
"tabs": [
{
"id": "main",
"label": "Игра"
},
{
"id": "shootout",
"label": "Буллиты"
},
{
"id": "referees",
"label": "Судьи"
},
{
"id": "statistics",
"label": "Статистика"
},
{
"id": "schedule",
"label": "Расписание"
},
{
"id": "standings",
"label": "Турнирная таблица"
}
],
"components": [
{
"id": "hockey-dashboard-game-timer",
"type": "timer",
"title": "Время периода",
"x": 520,
"y": 28,
"w": 400,
"h": 82,
"z": 1,
"tabs": [
"main"
],
"props": {
"label": "Время периода",
"mode": "count_down",
"startTime": "20:00",
"endTime": "00:00",
"targetDateTime": "",
"externalPath": "",
"format": "mm_ss",
"customFormat": "{totalMinutes}:{seconds}",
"footballBaseMinute": 45,
"afterEnd": "stop",
"autoStart": false,
"showStatus": true,
"persist": false,
"continueBackground": false,
"runtimeHidden": true,
"updateInterval": 100,
"milestones": "10:00|05:00|01:00|00:10|00:00"
},
"style": {
"background": "#101d31",
"color": "#fff",
"accent": "#48dfbd",
"borderColor": "#2e4663",
"borderWidth": 1,
"borderRadius": 16,
"padding": 12,
"fontSize": 17,
"fontWeight": 900,
"align": "center",
"opacity": 100,
"shadow": true
},
"locked": false,
"hidden": false,
"parent_id": null,
"action_id": "hockey_game_timer",
"interaction_mode": "event_only",
"initial_state": false,
"shortcuts": [
{
"id": "hockey-dashboard-space",
"enabled": true,
"combo": "Space",
"event": "timer_toggle",
"item_id": "",
"value": "",
"prevent_default": true,
"allow_in_inputs": false,
"global": false,
"scope": "runtime"
},
{
"id": "hockey-dashboard-reset",
"enabled": true,
"combo": "Ctrl+R",
"event": "timer_reset",
"item_id": "",
"value": "",
"prevent_default": true,
"allow_in_inputs": false,
"global": false,
"scope": "runtime"
}
]
},
{
"id": "hockey-penalty-dashboard",
"type": "hockey_penalty_dashboard",
"title": "Дашборд удалений",
"x": 10,
"y": 10,
"w": 1420,
"h": 740,
"z": 2,
"tabs": [
"main"
],
"props": {
"homePlayersPath": "hockey.home.players",
"awayPlayersPath": "hockey.away.players",
"homeTeamPath": "hockey.home.name",
"awayTeamPath": "hockey.away.name",
"idField": "id",
"numberField": "number",
"nameField": "name",
"positionField": "position",
"presets": "2=02:00|2+2=04:00|4=04:00|5=05:00|5+20=05:00|10=10:00",
"defaultPreset": "2",
"maxActivePerTeam": 8,
"rosterLimit": 40,
"historyLimit": 16,
"autoStartOnAssign": false,
"showSearch": true,
"persist": false,
"homeColor": "#4d9cff",
"awayColor": "#ff5f79",
"warningAt": "00:15",
"emptyText": "Перетащите игрока сюда",
"infractions": "TRIP=Подножка=2|HOOK=Задержка клюшкой=2|HOLD=Задержка соперника=2|INTERF=Атака игрока, не владеющего шайбой=2|ROUGH=Грубость=2|SLASH=Удар клюшкой=2|HIGH=Игра высоко поднятой клюшкой=2+2|BOARD=Толчок на борт=2|CHARGE=Неправильная атака=2|ELBOW=Удар локтем=2|TOO_MANY=Нарушение численного состава=2|DELAY=Задержка игры=2|UNSPORT=Неспортивное поведение=10|FIGHT=Драка=5+20",
"gameTimerActionId": "hockey_game_timer"
},
"style": {
"background": "#091321",
"color": "#eef4ff",
"accent": "#48dfbd",
"borderColor": "#263b55",
"borderWidth": 1,
"borderRadius": 20,
"padding": 0,
"fontSize": 14,
"fontWeight": 700,
"align": "center",
"opacity": 100,
"shadow": true
},
"locked": false,
"hidden": false,
"parent_id": null,
"action_id": "hockey_penalty_dashboard",
"interaction_mode": "event_only",
"initial_state": false,
"shortcuts": []
},
{
"id": "hockey-shootout-control",
"type": "hockey_shootout_control",
"title": "Буллиты",
"x": 0,
"y": 0,
"w": 1440,
"h": 760,
"tabs": [
"shootout"
],
"parent_id": null,
"hidden": false,
"locked": false,
"z_index": 0,
"action_id": "hockey_shootout_control",
"interaction_mode": "event_only",
"shortcuts": [],
"props": {
"gamePath": "hockey.selected_game",
"tournamentPath": "hockey.selected_tournament",
"homeColor": "#4d9cff",
"awayColor": "#ff5f79"
},
"style": {
"background": "#091321",
"color": "#eef4ff",
"accent": "#48dfbd",
"borderColor": "#263b55",
"borderWidth": 1,
"borderRadius": 20,
"padding": 0,
"fontSize": 14,
"fontWeight": 700,
"shadow": true
}
},
{
"id": "hockey-referees",
"type": "hockey_referees",
"title": "Судьи",
"x": 0,
"y": 0,
"w": 1440,
"h": 760,
"z": 2,
"tabs": [
"referees"
],
"props": {
"refereesPath": "hockey.referees",
"homeTeamPath": "hockey.home.name",
"awayTeamPath": "hockey.away.name"
},
"style": {
"background": "#091321",
"color": "#eef4ff",
"accent": "#48dfbd",
"borderColor": "#263b55",
"borderWidth": 1,
"borderRadius": 20,
"padding": 0,
"fontSize": 14,
"fontWeight": 700,
"align": "center",
"opacity": 100,
"shadow": true
},
"locked": false,
"hidden": false,
"parent_id": null,
"action_id": "hockey_referees",
"interaction_mode": "event_only",
"initial_state": false,
"shortcuts": []
},
{
"id": "hockey-schedule",
"type": "hockey_schedule",
"title": "Расписание",
"x": 0,
"y": 0,
"w": 1440,
"h": 760,
"z": 2,
"tabs": [
"schedule"
],
"props": {
"schedulePath": "hockey.schedule",
"tournamentPath": "hockey.selected_tournament",
"selectedGamePath": "hockey.selected_game.external_id",
"homeColor": "#4d9cff",
"awayColor": "#ff5f79"
},
"style": {
"background": "#091321",
"color": "#eef4ff",
"accent": "#48dfbd",
"borderColor": "#263b55",
"borderWidth": 1,
"borderRadius": 20,
"padding": 0,
"fontSize": 14,
"fontWeight": 700,
"align": "center",
"opacity": 100,
"shadow": true
},
"locked": false,
"hidden": false,
"parent_id": null,
"interaction_mode": "event_only",
"initial_state": true,
"shortcuts": []
}
],
"triggers": []
}