• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Freegle / iznik-nuxt3 / c116036c-55fb-4d4e-a732-06fbe0906fc1

13 Oct 2025 12:31PM UTC coverage: 34.681% (-11.0%) from 45.694%
c116036c-55fb-4d4e-a732-06fbe0906fc1

push

circleci

edwh
Migrate logo API call from v1 to v2

1053 of 3928 branches covered (26.81%)

Branch coverage included in aggregate %.

0 of 1 new or added line in 1 file covered. (0.0%)

723 existing lines in 55 files now uncovered.

2722 of 6957 relevant lines covered (39.13%)

38.05 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

67.35
/components/MessageTag.vue
1
<template>
2
  <div
3
    :class="{
4
      inline: inline,
5
      tagbadge: true,
6
      tagdef: def,
7
      'font-weight-bold': true,
8
      forcebreak: true,
9
      'text-wrap': true,
10
      'text-start': true,
11
    }"
12
  >
13
    {{ tagForGroup }}
14
  </div>
15
</template>
16
<script setup>
17
import { computed, onMounted } from 'vue'
18
import { useGroupStore } from '../stores/group'
19
import { useMessageStore } from '~/stores/message'
20

21
const props = defineProps({
6✔
22
  id: {
23
    type: Number,
24
    required: true,
25
  },
26
  def: {
27
    type: Boolean,
28
    required: false,
29
    default: false,
30
  },
31
  inline: {
32
    type: Boolean,
33
    required: false,
34
    default: false,
35
  },
36
})
37

38
const messageStore = useMessageStore()
6✔
39
const groupStore = useGroupStore()
6✔
40

41
// Fetch data on mount
42
onMounted(async () => {
6✔
43
  const message = await messageStore.fetch(props.id)
6✔
44
  const fetching = []
6✔
45

46
  if (message?.groups) {
6✔
47
    message.groups.forEach((group) => {
3✔
48
      fetching.push(groupStore.fetch(group.groupid))
3✔
49
    })
50
  }
51

52
  await Promise.all(fetching)
6✔
53
})
54

55
const message = computed(() => {
6✔
56
  return messageStore?.byId(props.id)
6!
57
})
58

59
const tagForGroup = computed(() => {
6✔
60
  let ret = null
6✔
61

62
  message.value?.groups?.forEach((g) => {
6!
63
    const group = groupStore?.get(g.groupid)
3!
64

65
    if (group) {
3!
66
      switch (message.value?.type) {
3!
67
        case 'Offer':
68
          ret = group.settings?.keywords?.offer
3!
69
            ? group.settings.keywords.offer
70
            : 'OFFER'
71
          break
3✔
72
        case 'Wanted':
UNCOV
73
          ret = group.settings?.keywords?.wanted
×
74
            ? group.settings.keywords.wanted
75
            : 'WANTED'
UNCOV
76
          break
×
77
      }
78
    }
79
  })
80

81
  return ret
6✔
82
})
83
</script>
84
<style scoped lang="scss">
85
@import 'bootstrap/scss/functions';
86
@import 'bootstrap/scss/variables';
87
@import 'bootstrap/scss/mixins/_breakpoints';
88

89
.tagbadge {
90
  left: 10px;
91
  top: 10px;
92
  background-color: $color-green--mid;
93
  font-size: 1.25rem;
94
  color: white;
95
  border-radius: 4px;
96
  text-transform: uppercase;
97
  max-width: calc(100% - 20px);
98

99
  &.tagdef {
100
    left: 0px;
101

102
    @include media-breakpoint-up(sm) {
103
      left: 10px;
104
    }
105
  }
106

107
  &:not(.inline) {
108
    position: absolute;
109
  }
110
}
111
</style>
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc