diff --git a/src/api/signalement/models/Position.ts b/src/api/signalement/models/Position.ts index 6ec9ca1..0b66c28 100644 --- a/src/api/signalement/models/Position.ts +++ b/src/api/signalement/models/Position.ts @@ -17,7 +17,6 @@ export namespace Position { D_LIVRANCE_POSTALE = 'délivrance postale', PARCELLE = 'parcelle', SEGMENT = 'segment', - INCONNU = 'inconnu', } } diff --git a/src/api/signalement/models/PositionDTO.ts b/src/api/signalement/models/PositionDTO.ts index 60a91f9..f1867c1 100644 --- a/src/api/signalement/models/PositionDTO.ts +++ b/src/api/signalement/models/PositionDTO.ts @@ -17,7 +17,6 @@ export namespace PositionDTO { D_LIVRANCE_POSTALE = 'délivrance postale', PARCELLE = 'parcelle', SEGMENT = 'segment', - INCONNU = 'inconnu', } } diff --git a/src/composants/adresse/ListNumeros.tsx b/src/composants/adresse/ListNumeros.tsx index 0ef25ba..78bbce8 100644 --- a/src/composants/adresse/ListNumeros.tsx +++ b/src/composants/adresse/ListNumeros.tsx @@ -98,7 +98,9 @@ export function ListNumeros({ adresse }: Readonly) { {filteredNumeros.map(({ id, numero, suffixe, certifie }) => ( navigate(`/${id}`)} className='numero-row' key={id}> {suffixe ? `${numero} ${suffixe}` : numero} - {certifie ? '✅' : '❌'} + + {certifie ? : ''} + ))} diff --git a/src/composants/adresse/NumeroCard.tsx b/src/composants/adresse/NumeroCard.tsx index 9ee1e1e..b84d788 100644 --- a/src/composants/adresse/NumeroCard.tsx +++ b/src/composants/adresse/NumeroCard.tsx @@ -46,9 +46,12 @@ export function NumeroCard({ adresse, createSignalement }: NumeroCardProps) {

Certification

{adresse.certifie ? ( - <>✅ Cette adresse a été certifiée par la commune + <> + Cette adresse a été certifiée par la + commune + ) : ( - <>❌ Cette adresse n'a pas été certifiée par la commune + <>Cette adresse n'a pas été certifiée par la commune )}

diff --git a/src/composants/common/Header.tsx b/src/composants/common/Header.tsx index 0161488..cf22e6d 100644 --- a/src/composants/common/Header.tsx +++ b/src/composants/common/Header.tsx @@ -19,6 +19,18 @@ const StyledHeader = styled.header` font-size: 0.6em; } } + + @media print { + display: flex; + align-items: center; + height: 100px; + div { + filter: none; + } + .fr-container { + margin: 0; + } + } ` interface HeaderProps { diff --git a/src/composants/common/Modal.tsx b/src/composants/common/Modal.tsx index a289490..c097780 100644 --- a/src/composants/common/Modal.tsx +++ b/src/composants/common/Modal.tsx @@ -15,6 +15,10 @@ const StyledBackDrop = styled.div` display: flex; justify-content: center; align-items: center; + + @media print { + background: transparent; + } ` const StyledModal = styled.div` @@ -54,8 +58,10 @@ const StyledModal = styled.div` } @media print { + position: absolute; + bottom: 0; padding: 1em; - height: 100%; + height: calc(100% - 100px); width: 100%; max-width: unset; max-height: unset; diff --git a/src/composants/signalement/RecapModal.tsx b/src/composants/signalement/RecapModal.tsx index 8f61ff9..9e2043f 100644 --- a/src/composants/signalement/RecapModal.tsx +++ b/src/composants/signalement/RecapModal.tsx @@ -22,17 +22,17 @@ import { interface SignalementRecapModalProps { signalement: Signalement onEditSignalement: (property: keyof Signalement, key: string) => (event: string) => void - onClose: () => void + onCloseModal: () => void address: IBANPlateformeNumero | IBANPlateformeVoie | IBANPlateformeLieuDit - onSubmit: () => void + onClose: () => void } export default function SignalementRecapModal({ signalement, onEditSignalement, - onClose, + onCloseModal, address, - onSubmit, + onClose, }: SignalementRecapModalProps) { const [submitStatus, setSubmitStatus] = useState(null) const { source } = useContext(SourceContext) @@ -62,9 +62,6 @@ export default function SignalementRecapModal({ const sourceId = source?.id || process.env.REACT_APP_API_SIGNALEMENT_SOURCE_ID await SignalementsService.createSignalement(signalement as CreateSignalementDTO, sourceId) setSubmitStatus('success') - setTimeout(() => { - onSubmit() - }, 2000) } catch (error) { console.error(error) setSubmitStatus('error') @@ -97,7 +94,7 @@ export default function SignalementRecapModal({ } return ( - + {signalement.type === Signalement.type.LOCATION_TO_UPDATE && (
@@ -247,14 +244,6 @@ export default function SignalementRecapModal({
)} - {source?.type !== Source.type.PRIVATE && (

Contact

@@ -285,9 +274,14 @@ export default function SignalementRecapModal({
)} {submitStatus === 'success' && ( -
-

Votre signalement a bien été envoyée.

-
+ <> +

+ Date d'envoi : {new Date().toLocaleDateString()} +

+
+

Votre signalement a bien été envoyée.

+
+ )} {submitStatus === 'error' && (
@@ -297,18 +291,31 @@ export default function SignalementRecapModal({

)} -
- +
+ {submitStatus !== 'success' ? ( + <> + - + + + ) : ( + <> + + + + )}
diff --git a/src/composants/signalement/SignalementForm.tsx b/src/composants/signalement/SignalementForm.tsx index 8defd08..afb1c22 100644 --- a/src/composants/signalement/SignalementForm.tsx +++ b/src/composants/signalement/SignalementForm.tsx @@ -4,7 +4,12 @@ import SignalementNumeroForm from './signalement-numero/SignalementNumeroForm' import RecapModal from './RecapModal' import SignalementNumeroDeleteForm from './signalement-numero/SignalementNumeroDeleteForm' import { Signalement } from '../../api/signalement' -import { BANPlateformeResultTypeEnum } from '../../api/ban-plateforme/types' +import { + BANPlateformeResultTypeEnum, + IBANPlateformeLieuDit, + IBANPlateformeNumero, + IBANPlateformeVoie, +} from '../../api/ban-plateforme/types' import { MapRef } from 'react-map-gl/maplibre' import SignalementVoieForm from './signalement-voie/SignalementVoieForm' @@ -13,7 +18,8 @@ interface SignalementFormProps { map: MapRef | null onEditSignalement: (property: keyof Signalement, key: string) => (value: any) => void onClose: () => void - address: any + address: IBANPlateformeVoie | IBANPlateformeLieuDit | IBANPlateformeNumero + hasSignalementChanged: boolean } export default function SignalementForm({ @@ -22,6 +28,7 @@ export default function SignalementForm({ onEditSignalement, onClose, address, + hasSignalementChanged, }: SignalementFormProps) { const [showRecapModal, setShowRecapModal] = useState(false) @@ -41,6 +48,7 @@ export default function SignalementForm({ signalement={signalement} address={address} initialPositionCoords={[map?.getCenter()?.lng || 0, map?.getCenter()?.lat || 0]} + hasSignalementChanged={hasSignalementChanged} /> )} @@ -52,6 +60,7 @@ export default function SignalementForm({ onEditSignalement={onEditSignalement} signalement={signalement} address={address} + hasSignalementChanged={hasSignalementChanged} /> )} @@ -64,6 +73,7 @@ export default function SignalementForm({ signalement={signalement} address={address} initialPositionCoords={[map?.getCenter()?.lng || 0, map?.getCenter()?.lat || 0]} + hasSignalementChanged={hasSignalementChanged} /> )} @@ -76,23 +86,25 @@ export default function SignalementForm({ signalement={signalement} address={address} initialPositionCoords={[address.lon, address.lat]} + hasSignalementChanged={hasSignalementChanged} /> )} {signalement?.type === Signalement.type.LOCATION_TO_DELETE && ( )} {showRecapModal && ( setShowRecapModal(false)} + onClose={onClose} + onCloseModal={() => setShowRecapModal(false)} signalement={signalement} address={address} onEditSignalement={onEditSignalement} diff --git a/src/composants/signalement/signalement-numero/SignalementNumeroDeleteForm.tsx b/src/composants/signalement/signalement-numero/SignalementNumeroDeleteForm.tsx index 6b61293..2258177 100644 --- a/src/composants/signalement/signalement-numero/SignalementNumeroDeleteForm.tsx +++ b/src/composants/signalement/signalement-numero/SignalementNumeroDeleteForm.tsx @@ -1,5 +1,4 @@ -import React, { useMemo } from 'react' -import { getInitialSignalement } from '../../../utils/signalement.utils' +import React from 'react' import { StyledForm } from '../signalement.styles' import { Signalement } from '../../../api/signalement' import { getAdresseLabel } from '../../../utils/adresse.utils' @@ -11,6 +10,7 @@ interface SignalementNumeroDeleteFormProps { onClose: () => void address: IBANPlateformeNumero onSubmit: (event: React.FormEvent) => void + hasSignalementChanged: boolean } export default function SignalementNumeroDeleteForm({ @@ -19,15 +19,10 @@ export default function SignalementNumeroDeleteForm({ onClose, address, onSubmit, + hasSignalementChanged, }: SignalementNumeroDeleteFormProps) { const { comment } = signalement.changesRequested - const isSubmitDisabled = useMemo(() => { - return ( - JSON.stringify(getInitialSignalement(address, signalement.type)) === - JSON.stringify(signalement) - ) - }, [address, signalement]) return (

Demande de suppression d'un numéro

@@ -56,7 +51,7 @@ export default function SignalementNumeroDeleteForm({