From da71133874256a407d45bc1a289a6fca3a5c8171 Mon Sep 17 00:00:00 2001 From: b-at-neu Date: Fri, 10 Apr 2026 13:43:39 -0400 Subject: [PATCH 1/2] #652 fix save button on edit spending category form Co-Authored-By: Claude Sonnet 4.6 --- components/edit-category-dialog.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/components/edit-category-dialog.tsx b/components/edit-category-dialog.tsx index 92950b33..1716f6b5 100644 --- a/components/edit-category-dialog.tsx +++ b/components/edit-category-dialog.tsx @@ -75,7 +75,11 @@ export function EditCategoryDialog({ success: 'Spending category updated successfully', error: 'Failed to update spending category', }, - onSuccess: () => { + onSuccess: async () => { + await queryClient.invalidateQueries({ + queryKey: ['categories-budget'], + }); + router.refresh(); setOpen(false); }, }); From 4e73a8e31a3b74cf4737c5f7ef20ad9a6045285d Mon Sep 17 00:00:00 2001 From: b-at-neu Date: Fri, 10 Apr 2026 23:39:24 -0400 Subject: [PATCH 2/2] #652 surface hidden form errors and remove router.refresh Co-Authored-By: Claude Sonnet 4.6 --- components/edit-category-dialog.tsx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/components/edit-category-dialog.tsx b/components/edit-category-dialog.tsx index 1716f6b5..72b810c8 100644 --- a/components/edit-category-dialog.tsx +++ b/components/edit-category-dialog.tsx @@ -1,12 +1,12 @@ 'use client'; -import { useRouter } from 'next/navigation'; import { useState } from 'react'; import { useForm } from 'react-hook-form'; import { zodResolver } from '@hookform/resolvers/zod'; import { useQueryClient } from '@tanstack/react-query'; import { Loader2, Trash2 } from 'lucide-react'; +import { toast } from 'sonner'; import { z } from 'zod/v4'; import { deleteCategory, updateCategory } from '@/prisma/services/category'; @@ -54,7 +54,6 @@ export function EditCategoryDialog({ trigger: React.ReactNode; categoryYearId?: string; }) { - const router = useRouter(); const queryClient = useQueryClient(); const [open, setOpen] = useState(false); const [confirmDelete, setConfirmDelete] = useState(false); @@ -79,7 +78,6 @@ export function EditCategoryDialog({ await queryClient.invalidateQueries({ queryKey: ['categories-budget'], }); - router.refresh(); setOpen(false); }, }); @@ -154,7 +152,13 @@ export function EditCategoryDialog({
- + { + const first = Object.values(errors)[0]; + if (first?.message) toast.error(String(first.message)); + })} + className="space-y-8" + >