From 95e771cb6114d6447ce93c317846356b300710da Mon Sep 17 00:00:00 2001
From: ViperEkura <3081035982@qq.com>
Date: Thu, 26 Mar 2026 16:38:52 +0800
Subject: [PATCH] =?UTF-8?q?chore:=20=E7=B2=BE=E7=AE=80=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
frontend/src/components/ChatView.vue | 52 +----------
frontend/src/components/CloseButton.vue | 12 +++
frontend/src/components/MessageBubble.vue | 72 +--------------
frontend/src/components/ProcessBlock.vue | 13 +--
frontend/src/components/ProjectManager.vue | 27 ++----
frontend/src/components/SettingsPanel.vue | 37 +-------
frontend/src/components/Sidebar.vue | 4 +-
frontend/src/components/StatsPanel.vue | 37 +-------
frontend/src/styles/global.css | 101 +++++++++++++++++++++
frontend/src/utils/format.js | 18 ++++
frontend/src/utils/markdown.js | 6 +-
11 files changed, 152 insertions(+), 227 deletions(-)
create mode 100644 frontend/src/components/CloseButton.vue
diff --git a/frontend/src/components/ChatView.vue b/frontend/src/components/ChatView.vue
index 8202691..0f9795f 100644
--- a/frontend/src/components/ChatView.vue
+++ b/frontend/src/components/ChatView.vue
@@ -132,11 +132,7 @@ function scrollToBottom(smooth = true) {
})
}
-watch(() => props.messages.length, () => {
- scrollToBottom()
-})
-
-watch(() => props.streamingContent, () => {
+watch([() => props.messages.length, () => props.streamingContent], () => {
scrollToBottom()
})
@@ -298,52 +294,8 @@ watch(() => props.conversation?.id, () => {
padding: 0 16px;
}
-.message-bubble {
- display: flex;
- gap: 12px;
- margin-bottom: 16px;
- width: 100%;
-}
+/* .message-bubble, .avatar, .message-body now in global.css */
-.message-bubble .message-container {
- display: flex;
- flex-direction: column;
- max-width: 85%;
- min-width: 200px;
-}
-.message-bubble.user .message-container {
- align-items: flex-end;
-}
-
-.message-bubble.assistant .message-container {
- align-items: flex-start;
-}
-
-.message-bubble .avatar {
- width: 32px;
- height: 32px;
- border-radius: 8px;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 12px;
- font-weight: 700;
- letter-spacing: -0.3px;
- flex-shrink: 0;
- background: var(--avatar-gradient);
- color: white;
-}
-
-.message-bubble .message-body {
- flex: 1;
- min-width: 0;
- overflow: hidden;
- padding: 16px;
- border: 1px solid var(--border-light);
- border-radius: 12px;
- background: var(--bg-primary);
- transition: background 0.2s, border-color 0.2s;
-}
diff --git a/frontend/src/components/CloseButton.vue b/frontend/src/components/CloseButton.vue
new file mode 100644
index 0000000..8f3b7b3
--- /dev/null
+++ b/frontend/src/components/CloseButton.vue
@@ -0,0 +1,12 @@
+
+
+
+
+
diff --git a/frontend/src/components/MessageBubble.vue b/frontend/src/components/MessageBubble.vue
index 0c6b98a..9b5ba41 100644
--- a/frontend/src/components/MessageBubble.vue
+++ b/frontend/src/components/MessageBubble.vue
@@ -90,35 +90,7 @@ function copyContent() {