Browse Source

fix: fix invalidate query in update user function

Mohammad Mahdi Salimi 1 tháng trước cách đây
mục cha
commit
27bf783c24

+ 3 - 3
src/features/posts/components/posts-table.tsx

@@ -18,7 +18,7 @@ import {
   TableHeader,
   TableRow,
 } from '@/components/ui/table'
-import { DataTablePagination, DataTableToolbar } from '@/components/data-table'
+import { DataTablePagination } from '@/components/data-table'
 import { DataTableBulkActions } from './data-table-bulk-actions'
 import { postsColumns as columns } from './posts-columns'
 import type { Post } from '@/types/posts.types'
@@ -103,12 +103,12 @@ export function PostsTable({
         'flex flex-1 flex-col gap-4'
       )}
     >
-      <DataTableToolbar
+      {/* <DataTableToolbar
         table={table}
         searchPlaceholder='فیلتر پست ها...'
         searchKey='username'
         filters={[]}
-      />
+      /> */}
       <div className='overflow-hidden rounded-md border'>
         <Table>
           <TableHeader>

+ 2 - 8
src/features/users/components/users-action-dialog.tsx

@@ -37,7 +37,7 @@ import { useUsers } from './users-provider'
 
 import { useCreateUser } from '@/hooks/users/useCreateUser'
 import { useUpdateUser } from '@/hooks/users/useUpdateUser'
-import { useUserDetail } from '@/hooks/users/useUserDetail'
+import { useUser } from '@/hooks/users/useUser'
 
 import { useProvinces } from '@/hooks/location/useProvinces'
 import { useCities } from '@/hooks/location/useCities'
@@ -57,8 +57,6 @@ import {
 import { Calendar } from '@/components/ui/calendar'
 import { faIR } from 'react-day-picker/persian'
 import { toast } from 'sonner'
-import { useQueryClient } from '@tanstack/react-query'
-import { queryKeys } from '@/core/react-query/keys'
 
 const schema = z.object({
   username: z.string().min(1, 'نام کاربری الزامی است'),
@@ -86,7 +84,6 @@ const schema = z.object({
 type FormValues = z.infer<typeof schema>
 
 export function UsersActionDialog() {
-  const queryClient = useQueryClient()
   const { open, setOpen, currentRow } = useUsers()
 
   const isAdd = open === 'add'
@@ -133,7 +130,7 @@ export function UsersActionDialog() {
 
   const { data: cities = [] } = useCities(provinceId as number)
 
-  const { data: user, isLoading } = useUserDetail(currentRow?.id as number)
+  const { data: user, isLoading } = useUser(currentRow?.id as number)
 
   const createMutation = useCreateUser()
 
@@ -249,9 +246,6 @@ export function UsersActionDialog() {
         {
           onSuccess: () => {
             toast.success('ویرایش کاربر با موفقیت انجام شد!')
-            queryClient.invalidateQueries({
-              queryKey: queryKeys.users.detail(currentRow.id),
-            })
             handleClose()
           },
         }

+ 3 - 3
src/features/users/components/users-table.tsx

@@ -18,7 +18,7 @@ import {
   TableHeader,
   TableRow,
 } from '@/components/ui/table'
-import { DataTablePagination, DataTableToolbar } from '@/components/data-table'
+import { DataTablePagination } from '@/components/data-table'
 import { DataTableBulkActions } from './data-table-bulk-actions'
 import { usersColumns as columns } from './users-columns'
 import { type User } from '@/types/users.types'
@@ -103,12 +103,12 @@ export function UsersTable({
         'flex flex-1 flex-col gap-4'
       )}
     >
-      <DataTableToolbar
+      {/* <DataTableToolbar
         table={table}
         searchPlaceholder='فیلتر کاربران...'
         searchKey='username'
         filters={[]}
-      />
+      /> */}
       <div className='overflow-hidden rounded-md border'>
         <Table>
           <TableHeader>

+ 5 - 1
src/hooks/posts/useChangeStatePost.tsx

@@ -15,7 +15,11 @@ export function useChangeStatePost() {
     mutationFn: ({ id, payload }: ChangePostStateVariables) =>
       postsService.updateState(id, payload),
 
-    onSuccess: () => {
+    onSuccess: (_, variables) => {
+      queryClient.invalidateQueries({
+        queryKey: queryKeys.posts.detail(variables.id),
+      })
+
       queryClient.invalidateQueries({
         queryKey: queryKeys.posts.lists(),
       })

+ 0 - 1
src/hooks/users/useUser.tsx

@@ -1,4 +1,3 @@
-// src/hooks/users/useUser.ts
 import { useQuery } from '@tanstack/react-query'
 import { usersService } from '@/services/users.service'
 import type { User } from '@/types/users.types'

+ 0 - 11
src/hooks/users/useUserDetail.tsx

@@ -1,11 +0,0 @@
-import { useQuery } from '@tanstack/react-query'
-import { usersService } from '@/services/users.service'
-import { queryKeys } from '@/core/react-query/keys'
-
-export function useUserDetail(userId: number) {
-  return useQuery({
-    queryKey: queryKeys.users.user(userId),
-    queryFn: () => usersService.detail(userId!),
-    enabled: !!userId,
-  })
-}