Skip to content

Commit a561975

Browse files
committed
Refactors message metadata display
Introduces a reusable `MetadataLabel` component to streamline the display of message metadata in the message view. This improves code readability and maintainability by encapsulating the common styling and tooltip logic for metadata labels. It also makes it easier to consistently apply styling across different metadata labels.
1 parent 00de7e5 commit a561975

File tree

2 files changed

+19
-13
lines changed

2 files changed

+19
-13
lines changed

src/Frontend/src/components/messages/MessageView2.vue

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import EditAndRetryButton from "@/components/messages/EditAndRetryButton.vue";
1717
import ExportMessageButton from "@/components/messages/ExportMessageButton.vue";
1818
import LoadingSpinner from "@/components/LoadingSpinner.vue";
1919
import { storeToRefs } from "pinia";
20+
import MetadataLabel from "@/components/messages/MetadataLabel.vue";
2021
2122
const panel = ref<number>(1);
2223
const route = useRoute();
@@ -71,20 +72,19 @@ onMounted(() => {
7172
<div class="row">
7273
<div class="col-sm-12 no-side-padding">
7374
<div class="metadata group-message-count message-metadata">
74-
<span v-if="state.data.failure_status.retried" v-tippy="`Message is being retried`" class="label sidebar-label label-info metadata-label">Retried</span>
75-
<span v-if="state.data.failure_status.restoring" v-tippy="`Message is being retried`" class="label sidebar-label label-info metadata-label">Restoring...</span>
76-
<span v-if="state.data.failure_status.archiving" v-tippy="`Message is being deleted`" class="label sidebar-label label-info metadata-label">Deleting...</span>
77-
<span v-if="state.data.failure_status.archived" v-tippy="`Message is deleted`" class="label sidebar-label label-warning metadata-label">Deleted</span>
78-
<span v-if="state.data.failure_status.resolved" v-tippy="`Message was processed successfully`" class="label sidebar-label label-warning metadata-label">Processed</span>
79-
<span
80-
v-if="state.data.failure_metadata.number_of_processing_attempts && state.data.failure_metadata.number_of_processing_attempts > 1"
81-
:v-tippy="`This message has already failed ${state.data.failure_metadata.number_of_processing_attempts} times`"
82-
class="label sidebar-label label-important metadata-label"
83-
>
84-
{{ state.data.failure_metadata.number_of_processing_attempts - 1 }} Retry Failures
85-
</span>
75+
<MetadataLabel v-if="state.data.failure_status.retried" tooltip="Message is being retried" type="info" text="Retried" />
76+
<MetadataLabel v-if="state.data.failure_status.restoring" tooltip="Message is being restored" type="info" text="Restoring..." />
77+
<MetadataLabel v-if="state.data.failure_status.archiving" tooltip="Message is being deleted" type="info" text="Deleting..." />
78+
<MetadataLabel v-if="state.data.failure_status.archived" tooltip="Message is deleted" type="warning" text="Deleted" />
79+
<MetadataLabel v-if="state.data.failure_status.resolved" tooltip="Message was processed successfully" type="warning" text="Processed" />
80+
<MetadataLabel
81+
v-if="state.data.failure_metadata.number_of_processing_attempts !== undefined && state.data.failure_metadata.number_of_processing_attempts > 1"
82+
:tooltip="`This message has already failed ${state.data.failure_metadata.number_of_processing_attempts} times`"
83+
type="important"
84+
:text="`${(state.data.failure_metadata.number_of_processing_attempts ?? 0) - 1} Retry Failures`"
85+
/>
8686
<template v-if="state.data.failure_metadata.edited">
87-
<span v-tippy="`Message was edited`" class="label sidebar-label label-info metadata-label">Edited</span>
87+
<MetadataLabel tooltip="Message was edited" type="info" text="Edited" />
8888
<span v-if="state.data.failure_metadata.edit_of" class="metadata metadata-link">
8989
<i class="fa fa-history"></i> <RouterLink :to="{ path: routeLinks.messages.failedMessage.link(state.data.failure_metadata.edit_of) }">View previous version</RouterLink>
9090
</span>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<script setup lang="ts">
2+
const props = defineProps<{ tooltip: string; type: "info" | "warning" | "important"; text: string }>();
3+
</script>
4+
<template>
5+
<span v-tippy="props.tooltip" class="label sidebar-label metadata-label" :class="`label-${props.type}`">{{ props.text }}</span>
6+
</template>

0 commit comments

Comments
 (0)