From 6e6d2da3cee7003e7c3dab26b982eea8d134a8d3 Mon Sep 17 00:00:00 2001 From: R2m1liA <15258427350@163.com> Date: Fri, 26 Dec 2025 13:33:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E4=B8=B2=E5=8F=A3?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 以chat-bubble形式显示串口信息 --- .../components/RecordPanel/RecordPanel.svelte | 92 ++++++++++++++++ .../RecordPanel/components/ChatBubble.svelte | 103 ++++++++++++++++++ .../components/ChatBubble.variant.ts | 5 + 3 files changed, 200 insertions(+) create mode 100644 src/lib/components/RecordPanel/RecordPanel.svelte create mode 100644 src/lib/components/RecordPanel/components/ChatBubble.svelte create mode 100644 src/lib/components/RecordPanel/components/ChatBubble.variant.ts diff --git a/src/lib/components/RecordPanel/RecordPanel.svelte b/src/lib/components/RecordPanel/RecordPanel.svelte new file mode 100644 index 0000000..a2b2a6a --- /dev/null +++ b/src/lib/components/RecordPanel/RecordPanel.svelte @@ -0,0 +1,92 @@ + + +
+ {#each $records as record (record.timestamp)} + + {/each} + + {#if $readingRecord} + + {/if} +
+ + diff --git a/src/lib/components/RecordPanel/components/ChatBubble.svelte b/src/lib/components/RecordPanel/components/ChatBubble.svelte new file mode 100644 index 0000000..5b973c5 --- /dev/null +++ b/src/lib/components/RecordPanel/components/ChatBubble.svelte @@ -0,0 +1,103 @@ + + +
+
+ + +
+ + {#if !reading} + + {/if} +
+ +
+ {#if currentDisplay === 'hex'} + {bufferToHexFormat(record.data)} + {:else if currentDisplay === 'ascii'} + {bufferToString(record.data)} + {:else} + {bufferToDecString(record.data)} + {/if} +
+ +
diff --git a/src/lib/components/RecordPanel/components/ChatBubble.variant.ts b/src/lib/components/RecordPanel/components/ChatBubble.variant.ts new file mode 100644 index 0000000..4b6c27f --- /dev/null +++ b/src/lib/components/RecordPanel/components/ChatBubble.variant.ts @@ -0,0 +1,5 @@ +export const POSITION_MAP = { + read: 'chat-start', + write: 'chat-end', + system: 'chat-start', +};