Skip to content

Commit

Permalink
Fix missing pending use case unsetting
Browse files Browse the repository at this point in the history
  • Loading branch information
ivangabriele committed Feb 13, 2024
1 parent 514a74b commit 5bd129f
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 10 deletions.
23 changes: 16 additions & 7 deletions frontend/src/domain/shared_slices/SideWindow.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,18 +25,20 @@ const sideWindowSlice = createSlice({
name: 'sideWindow',
reducers: {
/**
* Cancel the draft cancellation confirmation dialog.
* Close side window
*/
cancelDraftCancellationConfirmationDialog(state) {
state.isDraftCancellationConfirmationDialogOpen = false
state.nextPath = undefined
close(state) {
state.status = SideWindowStatus.CLOSED
},

/**
* Close side window
* Close the draft cancellation confirmation dialog.
*
* @description
* ⚠️ NEVER use this action directly, use `cancelSideWindowDraftCancellation()` use case instead.
*/
close(state) {
state.status = SideWindowStatus.CLOSED
closeDraftCancellationConfirmationDialog(state) {
state.isDraftCancellationConfirmationDialogOpen = false
},

/**
Expand Down Expand Up @@ -92,6 +94,13 @@ const sideWindowSlice = createSlice({
*/
setStatus(state, action: PayloadAction<SideWindowStatus>) {
state.status = action.payload
},

/**
* Unset next path.
*/
unsetNextPath(state) {
state.nextPath = undefined
}
}
})
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { Accent, Button, Dialog } from '@mtes-mct/monitor-ui'
import styled from 'styled-components'

import { sideWindowActions } from '../../../../domain/shared_slices/SideWindow'
import { useMainAppDispatch } from '../../../../hooks/useMainAppDispatch'
import { cancelSideWindowDraftCancellation } from '../../useCases/cancelSideWindowDraftCancellation'
import { confirmSideWindowDraftCancellationAndProceed } from '../../useCases/confirmSideWindowDraftCancellationAndProceed'

type DraftCancellationConfirmationDialogProps = {
Expand All @@ -12,7 +12,7 @@ export function DraftCancellationConfirmationDialog({ isAutoSaveEnabled }: Draft
const dispatch = useMainAppDispatch()

const cancel = () => {
dispatch(sideWindowActions.cancelDraftCancellationConfirmationDialog())
dispatch(cancelSideWindowDraftCancellation())
}

const confirm = () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { sideWindowActions } from '../../../domain/shared_slices/SideWindow'
import { PendingUseCaseKey, unsetPendingUseCase } from '../../../libs/PendingUseCase'

import type { MainAppThunk } from '../../../store'

export const cancelSideWindowDraftCancellation = (): MainAppThunk => dispatch => {
unsetPendingUseCase(PendingUseCaseKey.DRAFT_CANCELLATION_CONFIRMATION)

dispatch(sideWindowActions.closeDraftCancellationConfirmationDialog())
dispatch(sideWindowActions.unsetNextPath())
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ export const confirmSideWindowDraftCancellationAndProceed = (): MainAppThunk =>
if (pendingUseCase) {
dispatch(pendingUseCase())
}
dispatch(sideWindowActions.cancelDraftCancellationConfirmationDialog())
dispatch(sideWindowActions.closeDraftCancellationConfirmationDialog())
dispatch(sideWindowActions.openOrFocusAndGoTo(sideWindow.nextPath))
}

0 comments on commit 5bd129f

Please sign in to comment.