hummingbird-me/kitsu-web

View on GitHub
app/templates/components/media/media-information.hbs

Summary

Maintainability
Test Coverage
<h5>{{t "media.show.summary.information.header" type=media.modelType}}</h5>
<ul>
  {{! Titles }}
  {{#each media.titlesSorted as |title|}}
    {{#if title}}
      <li>
        <strong>{{t (concat "media.show.summary.titles." title.code)}}</strong>
        <span>{{title.value}}</span>
      </li>
    {{/if}}
  {{/each}}

  {{#if media.abbreviatedTitles}}
    <li>
      <strong>{{t "media.show.summary.titles.synonyms"}}</strong>
      <span>{{join ", " media.abbreviatedTitles}}</span>
    </li>
  {{/if}}

  {{! Type }}
  {{#if media.subtype}}
    <li>
      <strong>{{t "media.show.summary.information.type"}}</strong>
      <span>{{t (concat "media-shared.types." media.modelType "." (to-lower media.subtype))}}</span>
    </li>
  {{/if}}

  {{! Volumes }}
  {{#if (and isManga media.volumeCount)}}
    <li>
      <strong>{{t "media.show.summary.information.volumes"}}</strong>
      <span>{{media.volumeCount}}</span>
    </li>
  {{/if}}

  {{! Episodes / Chapters }}
  {{#if media.unitCount}}
    <li>
      <strong>{{t "media.show.summary.information.unit" type=media.modelType}}</strong>
      <span>{{media.unitCount}}</span>
    </li>
  {{/if}}

  {{! Status }}
  <li>
    <strong>{{t "media.show.summary.information.status"}}</strong>
    <span>{{t (concat "media-shared.statuses." media.modelType "." media.status)}}</span>
  </li>

  {{! Airing / Status }}
  {{#if media.tba}}
    <li>
      <strong>{{t "media.show.summary.information.tba"}}</strong>
      <span>{{media.tba}}</span>
    </li>
  {{else if media.startDate}}
    <li>
      <strong>{{t "media.show.summary.information.start" type=media.modelType}}</strong>
      <span>{{moment-format media.startDate "MMM D, YYYY" timeZone="UTC"}}
      {{#if (and media.endDate airedLongerThanOneDay)}}
        to {{moment-format media.endDate "MMM D, YYYY" timeZone="UTC"}}
      {{/if}}</span>
    </li>
    {{#if isAnime}}
      <li>
        <strong>{{t "media.show.summary.information.season"}}</strong>
        <a href={{href-to (concat media.modelType ".index") (query-params
          season=season
          year=(concat seasonYear ".." seasonYear)
        )}}>
          {{capitalize season}} {{seasonYear}}
        </a>
      </li>
    {{/if}}
  {{/if}}

  {{#if isExpanded}}
    {{! Age Rating }}
    {{#if media.ageRating}}
      <li>
        <strong>{{t "media.show.summary.information.rating"}}</strong>
        <span>{{media.ageRating}}
        {{#if media.ageRatingGuide}}
          - {{media.ageRatingGuide}}
        {{/if}}</span>
      </li>
    {{/if}}

    {{! Productions}}
    {{#if (and isAnime media.animeProductions)}}
      {{#if producers}}
        <li>
          <strong>{{t "media.show.summary.information.producers"}}</strong>
          <span>{{producers}}</span>
        </li>
      {{/if}}
      {{#if licensors}}
        <li>
          <strong>{{t "media.show.summary.information.licensors"}}</strong>
          <span>{{licensors}}</span>
        </li>
      {{/if}}
      {{#if studios}}
        <li>
          <strong>{{t "media.show.summary.information.studios"}}</strong>
          <span>{{studios}}</span>
        </li>
      {{/if}}
    {{/if}}

    {{! Serialization }}
    {{#if (and isManga media.serialization)}}
      <li>
        <strong>{{t "media.show.summary.information.serialization"}}</strong>
        <span>{{media.serialization}}</span>
      </li>
    {{/if}}

    {{! Duration }}
    {{#if (and isAnime media.episodeLength)}}
      <li>
        <strong>{{t "media.show.summary.information.duration"}}</strong>
        <span>{{#if (and media.unitCount media.episodeLength (gt media.unitCount 1))}}
          {{t "media.show.summary.information.total" total=totalTime}}
          ({{t "media.show.summary.information.length" count=media.unitCount length=media.episodeLength}})
        {{else}}
          {{t "media.show.summary.information.length" count=media.unitCount length=media.episodeLength}}
        {{/if}}</span>
      </li>
    {{/if}}
  {{/if}}

  <a class="more-link" href="#" {{action (toggle "isExpanded" this)}}>
    {{t (concat "media.show.summary.information.expand." isExpanded)}}
  </a>
</ul>