diff --git a/src/frontend/src/features/legalsTerms/LegalTermsRoute.tsx b/src/frontend/src/features/legalsTerms/LegalTermsRoute.tsx new file mode 100644 index 00000000..952eb5d7 --- /dev/null +++ b/src/frontend/src/features/legalsTerms/LegalTermsRoute.tsx @@ -0,0 +1,140 @@ +import { Screen } from '@/layout/Screen' +import { Bold, H, P, A } from '@/primitives' +import { css } from '@/styled-system/css' +import { HStack } from '@/styled-system/jsx' +import { useTranslation } from 'react-i18next' + +export const LegalTermsRoute = () => { + const { t } = useTranslation('legals') + + const indentedStyle = css({ + paddingLeft: '1.5rem', + marginLeft: '1rem', + borderLeft: '1px solid black', + marginTop: '1.5rem', + }) + + return ( + + + {t('creator.title')} +

{t('creator.body')}

+ + {t('creator.contact.title')} + +

+ {t('creator.contact.address', { + address: 'DINUM, 20 avenue de Ségur, 75007 Paris', + })} +
+ {t('creator.contact.phone', { + phone: '01.71.21.01.70', + })} +
+ {t('creator.contact.siret', { + siret: '12000101100010 (secrétariat général du gouvernement)', + })} +
+ {t('creator.contact.siren', { + siren: '120 001 011', + })} +

+ + {t('director.title')} +

{t('director.body')}

+ + {t('hosting.title')} +

{t('hosting.body')}

+

+ {t('hosting.address.line1')} +
+ {t('hosting.address.line2')} +
+ {t('hosting.address.line3')} +
+ {t('hosting.address.line4')} +

+ + {t('accessibility.title')} +

{t('accessibility.body')}

+

+ {t('accessibility.status')} +

+ + + {t('accessibility.reporting.title')} + +

+ {t('accessibility.reporting.body1').replace( + 'visio@numerique.gouv.fr.', + '' + )} + + visio@numerique.gouv.fr + + . +

+

+ {t('accessibility.reporting.body2').replace( + 'https://formulaire.defenseurdesdroits.fr', + '' + )}{' '} + + https://formulaire.defenseurdesdroits.fr + {' '} + { + t('accessibility.reporting.body2').split( + 'https://formulaire.defenseurdesdroits.fr' + )[1] + } +

+

+ {t('accessibility.reporting.address.line1')} +
+ {t('accessibility.reporting.address.line2')} +
+ {t('accessibility.reporting.address.line3')} +

+ + {/* Content reuse section */} + {t('reuse.title')} +

{t('reuse.body1')}

+

{t('reuse.body2')}

+ + {/* Media subsection */} + + {t('reuse.media.title')} + +

+ {t('reuse.media.body').replace('visio@numerique.gouv.fr.', '')} + + visio@numerique.gouv.fr + + . +

+ {t('liability.title')} +

{t('liability.body1')}

+

{t('liability.body2')}

+

{t('liability.body3')}

+

{t('liability.body4')}

+ {t('dataProtection.title')} +

+ {t('dataProtection.body').replace('dpd@pm.gouv.fr', '')}{' '} + + dpd@pm.gouv.fr + {' '} + {t('dataProtection.body').split('dpd@pm.gouv.fr')[1]} +

+

+ {t('dataProtection.address.line1')} +
+ {t('dataProtection.address.line2')} +
+ {t('dataProtection.address.line3')} +
+ {t('dataProtection.address.line4')} +

+
+
+ ) +} diff --git a/src/frontend/src/layout/Footer.tsx b/src/frontend/src/layout/Footer.tsx index 69590998..5c2db023 100644 --- a/src/frontend/src/layout/Footer.tsx +++ b/src/frontend/src/layout/Footer.tsx @@ -1,6 +1,6 @@ import { styled } from '@/styled-system/jsx' import { css } from '@/styled-system/css' -import { A } from '@/primitives' +import { A, Link } from '@/primitives' import { useTranslation } from 'react-i18next' const StyledLi = styled('li', { @@ -221,15 +221,14 @@ export const Footer = () => { - {t('links.legalsTerms')} - + { export const Header = () => { const { t } = useTranslation() const isHome = useMatchesRoute('home') + const isLegalTerms = useMatchesRoute('legalTerms') const isRoom = useMatchesRoute('room') const { user, isLoggedIn, logout } = useUser() @@ -202,7 +203,7 @@ export const Header = () => {