From a6d844e8d1cb38fd3b49db975d6e6db09bbf319a Mon Sep 17 00:00:00 2001 From: i701 Date: Tue, 1 Jul 2025 07:53:21 +0500 Subject: [PATCH] =?UTF-8?q?refactor:=20reorganize=20imports=20and=20improv?= =?UTF-8?q?e=20session=20handling=20in=20various=20components=20?= =?UTF-8?q?=F0=9F=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/(dashboard)/payments/page.tsx | 6 +- app/(dashboard)/user-devices/page.tsx | 5 + app/(dashboard)/user-payments/page.tsx | 7 +- components/block-device-dialog.tsx | 135 +++++++++++++++---------- components/clickable-row.tsx | 2 +- components/devices-table.tsx | 2 +- components/devices-to-pay.tsx | 18 ++-- components/how-to-get-mac.tsx | 6 +- components/payments-table.tsx | 64 +----------- components/ui/dialog.tsx | 6 +- components/user/add-device-dialog.tsx | 13 ++- 11 files changed, 121 insertions(+), 143 deletions(-) diff --git a/app/(dashboard)/payments/page.tsx b/app/(dashboard)/payments/page.tsx index 768850e..1b8e60d 100644 --- a/app/(dashboard)/payments/page.tsx +++ b/app/(dashboard)/payments/page.tsx @@ -1,9 +1,9 @@ +import { redirect } from "next/navigation"; +import { getServerSession } from "next-auth"; +import { Suspense } from "react"; import { authOptions } from "@/app/auth"; import { PaymentsTable } from "@/components/payments-table"; import Search from "@/components/search"; -import { getServerSession } from "next-auth"; -import { redirect } from "next/navigation"; -import { Suspense } from "react"; export default async function Payments({ searchParams, diff --git a/app/(dashboard)/user-devices/page.tsx b/app/(dashboard)/user-devices/page.tsx index e5654d6..a214eb6 100644 --- a/app/(dashboard)/user-devices/page.tsx +++ b/app/(dashboard)/user-devices/page.tsx @@ -1,4 +1,7 @@ +import { redirect } from "next/navigation"; +import { getServerSession } from "next-auth"; import { Suspense } from "react"; +import { authOptions } from "@/app/auth"; import { AdminDevicesTable } from "@/components/admin/admin-devices-table"; import DynamicFilter from "@/components/generic-filter"; @@ -13,6 +16,8 @@ export default async function UserDevices({ }>; }) { const query = (await searchParams)?.query || ""; + const session = await getServerSession(authOptions); + if (session?.user?.is_admin !== true) redirect("/devices?page=1"); return (
diff --git a/app/(dashboard)/user-payments/page.tsx b/app/(dashboard)/user-payments/page.tsx index 5ca1a74..1f0ac43 100644 --- a/app/(dashboard)/user-payments/page.tsx +++ b/app/(dashboard)/user-payments/page.tsx @@ -1,7 +1,7 @@ +import { getServerSession } from "next-auth"; +import { Suspense } from "react"; import { authOptions } from "@/app/auth"; import { UsersPaymentsTable } from "@/components/admin/user-payments-table"; -import { getServerSession } from "next-auth"; -import React, { Suspense } from "react"; export default async function UserPayments({ searchParams, @@ -14,13 +14,12 @@ export default async function UserPayments({ }>; }) { const query = (await searchParams)?.query || ""; - const session = await getServerSession(authOptions); + // const session = await getServerSession(authOptions); return (

User Payments

-
{JSON.stringify(session, null, 2)}
diff --git a/components/block-device-dialog.tsx b/components/block-device-dialog.tsx index 365e692..e1fb9b6 100644 --- a/components/block-device-dialog.tsx +++ b/components/block-device-dialog.tsx @@ -43,7 +43,7 @@ export default function BlockDeviceDialog({ const onSubmit: SubmitHandler> = (data) => { setDisabled(true); - console.log("data in block device dialog", data); + console.log(data); toast.promise( blockDevice({ deviceId: String(device.id), @@ -58,9 +58,8 @@ export default function BlockDeviceDialog({ return "Blocked!"; }, error: (error) => { - console.error("Error blocking device:", error); setDisabled(false); - return error.message || "Something went wrong"; + return error || "Something went wrong"; }, }, ); @@ -69,15 +68,15 @@ export default function BlockDeviceDialog({ return (
- {device.blocked && !admin ? ( + {device.blocked ? ( ) : (
- - - - - - - - Reason for blocking this device 🚫 - - -
-
-
- -