<template> <div class="red card"> <div class="content"> <div class="center aligned header"> Derniers signalements </div> <div class="center aligned description"> <div :class="{ active: loading }" class="ui inverted dimmer" > <div class="ui text loader"> Récupération des signalements en cours... </div> </div> <div class="ui relaxed list"> <div v-for="(item, index) in features.slice(-5)" :key="item.properties.title + index" class="item" > <div class="content"> <div> <router-link :to="{ name: 'details-signalement-filtre', params: { slug_type_signal: item.properties.feature_type.slug, }, query: { ordering: project.feature_browsing_default_sort, feature_type: project.feature_browsing_default_filter ? item.properties.feature_type.slug : '', offset: index } }" > {{ item.properties.title || item.id }} </router-link> </div> <div class="description"> <em> [{{ item.properties.created_on }} <span v-if="user && item.properties.creator"> , par {{ item.properties.creator.full_name ? item.properties.creator.full_name : item.properties.creator.username }} </span> ] </em> </div> </div> </div> <em v-if="features.length === 0 && !loading" >Aucun signalement pour le moment.</em> </div> </div> </div> </div> </template> <script> import { mapState } from 'vuex'; export default { name: 'ProjectLastFeatures', props: { loading: { type: Boolean, default: false } }, data() { return { slug: this.$route.params.slug, }; }, computed: { ...mapState([ 'user' ]), ...mapState('projects', [ 'project' ]), ...mapState('feature', [ 'features' ]), } }; </script>