diff --git a/meshmap_frontend/src/components/ChatPanel.vue b/meshmap_frontend/src/components/ChatPanel.vue index efd4e8c..0616d43 100644 --- a/meshmap_frontend/src/components/ChatPanel.vue +++ b/meshmap_frontend/src/components/ChatPanel.vue @@ -129,6 +129,7 @@ onUpdated(() => { {{ senderName(message) }} {{ formatTime(message.created_at) }} + {{ message.topic }} {{ message.text || '[binary]' }} diff --git a/meshmap_frontend/src/components/NodeListPanel.vue b/meshmap_frontend/src/components/NodeListPanel.vue index 60a20bc..ff5673d 100644 --- a/meshmap_frontend/src/components/NodeListPanel.vue +++ b/meshmap_frontend/src/components/NodeListPanel.vue @@ -20,10 +20,6 @@ const totalPages = computed(() => Math.max(1, Math.ceil(props.total / props.page const canPrev = computed(() => props.page > 1) const canNext = computed(() => props.page < totalPages.value) -function nodeName(node: NodeInfo): string { - return node.long_name || node.short_name || node.node_id -} - function formatTime(value: string): string { return new Date(value).toLocaleString() } @@ -43,11 +39,12 @@ function formatTime(value: string): string { - - - + + + + @@ -59,11 +56,12 @@ function formatTime(value: string): string { :class="{ selected: selectedNodeId === node.node_id }" @click="emit('select-node', node.node_id)" > - - - + + + + diff --git a/meshmap_frontend/src/style.css b/meshmap_frontend/src/style.css index af27229..e82797d 100644 --- a/meshmap_frontend/src/style.css +++ b/meshmap_frontend/src/style.css @@ -203,6 +203,13 @@ h3 { color: #64748b; } +.chat-topic { + color: #64748b; + font-size: 12px; + line-height: 1.2; + word-break: break-all; +} + .chat-text { color: #0f172a; line-height: 1.35;
节点 Node IDUser ID角色Long NameShort Name 硬件角色Public Key 更新时间
{{ nodeName(node) }} {{ node.node_id }}{{ node.user_id || '-' }}{{ node.role || '-' }}{{ node.long_name || '-' }}{{ node.short_name || '-' }} {{ node.hw_model || '-' }}{{ node.role || '-' }}{{ node.public_key || '-' }} {{ formatTime(node.updated_at) }}