Skip to content

Commit 552ed5f

Browse files
checkpoint: group row hide toggle
1 parent bdbef68 commit 552ed5f

2 files changed

Lines changed: 16 additions & 17 deletions

File tree

src/app/dashboard/(active)/telegram/groups/group-row.tsx

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
11
"use client"
22
import { Copy, Pen } from "lucide-react"
3+
import { useRouter } from "next/navigation"
34
import { toast } from "sonner"
45
import { Badge } from "@/components/ui/badge"
56
import { Button } from "@/components/ui/button"
7+
import { setGroupHide } from "@/server/actions/groups"
68
import type { TgGroup } from "@/server/trpc/types"
79

810
export function GroupRow({ row: r }: { row: TgGroup }) {
9-
// const trpc = useTRPC()
10-
// const { mutateAsync: hideMutate } = useMutation(trpc.tg.groups.setHide.mutationOptions())
11-
//
12-
// async function toggleHide() {
13-
// const ok = await hideMutate({ telegramId: r.telegramId, hide: !r.hide }).catch(() => false)
14-
// if (!ok) toast.error("The field cannot be modified")
15-
//
16-
// toast.success("Hide option toggled!")
17-
// invalidate()
18-
// }
11+
const router = useRouter()
12+
13+
async function toggleHide() {
14+
const ok = await setGroupHide(r.telegramId, !r.hide).catch(() => false)
15+
if (!ok) toast.error("The field cannot be modified")
16+
17+
toast.success("Hide option toggled!")
18+
router.refresh()
19+
}
1920

2021
return (
2122
<div className="grid gap-4 items-center grid-cols-5 border-b py-2 w-full">
@@ -55,13 +56,7 @@ export function GroupRow({ row: r }: { row: TgGroup }) {
5556
</div>
5657
<div className="flex items-center justify-start gap-2">
5758
<p>{r.hide ? <Badge className="bg-yellow-800">HIDDEN</Badge> : <Badge variant="secondary">Visibile</Badge>}</p>
58-
<Button
59-
type="button"
60-
variant="outline"
61-
size="icon-sm"
62-
className={!r.link ? "hidden" : ""}
63-
onClick={() => null /*toggleHide*/}
64-
>
59+
<Button type="button" variant="outline" size="icon-sm" className={!r.link ? "hidden" : ""} onClick={toggleHide}>
6560
<Pen />
6661
</Button>
6762
</div>

src/server/actions/groups.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,7 @@ import { trpc } from "../trpc"
55
export async function searchGroup(query: string) {
66
return trpc.tg.groups.search.query({ query, limit: 20, showHidden: true })
77
}
8+
9+
export async function setGroupHide(groupId: number, hide: boolean) {
10+
return trpc.tg.groups.setHide.mutate({ telegramId: groupId, hide })
11+
}

0 commit comments

Comments
 (0)