Auto-reload transactions after AI makes changes
When the AI updates a category (or any tool result), the transactions page now automatically reloads. ChatPanel triggers a refresh counter in the usePageContext composable when the response includes a tool result, and TransactionsView watches that counter to reload data. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -145,7 +145,7 @@ import ChatToolResult from '@/views/chat/ChatToolResult.vue'
|
||||
import type { ChatConversation, ChatMessage } from '@/types'
|
||||
|
||||
const route = useRoute()
|
||||
const { pageContext } = usePageContext()
|
||||
const { pageContext, triggerRefresh } = usePageContext()
|
||||
|
||||
const panelOpen = ref(false)
|
||||
const conversations = ref<ChatConversation[]>([])
|
||||
@@ -280,6 +280,11 @@ async function sendMessage() {
|
||||
}
|
||||
|
||||
messages.value.push(data.assistantMessage)
|
||||
|
||||
// If the AI used a tool that modified data, tell the page to reload
|
||||
if (data.assistantMessage.toolResultType) {
|
||||
triggerRefresh()
|
||||
}
|
||||
} catch (err: any) {
|
||||
messages.value.push({
|
||||
id: tempId(),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import { ref } from 'vue'
|
||||
|
||||
const pageContext = ref('')
|
||||
const refreshTrigger = ref(0)
|
||||
|
||||
export function usePageContext() {
|
||||
function setPageContext(context: string) {
|
||||
@@ -11,5 +12,9 @@ export function usePageContext() {
|
||||
pageContext.value = ''
|
||||
}
|
||||
|
||||
return { pageContext, setPageContext, clearPageContext }
|
||||
function triggerRefresh() {
|
||||
refreshTrigger.value++
|
||||
}
|
||||
|
||||
return { pageContext, setPageContext, clearPageContext, refreshTrigger, triggerRefresh }
|
||||
}
|
||||
|
||||
@@ -232,7 +232,11 @@ const startDate = ref('')
|
||||
const endDate = ref('')
|
||||
const statusFilter = ref('All')
|
||||
|
||||
const { setPageContext, clearPageContext } = usePageContext()
|
||||
const { setPageContext, clearPageContext, refreshTrigger } = usePageContext()
|
||||
|
||||
watch(refreshTrigger, () => {
|
||||
loadTransactions()
|
||||
})
|
||||
|
||||
watchEffect(() => {
|
||||
const filters: string[] = []
|
||||
|
||||
Reference in New Issue
Block a user