Skip to content

Commit 06b5621

Browse files
feat: add refresh button in users page
1 parent c6a112f commit 06b5621

1 file changed

Lines changed: 22 additions & 5 deletions

File tree

  • src/app/dashboard/(active)/telegram/users

src/app/dashboard/(active)/telegram/users/page.tsx

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use client"
22
import { useQuery, useQueryClient } from "@tanstack/react-query"
3-
import { ArrowLeft, Search, X } from "lucide-react"
3+
import { ArrowLeft, RefreshCcw, Search, X } from "lucide-react"
44
import Link from "next/link"
55
import { useState } from "react"
66
import { 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

Comments
 (0)