Skip to content

Commit

Permalink
fix(regulations-admin): Modal visible by default. Bugfixing. (#14814)
Browse files Browse the repository at this point in the history
* Fix amending bug

* fix titles. Fix reference error

* Add confirm modal

* Remove console log

* chore: nx format:write update dirty files

---------

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: andes-it <builders@andes.is>
  • Loading branch information
3 people authored May 15, 2024
1 parent 08e214d commit 36271b4
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,15 @@ interface ConfirmModalProps {
onConfirm: () => void
onVisibilityChange: (visibility: boolean) => void
message: string
title?: string
confirmMessage?: string
confirmGhost?: boolean
}

const ConfirmModal: FC<React.PropsWithChildren<ConfirmModalProps>> = ({
isVisible,
message,
title,
confirmMessage = 'Eyða',
onConfirm,
onVisibilityChange,
Expand All @@ -35,6 +37,7 @@ const ConfirmModal: FC<React.PropsWithChildren<ConfirmModalProps>> = ({
padding={6}
>
<Stack space={3}>
<Text variant="h3">{title}</Text>
<Text>{message}</Text>
<Box display="flex" justifyContent="spaceBetween">
<Button onClick={closeModal} size="small" variant="ghost">
Expand Down
59 changes: 34 additions & 25 deletions libs/portals/admin/regulations-admin/src/components/EditBasics.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,18 @@ import { findRegulationType } from '../utils/guessers'
import { RegulationDraftTypes } from '../types'
import ConfirmModal from './ConfirmModal/ConfirmModal'
import { ReferenceText } from './impacts/ReferenceText'
import { DraftChangeForm } from '../state/types'
import { DraftChangeForm, DraftImpactForm } from '../state/types'

export const EditBasics = () => {
const t = useLocale().formatMessage
const { draft, actions } = useDraftingState()
const [editorKey, setEditorKey] = useState('initial')
const [titleError, setTitleError] = useState<string | undefined>(undefined)
const [hasUpdated, setHasUpdated] = useState<boolean>(false)
const [references, setReferences] = useState<DraftChangeForm[]>()
const [isModalVisible, setIsModalVisible] = useState<boolean>(false)
const [references, setReferences] = useState<DraftImpactForm[]>()
const [isModalVisible, setIsModalVisible] = useState<boolean>(true)
const [hasConfirmed, setHasConfirmed] = useState<boolean>(false)
const [hasSeenModal, setHasSeenModal] = useState<boolean>(false)

const { text, appendixes } = draft
const { updateState } = actions
Expand Down Expand Up @@ -166,8 +168,7 @@ export const EditBasics = () => {
error={text.showError && text.error && t(text.error)}
/>
</Box>
{!hasUpdated &&
draft.type.value === RegulationDraftTypes.amending ? (
{!hasConfirmed && hasSeenModal ? (
<Box marginBottom={3}>
<AlertMessage
type="default"
Expand All @@ -187,13 +188,15 @@ export const EditBasics = () => {
</Box>
) : undefined}

{references && references.length > 0 ? (
{references &&
references.length === 1 &&
references[0].type === 'amend' ? (
<ReferenceText
regulation={
{
title: references[0].regTitle,
text: references[0].diff?.value,
name: references[0].name as RegName,
title: references[0].regTitle ?? '',
text: references[0].diff?.value ?? '',
name: (references[0].name as RegName) ?? '',
appendixes: references[0].appendixes.map((apx) => ({
title: apx.title.value,
text: apx.text.value,
Expand Down Expand Up @@ -222,22 +225,28 @@ export const EditBasics = () => {
)}
</AccordionItem>
</Accordion>

<ConfirmModal
isVisible={isModalVisible}
message={
'Uppfæra texta reglugerðar með breytingum frá fyrsta skrefi. Allur viðbættur texti í núverandi skrefi verður hreinsaður út.'
}
onConfirm={() => {
updateEditorText()
setIsModalVisible(false)
}}
onVisibilityChange={(visibility: boolean) => {
setIsModalVisible(visibility)
}}
confirmMessage="Uppfæra"
confirmGhost
/>
{!hasUpdated ? (
<ConfirmModal
isVisible={isModalVisible}
title="Uppfæra texta"
message={
'Uppfæra texta reglugerðar með breytingum frá fyrsta skrefi. Allur viðbættur texti í núverandi skrefi verður hreinsaður út.'
}
onConfirm={() => {
updateEditorText()
setIsModalVisible(false)
setHasConfirmed(true)
}}
onVisibilityChange={(visibility: boolean) => {
setIsModalVisible(visibility)
if (visibility === false && !hasSeenModal) {
setHasSeenModal(true)
}
}}
confirmMessage="Uppfæra"
confirmGhost
/>
) : undefined}
<Appendixes
draftId={draft.id}
appendixes={appendixes}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ export const formatAmendingRegTitle = (draft: RegDraftForm) => {

const amendingTitles = amendingArray.map(
(item, i) =>
`${i === 0 ? `${PREFIX_AMENDING}` : ''} ${item.name.replace(
`${i === 0 ? `${PREFIX_AMENDING}` : ''}${item.name.replace(
/^0+/,
'',
)}${removeRegPrefix(item.regTitle)}`,
)

const repealTitles = repealArray.map(
(item, i) =>
`${i === 0 ? `${PREFIX_REPEALING}` : ''} ${item.name.replace(
`${i === 0 ? `${PREFIX_REPEALING}` : ''}${item.name.replace(
/^0+/,
'',
)}${removeRegPrefix(item.regTitle)}`,
Expand Down Expand Up @@ -264,7 +264,8 @@ export const formatAmendingRegBody = (
}
}

const isDeleted = newText === '' || newText === null
const isDeleted =
newText === '' || newText === null || newText === '<br />'
const isAddition = oldText === '' || oldText === null

const regNameDisplay =
Expand Down Expand Up @@ -366,7 +367,7 @@ export const formatAmendingBodyWithArticlePrefix = (
([key, impacts]) => {
const impactArray = impacts.map((item, i) =>
formatAmendingRegBody(
draftImpactLength > 1 ? item.name : '',
item.type === 'repeal' || draftImpactLength > 1 ? item.name : '',
item.type === 'repeal',
item.type === 'amend' ? item.diff?.value : undefined,
),
Expand Down

0 comments on commit 36271b4

Please sign in to comment.