hummingbird-me/kitsu-web

View on GitHub
app/templates/components/likeable-resource.hbs

Summary

Maintainability
Test Coverage
{{#if (or getLikes.isRunning getLocalLike.isRunning)}}
  <span class="like-stream-item">
    {{loading-spinner size="small"}}
  </span>
{{else}}
  <a href="#" class="like-stream-item {{if isLiked "is-liked"}}" {{action "toggleLike"}}>
    <span class="heart-wrapper"></span>
  </a>
  {{#if showUsers}}
    {{#if likes}}
      <ul class="stream-item-participants">
        {{#each (take 4 likes) as |liker|}}
          <li class="hint--top hint--bounce hint--rounded stream-like {{if liker.isNew "new-like"}} {{if liker.isDeleted "removed-like"}}" aria-label={{liker.user.name}}>
            <a class="like-avatar" href={{href-to "users.index" liker.user}}>
              {{lazy-image src=(image liker.user.avatar "tiny")}}
            </a>
          </li>
        {{/each}}
        {{#if (gt likesCount 4)}}
          <li class="stream-like-count" {{action "toggleModal"}}>
            <a>{{dec 4 likesCount}}</a>
          </li>
        {{/if}}
      </ul>
    {{/if}}
  {{else}}
    <span class="sm-comment-count" {{action "toggleModal"}}>{{likesCount}}</span>
  {{/if}}
{{/if}}

{{! modal }}
{{#if (and modalOpen (gt likesCount 0))}}
  {{to-elsewhere named="modal" send=(component "likeable-resource/modal"
    likes=likes
    updateLikes=(action (mut likes))
    getLikes=(perform getLikes)
    modalId="likeable-resource-modal"
    onClose=(toggle-action "modalOpen" this)
  )}}
{{/if}}