Private
Public Access
1
0

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:
Catherine Renelle
2026-02-13 14:07:09 -05:00
parent 401147009a
commit 0ad8e472f7
3 changed files with 17 additions and 3 deletions
+6 -1
View File
@@ -145,7 +145,7 @@ import ChatToolResult from '@/views/chat/ChatToolResult.vue'
import type { ChatConversation, ChatMessage } from '@/types' import type { ChatConversation, ChatMessage } from '@/types'
const route = useRoute() const route = useRoute()
const { pageContext } = usePageContext() const { pageContext, triggerRefresh } = usePageContext()
const panelOpen = ref(false) const panelOpen = ref(false)
const conversations = ref<ChatConversation[]>([]) const conversations = ref<ChatConversation[]>([])
@@ -280,6 +280,11 @@ async function sendMessage() {
} }
messages.value.push(data.assistantMessage) 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) { } catch (err: any) {
messages.value.push({ messages.value.push({
id: tempId(), id: tempId(),
+6 -1
View File
@@ -1,6 +1,7 @@
import { ref } from 'vue' import { ref } from 'vue'
const pageContext = ref('') const pageContext = ref('')
const refreshTrigger = ref(0)
export function usePageContext() { export function usePageContext() {
function setPageContext(context: string) { function setPageContext(context: string) {
@@ -11,5 +12,9 @@ export function usePageContext() {
pageContext.value = '' 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 endDate = ref('')
const statusFilter = ref('All') const statusFilter = ref('All')
const { setPageContext, clearPageContext } = usePageContext() const { setPageContext, clearPageContext, refreshTrigger } = usePageContext()
watch(refreshTrigger, () => {
loadTransactions()
})
watchEffect(() => { watchEffect(() => {
const filters: string[] = [] const filters: string[] = []