refactor(submissions): improve submission forms and data table

- Update icon submission forms with better validation
- Enhance advanced submission form with TanStack
- Improve submissions data table functionality
- Update submissions hook for better data management
This commit is contained in:
Thomas Camlong
2025-11-07 08:11:14 +01:00
parent 938facc889
commit 56289820f0
4 changed files with 191 additions and 182 deletions

View File

@@ -1,7 +1,8 @@
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query"
import { toast } from "sonner"
import { pb, type Submission } from "@/lib/pb"
import { getAllIcons } from "@/lib/api"
import { pb, type Submission } from "@/lib/pb"
import { revalidateAllSubmissions } from "@/app/actions/submissions"
// Query key factory
export const submissionKeys = {
@@ -46,10 +47,13 @@ export function useApproveSubmission() {
},
)
},
onSuccess: (data) => {
onSuccess: async (data) => {
// Invalidate and refetch submissions
queryClient.invalidateQueries({ queryKey: submissionKeys.lists() })
// Revalidate Next.js cache for community pages
await revalidateAllSubmissions()
toast.success("Submission approved", {
description: "The submission has been approved successfully",
})
@@ -82,10 +86,13 @@ export function useRejectSubmission() {
},
)
},
onSuccess: () => {
onSuccess: async () => {
// Invalidate and refetch submissions
queryClient.invalidateQueries({ queryKey: submissionKeys.lists() })
// Revalidate Next.js cache for community pages
await revalidateAllSubmissions()
toast.success("Submission rejected", {
description: "The submission has been rejected",
})