Skip to content

Commit a578904

Browse files
fix: select width, change padding in dialog-footer, email slice
1 parent c34045b commit a578904

5 files changed

Lines changed: 39 additions & 31 deletions

File tree

src/app/dashboard/(active)/telegram/users/delete-group-admin.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use client"
22

33
import { useMutation, useQueryClient } from "@tanstack/react-query"
4-
import { Trash2Icon } from "lucide-react"
4+
import { Trash2, Trash2Icon } from "lucide-react"
55
import { useRouter } from "next/navigation"
66
import { useState } from "react"
77
import { toast } from "sonner"
@@ -55,7 +55,14 @@ export function DeleteGroupAdmin({ userId, chatId }: { userId: number; chatId: n
5555

5656
return (
5757
<AlertDialog open={open} onOpenChange={handleOpenChange}>
58-
<AlertDialogTrigger render={<Button variant="destructive">Delete</Button>}></AlertDialogTrigger>
58+
<AlertDialogTrigger
59+
render={
60+
<Button variant="destructive">
61+
<Trash2 />
62+
Delete
63+
</Button>
64+
}
65+
></AlertDialogTrigger>
5966
<AlertDialogContent size="sm">
6067
<AlertDialogHeader>
6168
<AlertDialogMedia className="bg-destructive/10 text-destructive dark:bg-destructive/20 dark:text-destructive">

src/app/dashboard/(active)/telegram/users/new-group-admin.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -104,14 +104,15 @@ export function NewGroupAdmin({ user, alreadyIn }: { user: User; alreadyIn: numb
104104
)}
105105

106106
<form onSubmit={searchGroup} className="pt-2 gap-y-4 flex flex-col justify-start items-start">
107-
<div className="flex gap-2 flex-col items-start justify-start">
108-
<Label htmlFor="email" className="text-base">
107+
<div className="flex gap-2 flex-col items-start justify-start w-full">
108+
<Label htmlFor="group-query" className="text-base">
109109
Search Group
110110
</Label>
111-
<div className="flex gap-2 items-center justify-start">
111+
<div className="flex gap-2 items-center justify-start w-full">
112112
<Input
113113
id="group-query"
114114
type="text"
115+
name="group-query"
115116
placeholder="Group name"
116117
className="bg-card w-auto"
117118
disabled={groups.length > 0}
@@ -124,8 +125,9 @@ export function NewGroupAdmin({ user, alreadyIn }: { user: User; alreadyIn: numb
124125
<Button type="submit" size="icon">
125126
<Search />
126127
</Button>
128+
<div className="grow" />
127129
{groups.length > 0 && (
128-
<Button variant="outline" onClick={reset}>
130+
<Button variant="outline" onClick={reset} className="justify-self-end">
129131
<X />
130132
Reset
131133
</Button>
@@ -141,7 +143,7 @@ export function NewGroupAdmin({ user, alreadyIn }: { user: User; alreadyIn: numb
141143
onValueChange={(v) => setSelectedGroup(v)}
142144
disabled={groups.length === 0}
143145
>
144-
<SelectTrigger className="w-full max-w-48">{selectedGroup?.title ?? "Select a group"}</SelectTrigger>
146+
<SelectTrigger className="w-full">{selectedGroup?.title ?? "Select a group"}</SelectTrigger>
145147
<SelectContent>
146148
<SelectGroup>
147149
{groups.map((item) => (

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

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { ArrowLeft, ExternalLinkIcon, Search, Star, X } from "lucide-react"
44
import Link from "next/link"
55
import { useState } from "react"
66
import { toast } from "sonner"
7+
import { Code } from "@/components/code"
78
import { Badge } from "@/components/ui/badge"
89
import { Button } from "@/components/ui/button"
910
import { Card, CardContent, CardFooter, CardHeader, CardTitle } from "@/components/ui/card"
@@ -93,7 +94,7 @@ export default function TgUsers() {
9394
<p>Admin in groups:</p>
9495
<NewGroupAdmin user={user} alreadyIn={userData?.groupAdmin.map((g) => g?.group.id ?? 0) ?? []} />
9596
</div>
96-
<div className="grid grid-cols-3 py-2 gap-4">
97+
<div className="grid grid-cols-4 py-2 gap-4">
9798
{userData?.groupAdmin
9899
.filter((m) => m !== null && m !== undefined)
99100
.map((m) => (
@@ -181,11 +182,13 @@ type GroupAdminSingle = NonNullable<ApiOutput["tg"]["permissions"]["getRoles"]["
181182
function GroupAdminCard({ user, groupAdminInfo: m }: { user: NonNullable<User>; groupAdminInfo: GroupAdminSingle }) {
182183
return (
183184
<Card>
185+
<CardHeader>
186+
<CardTitle>{m.group.title}</CardTitle>
187+
</CardHeader>
184188
<CardContent className="space-y-2">
185189
<p>
186-
{" "}
187-
<span className="text-muted-foreground">Chat: </span>
188-
{m.group && <span>{m.group.title}</span>} [{m.group.id}]
190+
<span className="text-muted-foreground">Chat ID: </span>
191+
<Code copyOnClick>{m.group.id}</Code> / <Code copyOnClick>{stripChatId(m.group.id)}</Code>
189192
</p>
190193
<p>
191194
<span className="text-muted-foreground">Added By: </span>
@@ -253,33 +256,29 @@ function AuditLogCard({ log: m }: { log: Log }) {
253256
<CardHeader>
254257
<CardTitle>{m.type}</CardTitle>
255258
</CardHeader>
256-
<CardContent>
259+
<CardContent className="grid grid-cols-[auto_1fr] gap-x-2">
260+
<span className="text-muted-foreground">Chat: </span>
257261
<p>
258-
{" "}
259-
<span className="text-muted-foreground">Chat: </span>
260262
{m.groupTitle && <span>{m.groupTitle}</span>} [{m.groupId}]
261263
</p>
262-
<p>
263-
{" "}
264-
<span className="text-muted-foreground">Admin ID: </span>
265-
{admin && admin.user && fmtUser(admin.user)}
266-
</p>
264+
<span className="text-muted-foreground">Admin ID: </span>
265+
<p>{admin?.user && fmtUser(admin.user)}</p>
266+
267267
{m.createdAt && (
268-
<p>
268+
<>
269269
<span className="text-muted-foreground">Created: </span>
270-
{m.createdAt.toLocaleString()}
271-
</p>
270+
<p>{m.createdAt.toLocaleString()}</p>
271+
</>
272272
)}
273+
273274
{m.until && (
274-
<p>
275+
<>
275276
<span className="text-muted-foreground">Until: </span>
276-
{m.until.toLocaleString()}
277-
</p>
277+
<p>{m.until.toLocaleString()}</p>
278+
</>
278279
)}
279-
<p>
280-
<span className="text-muted-foreground">Reason:</span>
281-
{m.reason}
282-
</p>
280+
<span className="text-muted-foreground">Reason:</span>
281+
{m.reason ? <p>{m.reason}</p> : <p className="text-muted-foreground">N/A</p>}
283282
</CardContent>
284283
</Card>
285284
)

src/components/admin-header/right-nav.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export function RightNav() {
2525
<Button variant="ghost" size="icon" className="rounded-full">
2626
<Avatar size="lg">
2727
<AvatarFallback className="text-foreground text-base">
28-
{data.user.name ? getInitials(data.user.name) : data.user.email.slice(2)}
28+
{data.user.name ? getInitials(data.user.name) : data.user.email.slice(0, 2)}
2929
</AvatarFallback>
3030
</Avatar>
3131
</Button>

src/components/ui/card.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
8484
<div
8585
data-slot="card-footer"
8686
className={cn(
87-
"flex items-center rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/card:p-3",
87+
"flex items-center rounded-b-xl border-t bg-muted/50 p-2 group-data-[size=sm]/card:p-3",
8888
className
8989
)}
9090
{...props}

0 commit comments

Comments
 (0)