sudara/alonetone

View on GitHub
app/views/assets/_asset.html.erb

Summary

Maintainability
Test Coverage
<div class="asset_top">
  <div class="asset_top_row">
    <div class="drag_handle"><div class="inner"></div></div>
    <div class="play_button button" data-normal-playback-target="play">
      <%= link_to user_track_path(asset.user.login, asset.permalink, format: :mp3),
        class: 'play_link stitches_play', title: 'play' do %>
          <svg data-normal-playback-target="playButton" class="playIconSymbol" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 600">
          <path d="M187,489.21l-.31-378.41a.77.77,0,0,1,1.15-.67l150.53,86.75L515.71,299.08a.76.76,0,0,1,0,1.31L188.14,489.87A.76.76,0,0,1,187,489.21Z" />
          </svg>
      <% end %>
    </div>

    <div class="title" data-normal-playback-target="title" data-action="click->normal-playback#toggleDetails">
      <div class="title_left_column">
        <div class="title_left_column_top">
          <a href="<%= user_track_path(asset.user, asset.permalink) %>" class="track_link" title="<%= asset.name %>">
            <%= track_name_for(asset,200) %> <span style="font-size:12px;"><%= '&#x1f512;'.html_safe unless asset.published? %></span>
          </a>
        </div>
        <div class="title_left_column_bottom">
          <span class="artist_container">
            <%= link_to asset.user.name, user_home_path(asset.user), class: 'artist', title: "#{asset.user.name} on alonetone " %>
          </span>
        </div>
      </div>

      <div class="title_right_column">
        <div class='counter'></div>
        <time class="stitches_time" data-normal-playback-target="time" data-playlist-update-target="time"><%= asset.length %></time>
      </div>
    </div>

  </div>
  <% if defined? favorite %>
  <div class="asset_favorited" data-action="click->normal-playback#toggleDetails">

    <i class="icon_favorite">
      <%== render file: svg_path('svg/icon_favorite.svg') %>
    </i>

    <span class="favorited_by">
      <%= link_to favorite.user.name, user_home_path(favorite.user), class: 'artist' %>
    </span><span class="favorited_when"><%= local_time_ago(favorite.created_at) %></span>
  </div>
  <% end %>
</div>

<div data-normal-playback-target="seekBarContainer" class="stitches_seek seekbar">
  <div data-normal-playback-target="seekBarLoaded" class="loaded" style="width: 0%">
  </div>
  <div data-normal-playback-target="seekBarPlayed" class="played" style="width: 0%"></div>
</div>

<div class="tracks_reveal" data-normal-playback-target="details">
  <% if logged_in? %>
    <%= button_to toggle_favorite_path(asset_id: asset.id), class: 'add_to_favorites',
      method: :put, data: {
        controller: 'favorite',
        action: 'favorite#toggle',
        'favorite-id-value': asset.id
      } do %>
      <%== render file: svg_path('svg/animation_heart.svg') %>
    <% end %>
  <% end %>
  <div class="tracks_reveal_top">
    <div class='alonetoner'><%= user_image_link(asset.user, variant: :small_avatar) %></div>
    <div class="description">
        <div class='user_description'>
          <%= awesome_truncate(strip_tags(asset.description), 250) %>
        </div>

        <div class="created">Uploaded <%= local_time_ago(asset.created_at) %></div>

        <div class="below_description">

          <%= link_to user_track_path(asset.user, asset.permalink), title: "#{asset.name} by #{asset.user.name}" do %>
            <span>View Track Detail Page&hellip;</span>
            <span class="narrow-column-alt">Track Details&hellip;</span>
          <% end unless @single_track %>


          <div class="plays"><%= asset.listens_count %> <i class="icon_plays">
            <%== render file: svg_path('svg/icon_play_inverted.svg') %>
          </i>
          </div>

          <div class="favorites"><%= asset.favorites_count %>
              <i class="icon_favs">
              <%== render file: svg_path('svg/icon_favorite_inverted.svg') %>
              </i>
          </div>
        </div>
    </div>
  </div>
  <% if can_comment_on?(asset) %>
    <div class="comment_track">
      <%= render partial: 'assets/comment', locals: { asset: asset }%>
    </div>
  <% end %>
  <div class="track_links">
    <%= link_to edit_user_track_path(asset.user, asset), class: 'show_to_admin_or_owner edit_in_box', title: 'edit this track' do %>
      <span>edit</span>
    <% end %>

    <% if !asset.private? %>
      <%= link_to 'mark as spam', spam_admin_asset_path(asset.id), class: 'show_to_admin_or_owner edit_in_box', data: {confirm: 'Are you sure you want to mark this as SPAM? This will make it harder for the user who posted this  to post again'}, method: :put%>
    <% else %>
      <%= link_to 'unspam', unspam_admin_asset_path(asset.id), class: 'show_to_admin_or_owner edit_in_box', data: {confirm: 'This will publish this track!'}, method: :put%>
    <% end %>
  </div>
</div>