{
  "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": []
}
