diff --git a/src/Frontend/src/components/messages/HeadersView.vue b/src/Frontend/src/components/messages/HeadersView.vue
new file mode 100644
index 000000000..aee840c48
--- /dev/null
+++ b/src/Frontend/src/components/messages/HeadersView.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ {{ header.key }} |
+
+ {{ header.value }}
+ |
+
+
+
+ Could not find message headers. This could be because the message URL is invalid or the corresponding message was processed and is no longer tracked by ServiceControl.
+
+
+
diff --git a/src/Frontend/src/components/messages/MessageView.vue b/src/Frontend/src/components/messages/MessageView.vue
index e4966e9b0..60f864dd9 100644
--- a/src/Frontend/src/components/messages/MessageView.vue
+++ b/src/Frontend/src/components/messages/MessageView.vue
@@ -20,6 +20,9 @@ import { NServiceBusHeaders } from "@/resources/Header";
import { useConfiguration } from "@/composables/configuration";
import { useIsMassTransitConnected } from "@/composables/useIsMassTransitConnected";
import { parse, stringify } from "lossless-json";
+import BodyView from "@/components/messages/BodyView.vue";
+import HeadersView from "@/components/messages/HeadersView.vue";
+import StackTraceView from "@/components/messages/StacktraceView.vue";
let refreshInterval: number | undefined;
let pollingFaster = false;
@@ -438,31 +441,15 @@ onUnmounted(() => {
-
{{ failedMessage.exception?.stack_trace }}
-
-
-
- {{ header.key }} |
-
- {{ header.value }}
- |
-
-
-
-
- Could not find message headers. This could be because the message URL is invalid or the corresponding message was processed and is no longer tracked by ServiceControl.
-
-
{{ failedMessage.messageBody }}
-
- Could not find message body. This could be because the message URL is invalid or the corresponding message was processed and is no longer tracked by ServiceControl.
-
-
Message body unavailable.
-
+
+
+
+
diff --git a/src/Frontend/src/components/messages/StacktraceView.vue b/src/Frontend/src/components/messages/StacktraceView.vue
new file mode 100644
index 000000000..55512e13e
--- /dev/null
+++ b/src/Frontend/src/components/messages/StacktraceView.vue
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/src/Frontend/src/mount.ts b/src/Frontend/src/mount.ts
index 92a13e6be..571a1ebf2 100644
--- a/src/Frontend/src/mount.ts
+++ b/src/Frontend/src/mount.ts
@@ -6,6 +6,7 @@ import VueTippy from "vue-tippy";
import { createPinia } from "pinia";
import SimpleTypeahead from "vue3-simple-typeahead";
import { createVCodeBlock } from "@wdns/vue-code-block";
+import "highlight.js/styles/github-dark.css";
const toastOptions: PluginOptions = {
position: POSITION.BOTTOM_RIGHT,
@@ -25,6 +26,7 @@ export function mount({ router }: { router: Router }) {
const VCodeBlock = createVCodeBlock({
theme: "github-dark",
+ cssPath: "highlight.js/styles/github-dark.css",
highlightjs: true,
});