hummingbird-me/kitsu-web

View on GitHub
app/templates/components/groups/dashboard/leaders/leader-chat.hbs

Summary

Maintainability
Test Coverage
<div class="card">
  <div class="leader-chat--header">
    <h6>{{t "groups.dashboard.leaders.chat.header"}}</h6>
  </div>

  <ul class="leader-chat-wrapper">
    {{#if getChatMessagesTask.isRunning}}
      <div class="text-xs-center m-t-1">
        {{loading-spinner size="large"}}
      </div>
    {{else if messages}}
      {{#infinite-pagination onPagination=(action "onPagination") isTop=true rootMargin=(hash bottom=0 top=200)}}
        {{#each (reject-by "isNew" true messages) as |message|}}
          {{groups/dashboard/leaders/leader-chat-message message=message tagName="li"}}
        {{/each}}
      {{/infinite-pagination}}
    {{else}}
      <div class="text-xs-center m-t-1">
        {{t "errors.contentEmpty"}}
      </div>
    {{/if}}
  </ul>

  <div class="leader-chat--footer">
    {{expanding-textarea messageContent
      update=(action (mut messageContent))
      keyEvents=(hash
        13=(action "onEnter")
      )
      placeholder=(t "groups.dashboard.leaders.chat.placeholder")
      class="leader-input"
      rows="1"
    }}
    <button class="btn btn-primary"
      disabled={{unless canPost "disabled"}}
      onclick={{perform postMessageTask}}>
      {{t "groups.dashboard.leaders.chat.post-btn"}}
    </button>
  </div>
</div>