Skip to content
Snippets Groups Projects
ProjectLastFeatures.vue 2.18 KiB
Newer Older
Florent Lavelle's avatar
dev
Florent Lavelle committed
<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',
                    params: {
                      slug,
                      slug_type_signal:
                        item.properties.feature_type.slug,
                      slug_signal: item.id,
                    },
                  }"
                >
                  {{ item.properties.title || item.id }}
                </router-link>
              </div>
              <div class="description">
                <i>
                  [{{ 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>
                  ]
                </i>
              </div>
            </div>
          </div>
          <i
            v-if="features.length === 0"
          >Aucun signalement pour le moment.</i>
        </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('feature', [
      'features'
    ]),
  }

};
</script>