From a7680b40af8c7fc1e05208c2f7fd56bfc3216cd8 Mon Sep 17 00:00:00 2001 From: Nils-Johan Gynther Date: Sun, 19 Apr 2026 19:22:46 +0200 Subject: [PATCH] feat(product): trigger product list refresh on product creation event --- frontend/app/admin/products/AdminProductList.tsx | 6 ++++++ frontend/app/inventory/ProductForm.tsx | 4 +--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/frontend/app/admin/products/AdminProductList.tsx b/frontend/app/admin/products/AdminProductList.tsx index efdcb3fe..521e67fe 100644 --- a/frontend/app/admin/products/AdminProductList.tsx +++ b/frontend/app/admin/products/AdminProductList.tsx @@ -69,6 +69,12 @@ export default function AdminProductList() { refetchProducts(); }, [refetchProducts]); + useEffect(() => { + const handler = () => refetchProducts(); + window.addEventListener('product-created', handler); + return () => window.removeEventListener('product-created', handler); + }, [refetchProducts]); + useEffect(() => { fetch('/api/categories') .then((r) => r.json()) diff --git a/frontend/app/inventory/ProductForm.tsx b/frontend/app/inventory/ProductForm.tsx index 92253826..309a5aed 100644 --- a/frontend/app/inventory/ProductForm.tsx +++ b/frontend/app/inventory/ProductForm.tsx @@ -1,12 +1,10 @@ 'use client'; import { useState } from 'react'; -import { useRouter } from 'next/navigation'; export default function ProductForm() { const [isPending, setIsPending] = useState(false); const [error, setError] = useState(null); - const router = useRouter(); return (