diff --git a/src/app/admin/products/page.tsx b/src/app/admin/products/page.tsx index 2f6ff4a..2a02294 100644 --- a/src/app/admin/products/page.tsx +++ b/src/app/admin/products/page.tsx @@ -1,6 +1,6 @@ "use client"; -import { useEffect, useState } from "react"; +import { Suspense, useEffect, useState } from "react"; import Link from "next/link"; import { useSearchParams } from "next/navigation"; @@ -109,7 +109,7 @@ function ConfirmModal({ ); } -export default function AdminProductsPage() { +function AdminProductsPageInner() { const searchParams = useSearchParams(); const tab = searchParams.get("tab"); const isDeletedTab = tab === "deleted"; @@ -392,3 +392,11 @@ export default function AdminProductsPage() { ); } + +export default function AdminProductsPage() { + return ( + Loading products...}> + + + ); +} diff --git a/src/app/admin/review/[productId]/page.tsx b/src/app/admin/review/[productId]/page.tsx index 087281a..3a4469d 100644 --- a/src/app/admin/review/[productId]/page.tsx +++ b/src/app/admin/review/[productId]/page.tsx @@ -1,7 +1,7 @@ "use client"; import { useParams, useRouter, useSearchParams } from "next/navigation"; -import { useEffect, useState } from "react"; +import { Suspense, useEffect, useState } from "react"; const API_BASE = process.env.NEXT_PUBLIC_API_URL || "https://be.inatrading.co.id"; @@ -196,7 +196,7 @@ function ProductColumn({ product, label, accent }: { product: any; label: string // ─── Main Page ───────────────────────────────────────────────────────────── -export default function AdminReviewDetailPage() { +function AdminReviewDetailPageInner() { const params = useParams<{ productId: string }>(); const router = useRouter(); const searchParams = useSearchParams(); @@ -474,3 +474,11 @@ export default function AdminReviewDetailPage() { ); } + +export default function AdminReviewDetailPage() { + return ( + Loading review detail...}> + + + ); +} diff --git a/src/components/admin-product-submenu-nav.tsx b/src/components/admin-product-submenu-nav.tsx index 50010b9..d31c2d0 100644 --- a/src/components/admin-product-submenu-nav.tsx +++ b/src/components/admin-product-submenu-nav.tsx @@ -2,13 +2,14 @@ import Link from "next/link"; import { usePathname, useSearchParams } from "next/navigation"; +import { Suspense } from "react"; const adminProductSubmenu = [ { label: "All Product", href: "/admin/products" }, { label: "Deleted", href: "/admin/products?tab=deleted" }, ]; -export function AdminProductSubmenuNav() { +function AdminProductSubmenuNavInner() { const pathname = usePathname(); const searchParams = useSearchParams(); const currentTab = searchParams.get("tab") ?? ""; @@ -45,3 +46,11 @@ export function AdminProductSubmenuNav() { ); } + +export function AdminProductSubmenuNav() { + return ( + + + + ); +}