sudara/alonetone

View on GitHub
app/views/admin/users/_user.html.erb

Summary

Maintainability
Test Coverage
<div data-controller="admin--user" data-admin--user-deleted="<%= user.soft_deleted? %>" data-admin--user-spam="<%= user.is_spam? %>">
  <div class="date_column">
    <%= local_time_ago user.created_at %>
    <div class="deleted_at_date"><%== "Deleted #{local_time_ago user.deleted_at}" if user.deleted_at %></div>
  </div>
  <div class="user_column">
    <div class="avatar">
      <%= user_image(user, variant: :large_avatar) %>
    </div>
    <div>
      <div><%= link_to(user.display_name, admin_possibly_deleted_user_path(user.login)) %></div>
      <div><%= user.email %></div>
      <% unless user.soft_deleted? %>
      <div>
        <% if user.never_activated? %>
          [ unactivated ]
        <% else %>
          <%= user.current_login_ip %>
          <% if User.with_same_ip_as(user).count > 0 %>
            <%= link_to "Spam All #{User.with_same_ip_as(user).count + 1}", mark_all_users_with_ip_as_spam_admin_user_path(user), method: :put %>
          <% end %>
        <% end %>
       </div>
      <% end %>
    </div>
  </div>
  <div class="bio_column">
    <div><%= truncate(user&.profile&.bio, length: 200) %></div>
    <div><%= user&.profile&.website %></div>
    <div><%= link_to "#{user.assets.count} tracks", user_tracks_path(user) if user.assets.count > 0  && !user.soft_deleted? %></div>
  </div>
  <div class="button_column">
    <%= button_to "Unspam User", unspam_admin_user_path(user), method: :put, data: { 'admin--user-target': 'unspamButton', action: 'click->admin--user#hideUnspamButton' } %>
    <%= button_to "Spam User", spam_admin_user_path(user), method: :put, data: { 'admin--user-target': 'spamButton', action: 'click->admin--user#hideSpamAndShowRestoreButton' } %>
    <%= button_to "Delete User", delete_admin_user_path(user), method: :put, data: { 'admin--user-target': 'deleteButton', action: 'admin--user#showRestoreButton' } %></td>
    <%= button_to "Restore User", restore_admin_user_path(user), method: :put, data: { 'admin--user-target': 'restoreButton', action: 'click->admin--user#showDeleteAndSpamButton' } %></td>
  </div>
</div>