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() {