diff --git a/app/(dashboard)/devices/page.tsx b/app/(dashboard)/devices/page.tsx index 9cf3b63..cf5d016 100644 --- a/app/(dashboard)/devices/page.tsx +++ b/app/(dashboard)/devices/page.tsx @@ -18,7 +18,6 @@ export default async function Devices({ const query = (await searchParams)?.query || ""; const page = (await searchParams)?.page || 1; const session = await getServerSession(authOptions); - if (session?.user?.is_admin) return redirect("/user-devices"); return (
diff --git a/app/(dashboard)/user-devices/page.tsx b/app/(dashboard)/user-devices/page.tsx index aac2892..e5654d6 100644 --- a/app/(dashboard)/user-devices/page.tsx +++ b/app/(dashboard)/user-devices/page.tsx @@ -1,7 +1,6 @@ import { Suspense } from "react"; import { AdminDevicesTable } from "@/components/admin/admin-devices-table"; import DynamicFilter from "@/components/generic-filter"; -import Search from "@/components/search"; export default async function UserDevices({ searchParams, @@ -38,14 +37,20 @@ export default async function UserDevices({ name: "mac", label: "MAC Address", type: "string", - placeholder: "Enter MAC address", + placeholder: "Enter device MAC address", }, { name: "vendor", label: "Vendor", type: "string", - placeholder: "Enter vendor name", + placeholder: "Enter device vendor name", }, + { + name: "user", + label: "Device User", + type: "string", + placeholder: "User name or id card", + } ]} />
diff --git a/components/admin/admin-devices-table.tsx b/components/admin/admin-devices-table.tsx index 1680bbd..398c2cb 100644 --- a/components/admin/admin-devices-table.tsx +++ b/components/admin/admin-devices-table.tsx @@ -16,7 +16,6 @@ import { import { cn } from "@/lib/utils"; import { getDevices } from "@/queries/devices"; import { tryCatch } from "@/utils/tryCatch"; -import AddDevicesToCartButton from "../add-devices-to-cart-button"; import BlockDeviceDialog from "../block-device-dialog"; import ClientErrorMessage from "../client-error-message"; import DeviceCard from "../device-card"; @@ -130,15 +129,23 @@ export async function AdminDevicesTable({ )}
- {device.user} + +
+ {device?.user?.name} + {device?.user?.id_card} +
+ +
{device.mac} {device?.vendor} - + {!device.has_a_pending_payment && ( + + )} ))} diff --git a/components/devices-table.tsx b/components/devices-table.tsx index 123c113..5215c7b 100644 --- a/components/devices-table.tsx +++ b/components/devices-table.tsx @@ -1,3 +1,5 @@ +import { redirect } from "next/navigation"; +import { getServerSession } from "next-auth"; import { authOptions } from "@/app/auth"; import { Table, @@ -11,8 +13,6 @@ import { } from "@/components/ui/table"; import { getDevices } from "@/queries/devices"; import { tryCatch } from "@/utils/tryCatch"; -import { getServerSession } from "next-auth"; -import { redirect } from "next/navigation"; import ClickableRow from "./clickable-row"; import ClientErrorMessage from "./client-error-message"; import DeviceCard from "./device-card"; diff --git a/lib/backend-types.ts b/lib/backend-types.ts index 7940261..6d80a85 100644 --- a/lib/backend-types.ts +++ b/lib/backend-types.ts @@ -1,3 +1,5 @@ +import { User } from "./types/user"; + export interface Links { next_page: string | null; previous_page: string | null; @@ -45,7 +47,9 @@ export interface Device { expiry_date: string | null; created_at: string; updated_at: string; - user: number; + user: Pick & { + name: string; + }; } export interface ApiError {