Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(regulations-admin): Modal visible by default. Bugfixing. #14814

Merged
merged 6 commits into from
May 15, 2024
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
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,7 @@ 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 +366,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
Loading