mirror of
https://github.com/Paris-est-Ludique/intranet.git
synced 2025-06-10 01:24:20 +02:00
refresh data when assign a team to a volunteer, and can unassign
This commit is contained in:
parent
c474426fa8
commit
84477469a8
@ -59,8 +59,8 @@ const TeamWithCandidates: FC<Props> = ({ teamId }): JSX.Element | null => {
|
||||
const [, saveTeam] = useTeamAssign()
|
||||
|
||||
const onTeamSelected = useCallback(
|
||||
(volunteerId, selectedTeamId) => {
|
||||
saveTeam(volunteerId, selectedTeamId)
|
||||
(volunteer, selectedTeamId) => {
|
||||
saveTeam(volunteer, selectedTeamId)
|
||||
},
|
||||
[saveTeam]
|
||||
)
|
||||
@ -85,7 +85,7 @@ const TeamWithCandidates: FC<Props> = ({ teamId }): JSX.Element | null => {
|
||||
<button
|
||||
key={teamWish.id}
|
||||
type="button"
|
||||
onClick={() => onTeamSelected(id, teamWish.id)}
|
||||
onClick={() => onTeamSelected({ id, team }, teamWish.id)}
|
||||
className={classnames(
|
||||
styles.teamWishButton,
|
||||
active && styles.teamActive
|
||||
|
@ -4,9 +4,11 @@ import { selectUserJwtToken } from "../../store/auth"
|
||||
import { AppState } from "../../store"
|
||||
import useAction from "../../utils/useAction"
|
||||
import { fetchVolunteerTeamAssignSet } from "../../store/volunteerTeamAssignSet"
|
||||
import { refreshVolunteerList } from "../../store/volunteerList"
|
||||
|
||||
export const useTeamAssign = (): [any, any] => {
|
||||
const save = useAction(fetchVolunteerTeamAssignSet)
|
||||
const refreshVolunteers = useAction(refreshVolunteerList)
|
||||
const jwtToken = useSelector(selectUserJwtToken)
|
||||
const teamSet = useSelector(
|
||||
(state: AppState) => state.volunteerTeamAssignSet?.entity,
|
||||
@ -14,13 +16,14 @@ export const useTeamAssign = (): [any, any] => {
|
||||
)
|
||||
|
||||
const saveWishes = useCallback(
|
||||
(volunteerId, teamId) => {
|
||||
save(jwtToken, 0, {
|
||||
volunteer: volunteerId,
|
||||
team: teamId,
|
||||
async (volunteer, teamId) => {
|
||||
await save(jwtToken, 0, {
|
||||
volunteer: volunteer.id,
|
||||
team: volunteer.team === teamId ? 0 : teamId,
|
||||
})
|
||||
refreshVolunteers()
|
||||
},
|
||||
[save, jwtToken]
|
||||
[save, refreshVolunteers, jwtToken]
|
||||
)
|
||||
|
||||
return [teamSet, saveWishes]
|
||||
|
@ -48,6 +48,8 @@ export const fetchVolunteerListIfNeed = (): AppThunk => (dispatch, getState) =>
|
||||
return null
|
||||
}
|
||||
|
||||
export const refreshVolunteerList = (): AppThunk => (dispatch) => dispatch(fetchVolunteerList())
|
||||
|
||||
export const selectVolunteerListState = (state: AppState): EntitiesRequest<Volunteer> =>
|
||||
state.volunteerList
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user