Fix role list refresh after deletion

Made-with: Cursor
This commit is contained in:
Yared Yemane 2026-04-16 01:34:04 -07:00
parent 28af7994f8
commit bf76f729aa

View File

@ -1,4 +1,4 @@
import { useEffect, useMemo, useState } from "react" import { useCallback, useEffect, useMemo, useState } from "react"
import { useNavigate } from "react-router-dom" import { useNavigate } from "react-router-dom"
import { import {
Plus, Plus,
@ -81,9 +81,7 @@ export function RolesListPage() {
return () => clearTimeout(timer) return () => clearTimeout(timer)
}, [query]) }, [query])
// Fetch roles const fetchRoles = useCallback(async () => {
useEffect(() => {
const fetchRoles = async () => {
setLoading(true) setLoading(true)
setError(null) setError(null)
try { try {
@ -99,10 +97,13 @@ export function RolesListPage() {
} finally { } finally {
setLoading(false) setLoading(false)
} }
}
fetchRoles()
}, [debouncedQuery, page, pageSize]) }, [debouncedQuery, page, pageSize])
// Fetch roles
useEffect(() => {
fetchRoles()
}, [fetchRoles])
// Open role detail // Open role detail
const handleViewRole = async (roleId: number) => { const handleViewRole = async (roleId: number) => {
setDetailOpen(true) setDetailOpen(true)
@ -147,7 +148,7 @@ export function RolesListPage() {
setRoleToDelete(null) setRoleToDelete(null)
setDeleteDialogOpen(false) setDeleteDialogOpen(false)
setPage(1) // trigger list refresh via the existing effect await fetchRoles()
} catch (err: unknown) { } catch (err: unknown) {
const message = const message =
(err as { response?: { data?: { message?: string } } })?.response?.data?.message ?? (err as { response?: { data?: { message?: string } } })?.response?.data?.message ??