feat: readable report and host detail layout in web UI (0.9.8)

Field grid for event/host cards, human-readable daily report labels,
and normalized plain-text report bodies.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-11 10:25:53 +10:00
parent fed21c536b
commit befaf86bf4
8 changed files with 203 additions and 139 deletions
+7 -3
View File
@@ -11,9 +11,9 @@
<li v-for="(line, idx) in activeUserLines" :key="idx">{{ line }}</li>
</ul>
<pre v-if="plainBody" class="report-body-plain">{{ plainBody }}</pre>
<div v-if="htmlContent" class="report-body-html" v-html="htmlContent" />
<div v-else-if="htmlContent" class="report-body-html" v-html="htmlContent" />
<pre v-else-if="plainBody" class="report-body-plain">{{ plainBody }}</pre>
<p v-else-if="summary && summary !== 'Отчёт за сутки'" class="report-fallback">{{ summary }}</p>
@@ -28,6 +28,7 @@
import { computed } from "vue";
import {
reportActiveUserLines,
normalizeReportPlainText,
reportBodyFromDetails,
reportHtmlFromDetails,
reportStatEntries,
@@ -50,5 +51,8 @@ const htmlContent = computed(() => {
return raw ? sanitizeAgentHtml(raw) : null;
});
const plainBody = computed(() => reportBodyFromDetails(props.details));
const plainBody = computed(() => {
const raw = reportBodyFromDetails(props.details);
return raw ? normalizeReportPlainText(raw) : null;
});
</script>