2019-10-05 21:17:18 +02:00
|
|
|
<docs>
|
|
|
|
```vue
|
|
|
|
<report-card :report="{ reported: { name: 'Some bad guy', preferredUsername: 'kevin' }, reporter: { preferredUsername: 'somePerson34' }, reportContent: 'This is not good'}" />
|
|
|
|
```
|
|
|
|
</docs>
|
2019-09-09 09:31:08 +02:00
|
|
|
<template>
|
|
|
|
<div class="card" v-if="report">
|
|
|
|
<div class="card-content">
|
|
|
|
<div class="media">
|
|
|
|
<div class="media-left">
|
|
|
|
<figure class="image is-48x48" v-if="report.reported.avatar">
|
2019-11-15 18:36:47 +01:00
|
|
|
<img alt="" :src="report.reported.avatar.url" />
|
2019-09-09 09:31:08 +02:00
|
|
|
</figure>
|
2019-11-15 18:36:47 +01:00
|
|
|
<b-icon v-else size="is-large" icon="account-circle" />
|
2019-09-09 09:31:08 +02:00
|
|
|
</div>
|
|
|
|
<div class="media-content">
|
|
|
|
<p class="title is-4">{{ report.reported.name }}</p>
|
|
|
|
<p class="subtitle is-6">@{{ report.reported.preferredUsername }}</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="content columns">
|
2019-12-03 11:29:51 +01:00
|
|
|
<div class="column is-one-quarter-desktop">
|
|
|
|
<span v-if="report.reporter.type === ActorType.APPLICATION">
|
|
|
|
{{ $t('Reported by someone on {domain}', { domain: report.reporter.domain}) }}
|
|
|
|
</span>
|
|
|
|
<span v-else>
|
|
|
|
{{ $t('Reported by {reporter}', { reporter: report.reporter.preferredUsername}) }}
|
|
|
|
</span>
|
|
|
|
</div>
|
2019-11-15 18:36:47 +01:00
|
|
|
<div class="column" v-if="report.content">{{ report.content }}</div>
|
2019-09-09 09:31:08 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
|
|
import { Component, Prop, Vue } from 'vue-property-decorator';
|
|
|
|
import { IReport } from '@/types/report.model';
|
2019-12-03 11:29:51 +01:00
|
|
|
import { ActorType } from '@/types/actor';
|
2019-09-09 09:31:08 +02:00
|
|
|
|
|
|
|
@Component
|
|
|
|
export default class ReportCard extends Vue {
|
|
|
|
@Prop({ required: true }) report!: IReport;
|
2019-12-03 11:29:51 +01:00
|
|
|
|
|
|
|
ActorType = ActorType;
|
2019-09-09 09:31:08 +02:00
|
|
|
}
|
|
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
|
|
.content img.image {
|
|
|
|
display: inline;
|
|
|
|
height: 1.5em;
|
|
|
|
vertical-align: text-bottom;
|
|
|
|
}
|
|
|
|
</style>
|