<template>
  <el-card>
    <div class="header-container">
      <div>
        <h3 class="report-title">{{ $t('reports.reportsOn') }} {{ group.account.display_name }}</h3>
      </div>
      <div>
        <el-dropdown trigger="click">
          <el-button plain size="small" icon="el-icon-edit">{{ $t('reports.changeAllReports') }}<i class="el-icon-arrow-down el-icon--right"/></el-button>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item @click.native="changeAllReports('resolved', group.reports)">{{ $t('reports.resolveAll') }}</el-dropdown-item>
            <el-dropdown-item @click.native="changeAllReports('open', group.reports)">{{ $t('reports.reopenAll') }}</el-dropdown-item>
            <el-dropdown-item @click.native="changeAllReports('closed', group.reports)">{{ $t('reports.closeAll') }}</el-dropdown-item>
          </el-dropdown-menu>
        </el-dropdown>
        <moderate-user-dropdown :account="group.account"/>
      </div>
    </div>
    <div>
      <div class="line"/>
      <span class="report-row-key">{{ $t('reports.account') }}:</span>
      <img
        :src="group.account.avatar"
        alt="avatar"
        class="avatar-img">
      <a :href="group.account.url" target="_blank">
        <span>{{ group.account.acct }}</span>
      </a>
    </div>
    <div>
      <div class="line"/>
      <span class="report-row-key">{{ $t('reports.actors') }}:</span>
      <span v-for="actor in group.actors" :key="actor.id">
        <a :href="actor.url" target="_blank">
          <span>{{ actor.acct }}, </span>
        </a>
      </span>
    </div>
    <div v-if="group.status">
      <div class="line"/>
      <span class="report-row-key">{{ $t('reports.reportedStatus') }}:</span>
      <statuses :statuses="group.status" class="reported-status"/>
    </div>
    <div v-if="group.reports">
      <div class="line"/>
      <el-collapse>
        <el-collapse-item :title="$t('reports.reports')">
          <report-card :reports="group.reports"/>
        </el-collapse-item>
      </el-collapse>
    </div>
  </el-card>
</template>

<script>
import ModerateUserDropdown from './ModerateUserDropdown'
import ReportCard from './ReportCard'
import Statuses from './Statuses'

export default {
  name: 'Report',
  components: { ModerateUserDropdown, ReportCard, Statuses },
  props: {
    group: {
      type: Object,
      required: true
    }
  },
  methods: {
    changeAllReports(reportState, groupOfReports) {
      console.log(groupOfReports)
    }
  }
}
</script>

<style rel='stylesheet/scss' lang='scss'>
  a {
    text-decoration: underline;
  }
  .avatar-img {
    vertical-align: bottom;
    width: 15px;
    height: 15px;
    margin-left: 5px;
  }
  .el-card__body {
    padding: 17px;
  }
  .el-card__header {
    background-color: #FAFAFA;
    padding: 10px 20px;
  }
  .el-icon-arrow-right {
    margin-right: 6px;
  }
  .header-container {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    height: 40px;
  }
  .line {
    width: 100%;
    height: 0;
    border: 0.5px solid #EBEEF5;
    margin: 15px 0 15px;
  }
  .report-title {
    margin: 0;
  }
  .report-row-key {
    font-size: 14px;
    font-weight: 500;
  }
  .reported-status {
    margin-top: 15px;
  }
  @media
  only screen and (max-width: 760px),
  (min-device-width: 768px) and (max-device-width: 1024px) {
    .header-container {
      display: flex;
      flex-direction: column;
      height: 80px;
    }
  }
</style>