<% content_for :body_class, "admin-body" %> <% team = @session.match.team %> <% club = @club || team.club %>

<%= link_to t("admin.sessions.show.back"), admin_sessions_path %>

<%= t("admin.sessions.show.heading") %>

<%= team.name %> vs <%= @session.match.opponent_name %>

<% if club %>

<%= t("admin.sessions.show.club_label") %> <%= link_to club.name, admin_club_path(club) %>

<% end %>
<%= @session.status %> <% unless @session.terminal? %> <%= button_to t("admin.sessions.show.stop_button"), stop_admin_session_path(@session), method: :post, class: "admin-btn admin-btn--danger admin-btn--sm", form: { data: { turbo_confirm: t("admin.sessions.show.stop_confirm") } } %> <% end %>

<%= t("admin.sessions.show.summary_title") %>

<%= t("admin.sessions.show.fields.id") %>
<%= @session.id %>
<%= t("admin.sessions.show.fields.club") %>
<%= club&.name || t("admin.common.dash") %>
<%= t("admin.sessions.show.fields.team") %>
<%= team.name %>
<%= t("admin.sessions.show.fields.opponent") %>
<%= @session.match.opponent_name %>
<%= t("admin.sessions.show.fields.operator") %>
<% if @session.user %> <%= @session.user.name.presence || @session.user.email %> (<%= @session.user.email %>) <% else %> <%= t("admin.common.dash") %> <% end %>
<%= t("admin.sessions.show.fields.platform") %>
<%= @session.platform %>
<%= t("admin.sessions.show.fields.client_os") %>
<%= admin_session_client_os_label(@session) %>
<%= t("admin.sessions.show.fields.app_version") %>
<% if @session.app_version.present? %> <%= @session.app_version %> <% if @session.app_build.present? %> (<%= @session.app_build %>) <% end %> <% else %> <%= t("admin.common.dash") %> <% end %>
<%= t("admin.sessions.show.fields.device") %>
<% device = [@session.device_manufacturer, @session.device_model].compact_blank.join(" ") %> <%= device.presence || t("admin.common.dash") %>
<%= t("admin.sessions.show.fields.os_version") %>
<%= @session.os_version.presence || t("admin.common.dash") %>
<%= t("admin.sessions.show.fields.carrier") %>
<%= @session.carrier.presence || t("admin.common.dash") %>
<%= t("admin.sessions.show.fields.privacy") %>
<%= @session.privacy_status %>
<%= t("admin.sessions.show.fields.quality") %>
<%= @session.quality_preset %>
<%= t("admin.sessions.show.fields.min_quality") %>
<%= @session.min_quality_preset %>
<%= t("admin.sessions.show.fields.audio") %>
<%= @session.audio_muted? ? t("admin.sessions.show.audio_muted") : t("admin.sessions.show.audio_on") %>

<%= t("admin.sessions.show.timing_title") %>

<%= t("admin.sessions.show.fields.created") %>
<%= admin_datetime(@session.created_at, with_seconds: true) %>
<%= t("admin.sessions.show.fields.started") %>
<%= admin_datetime(@session.started_at, with_seconds: true) %>
<%= t("admin.sessions.show.fields.ended") %>
<%= admin_datetime(@session.ended_at, with_seconds: true) %>
<%= t("admin.sessions.show.fields.duration") %>
<%= admin_session_duration_label(@session) %>
<%= t("admin.sessions.show.fields.disconnects") %>
<%= @session.disconnection_count %>
<% if @session.match.scheduled_at %>
<%= t("admin.sessions.show.fields.scheduled") %>
<%= admin_datetime(@session.match.scheduled_at) %>
<% end %> <% if @session.match.location.present? %>
<%= t("admin.sessions.show.fields.location") %>
<%= @session.match.location %>
<% end %>

<%= t("admin.sessions.show.ingest_title") %>

<%= t("admin.sessions.show.fields.node") %>
<% if @session.stream_node %> <%= @session.stream_node.slug %> <%= admin_session_ingest_role_label(@session.stream_node) %> (<%= @session.stream_node.provider %>) <% else %> <%= t("admin.sessions.ingest.none") %> <% end %>
<%= t("admin.sessions.show.fields.rtmp") %>
<%= @session.rtmp_ingest_url %>
<%= t("admin.sessions.show.fields.hls") %>
<%= @session.hls_playback_url %>
<% if @session.youtube_broadcast_id.present? %>
<%= t("admin.sessions.show.youtube_studio") %>
<%= t("admin.sessions.show.broadcast") %> (<%= @session.youtube_broadcast_id %>)
<% end %> <% if @session.recording %>
<%= t("admin.sessions.show.fields.recording") %>
<%= @session.recording.status %> <% if club %> <%= link_to t("admin.sessions.show.open_replays"), admin_club_recordings_path(club) %> <% end %>
<% end %>
<%= render "admin/sessions/links", session: @session %> <% if @session.device_states.any? %>

<%= t("admin.sessions.show.devices_title") %>

<% @session.device_states.order(:device_role).each do |device| %> <% end %>
<%= t("admin.sessions.show.devices.role") %> <%= t("admin.sessions.show.devices.network") %> <%= t("admin.sessions.show.devices.battery") %> <%= t("admin.sessions.show.devices.bitrate") %> <%= t("admin.sessions.show.devices.fps") %> <%= t("admin.sessions.show.devices.last_seen") %>
<%= device.device_role %> <%= device.network_type.presence || t("admin.common.dash") %> <%= device.battery_level.nil? ? t("admin.common.dash") : "#{device.battery_level}%" %> <% if device.current_bitrate || device.target_bitrate %> <%= device.current_bitrate || t("admin.common.dash") %> / <%= device.target_bitrate || t("admin.common.dash") %> <% else %> <%= t("admin.common.dash") %> <% end %> <%= device.fps || t("admin.common.dash") %> <%= admin_datetime(device.last_seen_at, with_seconds: true) %>
<% end %>

<%= t("admin.sessions.show.events_title") %>

<% if @events.any? %>
<% @events.each do |e| %> <% end %>
<%= t("admin.sessions.show.table.type") %> <%= t("admin.sessions.show.table.when") %> <%= t("admin.sessions.show.table.meta") %>
<%= e.event_type %> <%= admin_datetime(e.occurred_at, with_seconds: true) %> <%= admin_format_event_meta(e.metadata) %>
<% else %>

<%= t("admin.sessions.show.events_none") %>

<% end %>