diff --git a/DynamicIsland/components/ScreenAssistant/ChatPanels.swift b/DynamicIsland/components/ScreenAssistant/ChatPanels.swift index aa7549d..69b0f60 100644 --- a/DynamicIsland/components/ScreenAssistant/ChatPanels.swift +++ b/DynamicIsland/components/ScreenAssistant/ChatPanels.swift @@ -203,6 +203,24 @@ struct ChatMessagesView: View { .foregroundColor(.primary) Spacer() + + Button(action: { + screenAssistantManager.resetConversationContext() + }) { + HStack(spacing: 6) { + Image(systemName: "arrow.counterclockwise") + .font(.caption) + Text("Reset Context") + .font(.caption) + } + .foregroundColor(.secondary) + .padding(.horizontal, 8) + .padding(.vertical, 5) + .background(Color.gray.opacity(0.12)) + .cornerRadius(8) + } + .buttonStyle(PlainButtonStyle()) + .help("Clear conversation and attachments") Button(action: { screenAssistantManager.closePanels() diff --git a/DynamicIsland/managers/ScreenAssistantManager.swift b/DynamicIsland/managers/ScreenAssistantManager.swift index 6577ba6..a1912a5 100644 --- a/DynamicIsland/managers/ScreenAssistantManager.swift +++ b/DynamicIsland/managers/ScreenAssistantManager.swift @@ -1103,7 +1103,13 @@ class ScreenAssistantManager: NSObject, ObservableObject { } func clearChat() { + resetConversationContext() + } + + func resetConversationContext() { + isLoading = false chatMessages.removeAll() + clearAllFiles() } private func addAssistantMessage(_ content: String) {