Blocca la seconda diretta sullo stesso utente, registra gli abusi in admin e presenta la copertina come grafica caricata dalla società, con demo Team MLTV. Co-authored-by: Cursor <cursoragent@cursor.com>
68 lines
2.9 KiB
ERB
68 lines
2.9 KiB
ERB
<% if violations.any? %>
|
|
<div class="admin-table-wrap">
|
|
<table class="admin-table">
|
|
<thead>
|
|
<tr>
|
|
<th><%= t("admin.stream_concurrency.table.when") %></th>
|
|
<th><%= t("admin.stream_concurrency.table.account") %></th>
|
|
<th><%= t("admin.stream_concurrency.table.club") %></th>
|
|
<th><%= t("admin.stream_concurrency.table.occupying") %></th>
|
|
<th><%= t("admin.stream_concurrency.table.attempted") %></th>
|
|
<th></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<% violations.each do |row| %>
|
|
<tr class="<%= 'admin-row--two-devices' if row.devices_differ? %>">
|
|
<td class="muted"><%= admin_datetime(row.created_at, with_seconds: true) %></td>
|
|
<td>
|
|
<strong><%= row.user_name.presence || t("admin.common.dash") %></strong>
|
|
<div class="muted" style="font-size:0.85rem"><%= row.user_email %></div>
|
|
</td>
|
|
<td>
|
|
<% if row.attempted_club %>
|
|
<%= link_to row.club_name, admin_club_path(row.attempted_club) %>
|
|
<% elsif row.occupying_club %>
|
|
<%= link_to row.club_name, admin_club_path(row.occupying_club) %>
|
|
<% else %>
|
|
<%= row.club_name.presence || t("admin.common.dash") %>
|
|
<% end %>
|
|
</td>
|
|
<td>
|
|
<% if row.occupying_session %>
|
|
<%= link_to row.occupying_match_label, admin_session_path(row.occupying_session) %>
|
|
<% else %>
|
|
<%= row.occupying_match_label %>
|
|
<% end %>
|
|
<div class="muted" style="font-size:0.85rem;margin-top:0.2rem">
|
|
<span class="badge <%= admin_session_status_badge_class(row.occupying_status) %>"><%= row.occupying_status %></span>
|
|
<%= row.occupying_device.presence || t("admin.common.dash") %>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<% if row.attempted_session %>
|
|
<%= link_to row.attempted_match_label, admin_session_path(row.attempted_session) %>
|
|
<% else %>
|
|
<%= row.attempted_match_label %>
|
|
<% end %>
|
|
<div class="muted" style="font-size:0.85rem;margin-top:0.2rem">
|
|
<%= t("admin.stream_concurrency.action.#{row.attempt_action}") %>
|
|
· <%= row.attempted_device.presence || t("admin.common.dash") %>
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<% if row.devices_differ? %>
|
|
<span class="badge badge--abuse"><%= t("admin.stream_concurrency.badge.two_devices") %></span>
|
|
<% else %>
|
|
<span class="muted"><%= t("admin.stream_concurrency.badge.same_or_unknown") %></span>
|
|
<% end %>
|
|
</td>
|
|
</tr>
|
|
<% end %>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<% else %>
|
|
<p class="empty"><%= t(empty_key) %></p>
|
|
<% end %>
|