bug fixed
This commit is contained in:
@@ -2,11 +2,8 @@ export interface UserData {
|
|||||||
id: number;
|
id: number;
|
||||||
username: string;
|
username: string;
|
||||||
first_name: string;
|
first_name: string;
|
||||||
last_name: string;
|
name: string;
|
||||||
middle_name: null | string;
|
short_name: string;
|
||||||
gender: "M" | "F" | null;
|
|
||||||
region: null | string;
|
|
||||||
address: null | string;
|
|
||||||
created_at: string;
|
created_at: string;
|
||||||
password_set: boolean;
|
password_set: boolean;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
import { user_api } from "@/features/users/lib/api";
|
import { user_api } from "@/features/users/lib/api";
|
||||||
import type { UserData } from "@/features/users/lib/data";
|
import type { UserData } from "@/features/users/lib/data";
|
||||||
import { Badge } from "@/shared/ui/badge";
|
import formatDate from "@/shared/lib/formatDate";
|
||||||
import { Button } from "@/shared/ui/button";
|
import { Button } from "@/shared/ui/button";
|
||||||
import {
|
import {
|
||||||
Dialog,
|
Dialog,
|
||||||
@@ -51,35 +51,6 @@ export function UserCard({ users }: UserListProps) {
|
|||||||
const [open, setOpen] = useState<boolean>(false);
|
const [open, setOpen] = useState<boolean>(false);
|
||||||
const queryClient = useQueryClient();
|
const queryClient = useQueryClient();
|
||||||
|
|
||||||
const getGenderColor = (gender: "M" | "F" | null) => {
|
|
||||||
switch (gender) {
|
|
||||||
case "M":
|
|
||||||
return "bg-blue-100 text-blue-800";
|
|
||||||
case "F":
|
|
||||||
return "bg-pink-100 text-pink-800";
|
|
||||||
default:
|
|
||||||
return "bg-gray-100 text-gray-800";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const getGenderLabel = (gender: "M" | "F" | null) => {
|
|
||||||
switch (gender) {
|
|
||||||
case "M":
|
|
||||||
return "Erkak";
|
|
||||||
case "F":
|
|
||||||
return "Ayol";
|
|
||||||
default:
|
|
||||||
return "Ko'rsatilmagan";
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const getFullName = (user: UserData) => {
|
|
||||||
const parts = [user.first_name, user.middle_name, user.last_name].filter(
|
|
||||||
Boolean,
|
|
||||||
);
|
|
||||||
return parts.length > 0 ? parts.join(" ") : user.username;
|
|
||||||
};
|
|
||||||
|
|
||||||
const form = useForm<z.infer<typeof passwordSet>>({
|
const form = useForm<z.infer<typeof passwordSet>>({
|
||||||
resolver: zodResolver(passwordSet),
|
resolver: zodResolver(passwordSet),
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
@@ -130,9 +101,6 @@ export function UserCard({ users }: UserListProps) {
|
|||||||
<TableHead className="w-[50px]">ID</TableHead>
|
<TableHead className="w-[50px]">ID</TableHead>
|
||||||
<TableHead>To'liq ism</TableHead>
|
<TableHead>To'liq ism</TableHead>
|
||||||
<TableHead>Username</TableHead>
|
<TableHead>Username</TableHead>
|
||||||
<TableHead>Jinsi</TableHead>
|
|
||||||
<TableHead>Hudud</TableHead>
|
|
||||||
<TableHead>Manzil</TableHead>
|
|
||||||
<TableHead>Ro'yxatdan o'tgan</TableHead>
|
<TableHead>Ro'yxatdan o'tgan</TableHead>
|
||||||
<TableHead className="text-right">Amallar</TableHead>
|
<TableHead className="text-right">Amallar</TableHead>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@@ -143,34 +111,16 @@ export function UserCard({ users }: UserListProps) {
|
|||||||
<TableCell className="font-medium">{user.id}</TableCell>
|
<TableCell className="font-medium">{user.id}</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<div className="flex flex-col">
|
<div className="flex flex-col">
|
||||||
<span className="font-medium">{getFullName(user)}</span>
|
<span className="font-medium">{user.name}</span>
|
||||||
</div>
|
</div>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<span className="text-muted-foreground">@{user.username}</span>
|
<span className="text-muted-foreground">@{user.username}</span>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell>
|
|
||||||
<Badge className={getGenderColor(user.gender)}>
|
|
||||||
{getGenderLabel(user.gender)}
|
|
||||||
</Badge>
|
|
||||||
</TableCell>
|
|
||||||
<TableCell>
|
<TableCell>
|
||||||
<span className="text-sm text-muted-foreground">
|
<span className="text-sm text-muted-foreground">
|
||||||
{user.region || "-"}
|
{formatDate.format(user.created_at, "DD-MM-YYYY")}
|
||||||
</span>
|
|
||||||
</TableCell>
|
|
||||||
<TableCell>
|
|
||||||
<span className="text-sm text-muted-foreground">
|
|
||||||
{user.address || "-"}
|
|
||||||
</span>
|
|
||||||
</TableCell>
|
|
||||||
<TableCell>
|
|
||||||
<span className="text-sm text-muted-foreground">
|
|
||||||
{new Date(user.created_at).toLocaleDateString("uz-UZ", {
|
|
||||||
year: "numeric",
|
|
||||||
month: "short",
|
|
||||||
day: "numeric",
|
|
||||||
})}
|
|
||||||
</span>
|
</span>
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className="text-right">
|
<TableCell className="text-right">
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ export default defineConfig({
|
|||||||
alias: [{ find: "@", replacement: path.resolve(__dirname, "src") }],
|
alias: [{ find: "@", replacement: path.resolve(__dirname, "src") }],
|
||||||
},
|
},
|
||||||
server: {
|
server: {
|
||||||
port: 3002,
|
port: 8081,
|
||||||
open: true,
|
open: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user