diff --git a/src/main/webapp/src/pages/competition/editor/CMAdmin.jsx b/src/main/webapp/src/pages/competition/editor/CMAdmin.jsx
index 54b7546..0389c44 100644
--- a/src/main/webapp/src/pages/competition/editor/CMAdmin.jsx
+++ b/src/main/webapp/src/pages/competition/editor/CMAdmin.jsx
@@ -15,16 +15,16 @@ export function CMAdmin() {
const categoryListener = ({data}) => {
if (!cat || data.id !== cat.id)
return
- setCat({
- ...cat,
+ setCat(cat_ => ({
+ ...cat_,
name: data.name,
liceName: data.liceName,
type: data.type
- })
+ }))
}
dispatch({type: 'addListener', payload: {callback: categoryListener, code: 'sendCategory'}})
return () => dispatch({type: 'removeListener', payload: categoryListener})
- }, []);
+ }, [cat]);
return <>
@@ -60,8 +60,15 @@ function CategoryHeader({cat, setCatId}) {
data
])
}
+ const sendAddCategory = ({data}) => {
+ setCats([...cats, data])
+ }
dispatch({type: 'addListener', payload: {callback: categoryListener, code: 'sendCategory'}})
- return () => dispatch({type: 'removeListener', payload: categoryListener})
+ dispatch({type: 'addListener', payload: {callback: sendAddCategory, code: 'sendAddCategory'}})
+ return () => {
+ dispatch({type: 'removeListener', payload: categoryListener})
+ dispatch({type: 'removeListener', payload: sendAddCategory})
+ }
}, [cats]);
useEffect(() => {
@@ -88,7 +95,7 @@ function CategoryHeader({cat, setCatId}) {
Edition de la catégorie
-