11"use client"
22import { useQuery , useQueryClient } from "@tanstack/react-query"
3- import { ArrowLeft , Search , X } from "lucide-react"
3+ import { ArrowLeft , RefreshCcw , Search , X } from "lucide-react"
44import Link from "next/link"
55import { useState } from "react"
66import { toast } from "sonner"
@@ -25,9 +25,20 @@ export default function TgUsers() {
2525
2626 const qc = useQueryClient ( )
2727 const searchQuery = trpc . tg . users . getByUsername . queryOptions ( { username : query } )
28- const { data : userData } = useQuery ( trpc . tg . permissions . getRoles . queryOptions ( { userId : user ?. id ?? 0 } ) )
29- const { data : messages } = useQuery ( trpc . tg . messages . getLastByUser . queryOptions ( { userId : user ?. id ?? 0 } ) )
30- const { data : auditLog } = useQuery ( trpc . tg . auditLog . getById . queryOptions ( { targetId : user ?. id ?? 0 } ) )
28+ const { data : userData , refetch : refetch1 } = useQuery (
29+ trpc . tg . permissions . getRoles . queryOptions ( { userId : user ?. id ?? 0 } )
30+ )
31+ const { data : messages , refetch : refetch2 } = useQuery (
32+ trpc . tg . messages . getLastByUser . queryOptions ( { userId : user ?. id ?? 0 } )
33+ )
34+ const { data : auditLog , refetch : refetch3 } = useQuery (
35+ trpc . tg . auditLog . getById . queryOptions ( { targetId : user ?. id ?? 0 } )
36+ )
37+
38+ async function refetch ( ) {
39+ await Promise . all ( [ refetch1 ( ) , refetch2 ( ) , refetch3 ] )
40+ toast . success ( "Reloaded correctly" )
41+ }
3142
3243 async function search ( e : React . FormEvent < HTMLFormElement > ) {
3344 e . preventDefault ( )
@@ -77,6 +88,12 @@ export default function TgUsers() {
7788 Reset
7889 </ Button >
7990 ) }
91+ { user && (
92+ < Button variant = "secondary" onClick = { refetch } >
93+ < RefreshCcw />
94+ Refresh
95+ </ Button >
96+ ) }
8097 </ div >
8198 </ div >
8299 </ form >
@@ -104,7 +121,7 @@ export default function TgUsers() {
104121 ) }
105122 </ div >
106123
107- < p className = "pt-6" > Last messages:</ p >
124+ < p className = "pt-6" > Last messages (max 12) :</ p >
108125 < div className = "grid grid-cols-3 py-2 gap-4" >
109126 { messages ?. messages ?. map ( ( m ) => (
110127 < MessageCard message = { m } key = { `${ m . chatId } -${ m . messageId } ` } />
0 commit comments