Skip to content

Commit 043e110

Browse files
committed
Add modal when revoking send to prison admin
1 parent ebd9b8f commit 043e110

File tree

4 files changed

+45
-4
lines changed

4 files changed

+45
-4
lines changed

apps/judicial-system/web/messages/Core/index.ts

+5
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,11 @@ export const core = defineMessages({
209209
defaultMessage: 'Halda áfram',
210210
description: 'Notað fyrir "Halda áfram" takka í öllum flæðum.',
211211
},
212+
cancel: {
213+
id: 'judicial.system.core:cancel',
214+
defaultMessage: 'Hætta við',
215+
description: 'Notað fyrir "Hætta við" takka í öllum flæðum.',
216+
},
212217
createCase: {
213218
id: 'judicial.system.core:create_case',
214219
defaultMessage: 'Stofna mál',

apps/judicial-system/web/src/components/BlueBoxWithIcon/BlueBoxWithDate.strings.ts

+16
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,20 @@ export const strings = defineMessages({
8383
description:
8484
'Notaður sem titill í svæði þar sem kærufrestur viðurlagaákvörðunar er tekinn fram',
8585
},
86+
revokeSendToPrisonAdminModalTitle: {
87+
id: 'judicial.system.core:public_prosecutor.indictments.overview.revoke_send_to_prison_admin_modal_title',
88+
defaultMessage: 'Afturkalla úr fullnustu',
89+
description: 'Notaður sem titill í "Afturkalla úr fullnustu" modal glugga.',
90+
},
91+
revokeSendToPrisonAdminModalText: {
92+
id: 'judicial.system.core:public_prosecutor.indictments.overview.revoke_send_to_prison_admin_modal_text',
93+
defaultMessage:
94+
'Mál {courtCaseNumber} verður afturkallað.\nÁkærði: {defendant}.',
95+
description: 'Notaður sem texti í "Afturkalla úr fullnustu" modal glugga.',
96+
},
97+
revoke: {
98+
id: 'judicial.system.core:public_prosecutor.indictments.overview.revoke',
99+
defaultMessage: 'Afturkalla',
100+
description: 'Notaður sem texti fyrir aðgerðina að afturkalla mál',
101+
},
86102
})

apps/judicial-system/web/src/components/BlueBoxWithIcon/BlueBoxWithDate.tsx

+23-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
import { PUBLIC_PROSECUTOR_STAFF_INDICTMENT_SEND_TO_PRISON_ADMIN_ROUTE } from '@island.is/judicial-system/consts'
1616
import { formatDate } from '@island.is/judicial-system/formatters'
1717
import { VERDICT_APPEAL_WINDOW_DAYS } from '@island.is/judicial-system/types'
18-
import { errors } from '@island.is/judicial-system-web/messages'
18+
import { core, errors } from '@island.is/judicial-system-web/messages'
1919

2020
import {
2121
CaseIndictmentRulingDecision,
@@ -29,12 +29,15 @@ import { getAppealExpirationInfo } from '../InfoCard/DefendantInfo/DefendantInfo
2929
import SectionHeading from '../SectionHeading/SectionHeading'
3030
import { strings } from './BlueBoxWithDate.strings'
3131
import * as styles from './BlueBoxWithIcon.css'
32+
import Modal from '../Modal/Modal'
3233

3334
interface Props {
3435
defendant: Defendant
3536
icon?: IconMapIcon
3637
}
3738

39+
type VisibleModal = 'REVOKE_SEND_TO_PRISON_ADMIN'
40+
3841
const BlueBoxWithDate: FC<Props> = (props) => {
3942
const { defendant, icon } = props
4043
const { formatMessage } = useIntl()
@@ -47,7 +50,8 @@ const BlueBoxWithDate: FC<Props> = (props) => {
4750
})
4851
const [triggerAnimation, setTriggerAnimation] = useState<boolean>(false)
4952
const [triggerAnimation2, setTriggerAnimation2] = useState<boolean>(false)
50-
const { setAndSendDefendantToServer } = useDefendants()
53+
const [modalVisible, setModalVisible] = useState<VisibleModal>()
54+
const { setAndSendDefendantToServer, isUpdatingDefendant } = useDefendants()
5155
const { workingCase, setWorkingCase } = useContext(FormContext)
5256
const router = useRouter()
5357

@@ -111,6 +115,8 @@ const BlueBoxWithDate: FC<Props> = (props) => {
111115
},
112116
setWorkingCase,
113117
)
118+
119+
setModalVisible(undefined)
114120
}
115121

116122
const appealExpirationInfo = useMemo(() => {
@@ -335,7 +341,7 @@ const BlueBoxWithDate: FC<Props> = (props) => {
335341
{defendant.isSentToPrisonAdmin ? (
336342
<Button
337343
variant="text"
338-
onClick={handleRevokeSendToPrisonAdmin}
344+
onClick={() => setModalVisible('REVOKE_SEND_TO_PRISON_ADMIN')}
339345
size="small"
340346
colorScheme="destructive"
341347
>
@@ -355,6 +361,20 @@ const BlueBoxWithDate: FC<Props> = (props) => {
355361
</Button>
356362
)}
357363
</Box>
364+
{modalVisible === 'REVOKE_SEND_TO_PRISON_ADMIN' && (
365+
<Modal
366+
title={formatMessage(strings.revokeSendToPrisonAdminModalTitle)}
367+
text={formatMessage(strings.revokeSendToPrisonAdminModalText, {
368+
courtCaseNumber: workingCase.courtCaseNumber,
369+
defendant: defendant.name,
370+
})}
371+
onPrimaryButtonClick={handleRevokeSendToPrisonAdmin}
372+
primaryButtonText={formatMessage(strings.revoke)}
373+
isPrimaryButtonLoading={isUpdatingDefendant}
374+
secondaryButtonText={formatMessage(core.cancel)}
375+
onSecondaryButtonClick={() => setModalVisible(undefined)}
376+
/>
377+
)}
358378
</>
359379
)
360380
}

apps/judicial-system/web/src/routes/PublicProsecutor/Indictments/SendToPrisonAdmin/SendToPrisonAdmin.strings.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ export const strings = defineMessages({
2929
'Notaður sem titill á tilkynningarglugga um að senda til fullnustu.',
3030
},
3131
modalText: {
32-
id: 'judicial.system.core:send_to_prison_admin.modal_text',
32+
id: 'judicial.system.core:send_to_prison_admin.modal_text_v1',
3333
defaultMessage:
3434
'Mál {courtCaseNumber} verður sent til Fangelsismálastofnunar til fullnustu.\nÁkærði: {defendant}.',
3535
description:

0 commit comments

Comments
 (0)