summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/vue_shared/components/ci_icon.vue
blob: 4d44baaa3c42798650a536b6586125dafd0beec7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<script>
  import { statusIconEntityMap, statusCssClasses } from '../../vue_shared/ci_status_icons';

  export default {
    props: {
      status: {
        type: Object,
        required: true,
      },
    },

    computed: {
      statusIconSvg() {
        return statusIconEntityMap[this.status.icon];
      },

      cssClass() {
        const status = statusCssClasses[this.status.icon];
        return `ci-status-icon ci-status-icon-${status} js-ci-status-icon-${status}`;
      },
    },
  };
</script>
<template>
  <span
    :class="cssClass"
    v-html="statusIconSvg">
  </span>
</template>