From 26580e0abd9544c11b21c3ff9039f6391552a0f7 Mon Sep 17 00:00:00 2001 From: Martial Maillot Date: Wed, 11 Dec 2024 15:41:02 +0100 Subject: [PATCH] =?UTF-8?q?fix(seo):=20retrait=20des=20h1=20dupliqu=C3=A9s?= =?UTF-8?q?=20(#6342)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/besoin-plus-informations/page.tsx | 20 + .../code-du-travail-frontend/app/layout.tsx | 6 +- .../besoin-plus-informations.spec.ts | 18 + .../cypress/integration/light/home.spec.ts | 24 -- .../code-du-travail-frontend/package.json | 2 +- .../__tests__/BesoinPlusInformations.test.tsx | 49 +++ .../data/services-de-renseignement.json | 406 ++++++++++++++++++ .../data/servicesDeRenseignement.ts | 18 + .../besoin-plus-informations/index.tsx | 140 ++++++ .../fiche-ministere-travail/ContentParser.tsx | 6 +- .../src/modules/layout/Footer.tsx | 2 - .../__snapshots__/Footer.test.tsx.snap | 12 - .../FeedbackContent.test.tsx.snap | 2 - .../__snapshots__/HeaderDsfr.test.tsx.snap | 213 +-------- .../src/modules/layout/header/index.tsx | 1 + .../__snapshots__/PopupContent.test.tsx.snap | 1 - .../__snapshots__/index.test.tsx.snap | 161 +------ .../src/modules/layout/infos/index.tsx | 16 +- yarn.lock | 20 +- 19 files changed, 693 insertions(+), 424 deletions(-) create mode 100644 packages/code-du-travail-frontend/app/besoin-plus-informations/page.tsx create mode 100644 packages/code-du-travail-frontend/cypress/integration/light/besoin-plus-informations/besoin-plus-informations.spec.ts create mode 100644 packages/code-du-travail-frontend/src/modules/besoin-plus-informations/__tests__/BesoinPlusInformations.test.tsx create mode 100644 packages/code-du-travail-frontend/src/modules/besoin-plus-informations/data/services-de-renseignement.json create mode 100644 packages/code-du-travail-frontend/src/modules/besoin-plus-informations/data/servicesDeRenseignement.ts create mode 100644 packages/code-du-travail-frontend/src/modules/besoin-plus-informations/index.tsx diff --git a/packages/code-du-travail-frontend/app/besoin-plus-informations/page.tsx b/packages/code-du-travail-frontend/app/besoin-plus-informations/page.tsx new file mode 100644 index 0000000000..c326527e4d --- /dev/null +++ b/packages/code-du-travail-frontend/app/besoin-plus-informations/page.tsx @@ -0,0 +1,20 @@ +import { DsfrLayout } from "../../src/modules/layout"; +import { generateDefaultMetadata } from "../../src/modules/common/metas"; +import { BesoinPlusInformations } from "../../src/modules/besoin-plus-informations"; + +export const metadata = generateDefaultMetadata({ + title: "Besoin de plus d'informations", + description: + "Les services du ministère du Travail en région informent, conseillent et orientent les salariés et les employeurs du secteur privé sur leurs questions en droit du travail.", + path: "/besoin-plus-informations", +}); + +function Index() { + return ( + + + + ); +} + +export default Index; diff --git a/packages/code-du-travail-frontend/app/layout.tsx b/packages/code-du-travail-frontend/app/layout.tsx index 83162e123e..c5e1acfcde 100644 --- a/packages/code-du-travail-frontend/app/layout.tsx +++ b/packages/code-du-travail-frontend/app/layout.tsx @@ -24,13 +24,9 @@ export default function RootLayout({ }) { const headersData = headers(); const nonce = headersData.get("x-nonce") ?? undefined; - const pathname = headersData.get("x-url") ?? ""; return ( - + {children} ); diff --git a/packages/code-du-travail-frontend/cypress/integration/light/besoin-plus-informations/besoin-plus-informations.spec.ts b/packages/code-du-travail-frontend/cypress/integration/light/besoin-plus-informations/besoin-plus-informations.spec.ts new file mode 100644 index 0000000000..839a48f279 --- /dev/null +++ b/packages/code-du-travail-frontend/cypress/integration/light/besoin-plus-informations/besoin-plus-informations.spec.ts @@ -0,0 +1,18 @@ +describe("Page Besoin de plus d'information", () => { + it("Permet de rechercher le lien vers un service de renseignement", () => { + cy.visit("/besoin-plus-informations"); + cy.findByRole("heading", { level: 1 }) + .should("have.text", "Besoin de plus d'informations") + .click(); + + cy.contains("label", "Saisissez le numéro de votre département").as( + "input-departement" + ); + cy.get("@input-departement").type("75"); + cy.get("@input-departement").type("{enter}"); + + cy.get( + 'a[href="https://idf.drieets.gouv.fr/Adresse-et-horaires-d-ouverture-de-l-unite-departementale-75"]' + ).should("have.attr", "target", "_blank"); + }); +}); diff --git a/packages/code-du-travail-frontend/cypress/integration/light/home.spec.ts b/packages/code-du-travail-frontend/cypress/integration/light/home.spec.ts index ae90257976..fd8b57c77d 100644 --- a/packages/code-du-travail-frontend/cypress/integration/light/home.spec.ts +++ b/packages/code-du-travail-frontend/cypress/integration/light/home.spec.ts @@ -92,28 +92,4 @@ describe("Page d’accueil", () => { cy.get("button").contains("Plus de résultats").click(); cy.get('div[role="region"]>ul li').should("have.length", 14); }); - - it("Affiche la popup de recherche Besoin de plus d'information", () => { - cy.visit("/"); - cy.findByRole("heading", { level: 1 }) - .should("have.text", "Bienvenue sur le Code du travail numérique") - .click(); - - cy.contains("Besoin de plus d'informations ?"); - - cy.contains("Trouver les services près de chez moi").click(); - cy.get("h1").should("contain", "Les services du ministère du Travail"); - - cy.get("#search-service").type("75"); - cy.get("#search-service").type("{enter}"); - - cy.get( - 'a[href="https://idf.drieets.gouv.fr/Adresse-et-horaires-d-ouverture-de-l-unite-departementale-75"]' - ).should("have.attr", "target", "_blank"); - - cy.get(".fr-btn--close.fr-btn[title='Fermer']").click({ - multiple: true, - force: true, - }); - }); }); diff --git a/packages/code-du-travail-frontend/package.json b/packages/code-du-travail-frontend/package.json index 7e16f6cb81..03660979a2 100644 --- a/packages/code-du-travail-frontend/package.json +++ b/packages/code-du-travail-frontend/package.json @@ -35,7 +35,7 @@ "clean:redirects": "yarn tsup && node dist/clean-redirects.js" }, "dependencies": { - "@codegouvfr/react-dsfr": "^1.13.9", + "@codegouvfr/react-dsfr": "^1.16.0", "@elastic/elasticsearch": "^8.13.1", "@matejmazur/react-katex": "^3.1.3", "@opentelemetry/instrumentation-generic-pool": "^0.37.0", diff --git a/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/__tests__/BesoinPlusInformations.test.tsx b/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/__tests__/BesoinPlusInformations.test.tsx new file mode 100644 index 0000000000..745eccb8fd --- /dev/null +++ b/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/__tests__/BesoinPlusInformations.test.tsx @@ -0,0 +1,49 @@ +import { render } from "@testing-library/react"; +import React from "react"; +import { BesoinPlusInformations } from ".."; +import { UserAction } from "../../../common"; +import { getServiceInfo } from "../data/servicesDeRenseignement"; + +jest.mock("../data/servicesDeRenseignement"); + +describe("", () => { + beforeAll(() => { + (getServiceInfo as jest.Mock).mockImplementation((data: string) => { + if (data === "75") { + return { + name: "PARIS", + url: "https://idf.drieets.gouv.fr/Adresse-et-horaires-d-ouverture-de-l-unite-departementale-75", + }; + } + return undefined; + }); + }); + + it("doit trouver la DREETs à partir de son code postal", () => { + const { getByTestId, getByLabelText } = render(); + const userAction = new UserAction(); + userAction.setInput( + getByLabelText("Saisissez le numéro de votre département"), + "75" + ); + userAction.click(getByTestId("button-search-service")); + + expect(getByTestId("result-search-service").textContent).toBe( + "https://idf.drieets.gouv.fr/Adresse-et-horaires-d-ouverture-de-l-unite-departementale-75" + ); + }); + + it("doit trouver indiquer si le code postal n'existe pas", () => { + const { getByTestId, getByLabelText } = render(); + const userAction = new UserAction(); + userAction.setInput( + getByLabelText("Saisissez le numéro de votre département"), + "999" + ); + userAction.click(getByTestId("button-search-service")); + + expect(getByTestId("result-search-service-failed").textContent).toBe( + "Aucun service de renseignement n'a été trouvé pour ce département." + ); + }); +}); diff --git a/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/data/services-de-renseignement.json b/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/data/services-de-renseignement.json new file mode 100644 index 0000000000..dac42eea4a --- /dev/null +++ b/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/data/services-de-renseignement.json @@ -0,0 +1,406 @@ +{ + "1": { + "name": "AIN", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "2": { + "name": "AISNE", + "url": "https://hauts-de-france.dreets.gouv.fr/Salaries-et-employeurs-du-secteur-prive-renseignez-vous-sur-le-droit-du-travail" + }, + "3": { + "name": "ALLIER", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "4": { + "name": "ALPES DE HAUTE-PROVENCE", + "url": "https://paca.dreets.gouv.fr/Alpes-de-Haute-Provence" + }, + "5": { + "name": "HAUTES-ALPES", + "url": "https://paca.dreets.gouv.fr/Le-Service-Renseignement-en-droit-du-Travail" + }, + "6": { + "name": "ALPES-MARITIMES", + "url": "https://paca.dreets.gouv.fr/Alpes-Maritimes" + }, + "7": { + "name": "ARDECHE", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "8": { + "name": "ARDENNES", + "url": "https://grand-est.dreets.gouv.fr/La-DDETSPP-des-Ardennes" + }, + "9": { + "name": "ARIEGE", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "10": { + "name": "aube", + "url": "https://www.smartagenda.fr/pro/direccte-grand-est/rendez-vous/" + }, + "11": { + "name": "AUDE", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "12": { + "name": "AVEYRON", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "13": { + "name": "BOUCHES-DU-RHONE", + "url": "https://paca.dreets.gouv.fr/Renseignement-du-public-sur-la-legislation-du-travail" + }, + "14": { + "name": "CALVADOS", + "url": "https://normandie.dreets.gouv.fr/Contacter-vos-services-de-renseignements-en-droit-du-travail-au-0-806-000-126" + }, + "15": { + "name": "CANTAL", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "16": { + "name": "CHARENTE", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-17780" + }, + "17": { + "name": "CHARENTE-MARITIME", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-6373" + }, + "18": { + "name": "CHER", + "url": "https://centre-val-de-loire.dreets.gouv.fr/L-application-du-droit-du-travail-17722" + }, + "19": { + "name": "CORREZEZ", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-17668" + }, + "21": { + "name": "COTE D'OR", + "url": "https://bourgogne-franche-comte.dreets.gouv.fr/Contacts-et-horaires-d-ouverture-des-services-au-public" + }, + "22": { + "name": "COTE D'ARMOR", + "url": "https://bretagne.dreets.gouv.fr/Le-Service-Renseignement-du-Public-2949" + }, + "23": { + "name": "CREUSE", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Creuse" + }, + "24": { + "name": "DORDOGNE", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-17669" + }, + "25": { + "name": "DOUBS", + "url": "https://user.clicrdv.com/direccte-bourgogne-franche-comte" + }, + "26": { + "name": "DROME", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "27": { + "name": "EURE", + "url": "https://normandie.dreets.gouv.fr/Contacter-vos-services-de-renseignements-en-droit-du-travail-au-0-806-000-126" + }, + "28": { + "name": "EURE-ET-LOIRE", + "url": "https://centre-val-de-loire.dreets.gouv.fr/Eure-et-Loir" + }, + "29": { + "name": "FINISTERE", + "url": "https://bretagne.dreets.gouv.fr/Renseignements-en-droit-du-travail-en-Bretagne" + }, + "2a": { + "name": "CORSE-DU-SUD", + "url": "https://corse.dreets.gouv.fr/Renseignements-en-droit-du-travail" + }, + "2b": { + "name": "HAUTE-CORSE", + "url": "https://corse.dreets.gouv.fr/Renseignements-en-droit-du-travail-17835" + }, + "30": { + "name": "GARD", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "31": { + "name": "HAUTE-GARONNE", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "32": { + "name": "GERS", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "33": { + "name": "GIRONDE", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-17665" + }, + "34": { + "name": "HERAULT", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "35": { + "name": "ILLE-ET-VILAINE", + "url": "https://bretagne.dreets.gouv.fr/Renseignements-au-public" + }, + "36": { + "name": "INDRE", + "url": "https://centre-val-de-loire.dreets.gouv.fr/Indre-4954" + }, + "37": { + "name": "INDRE-ET-LOIRE", + "url": "https://centre-val-de-loire.dreets.gouv.fr/Indre-et-Loire" + }, + "38": { + "name": "ISERE", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "39": { + "name": "JURA", + "url": "https://bourgogne-franche-comte.dreets.gouv.fr/Ou-se-renseigner-4595" + }, + "40": { + "name": "LANDES", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-17670" + }, + "41": { + "name": "LOIR-ET-CHER", + "url": "https://centre-val-de-loire.dreets.gouv.fr/L-application-du-droit-du-travail" + }, + "42": { + "name": "LOIRE", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "43": { + "name": "HAUTE-LOIRE", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "44": { + "name": "LOIRE-ATLANTIQUE", + "url": "https://pays-de-la-loire.dreets.gouv.fr/Acces-au-droit-du-travail-les-DDETS-et-DDETS-PP-vous-renseignent" + }, + "45": { + "name": "LOiRET", + "url": "https://centre-val-de-loire.dreets.gouv.fr/L-application-du-droit-du-travail-17737" + }, + "46": { + "name": "LOT", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "47": { + "name": "LOT-ET-GARONNE", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-17671" + }, + "48": { + "name": "LOZERE", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "49": { + "name": "MAINE-ET-LOIRE", + "url": "https://pays-de-la-loire.dreets.gouv.fr/Acces-au-droit-du-travail-les-DDETS-et-DDETS-PP-vous-renseignent" + }, + "50": { + "name": "MANCHE", + "url": "https://normandie.dreets.gouv.fr/Un-numero-unique-pour-se-renseigner-sur-le-droit-du-travail" + }, + "51": { + "name": "MARNE", + "url": "https://grand-est.dreets.gouv.fr/La-DDETSPP-de-la-Marne" + }, + "52": { + "name": "HAUTE-MARNE", + "url": "https://grand-est.dreets.gouv.fr/Direction-departementale-de-l-emploi-du-travail-des-solidarites-et-de-la" + }, + "53": { + "name": "MAYENNE", + "url": "https://pays-de-la-loire.dreets.gouv.fr/Acces-au-droit-du-travail-les-DDETS-et-DDETS-PP-vous-renseignent" + }, + "54": { + "name": "MEURTHE-ET-MOSELLE", + "url": "https://grand-est.dreets.gouv.fr/Presentation-de-la-DDETS-Nous-contacter" + }, + "55": { + "name": "MEUSE", + "url": "https://grand-est.dreets.gouv.fr/La-Direction-departementale-de-l-emploi-du-travail-des-solidarites-et-de-la" + }, + "56": { + "name": "MORBIHAN", + "url": "https://bretagne.dreets.gouv.fr/Renseignement-au-public-3009" + }, + "57": { + "name": "MOSELLE", + "url": "https://grand-est.dreets.gouv.fr/Presentation-de-la-DDETS-Moselle-Nous-contacter" + }, + "58": { + "name": "NIEVRE", + "url": "https://bourgogne-franche-comte.dreets.gouv.fr/nievre" + }, + "59": { + "name": "NORD", + "url": "https://hauts-de-france.dreets.gouv.fr/Salaries-et-employeurs-du-secteur-prive-renseignez-vous-sur-le-droit-du-travail" + }, + "60": { + "name": "OISE", + "url": "https://hauts-de-france.dreets.gouv.fr/Salaries-et-employeurs-du-secteur-prive-renseignez-vous-sur-le-droit-du-travail" + }, + "61": { + "name": "ORNE", + "url": "https://normandie.dreets.gouv.fr/Un-numero-unique-pour-contacter-vos-services-de-renseignements-en-droit-du-18314" + }, + "62": { + "name": "PAS-DE-CALAIS", + "url": "https://hauts-de-france.dreets.gouv.fr/Salaries-et-employeurs-du-secteur-prive-renseignez-vous-sur-le-droit-du-travail" + }, + "63": { + "name": "PUY-DE-DOME", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "64": { + "name": "PYRENNES-ATLANTIQUE", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-17672" + }, + "65": { + "name": "HAUTES-PYRENEES", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "66": { + "name": "PYRENEES-ORIENTALES", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "67": { + "name": "BAS-RHIN", + "url": "https://grand-est.dreets.gouv.fr/Presentation-de-la-DDETS-67-Nous-contacter" + }, + "68": { + "name": "HAUT-RHIN", + "url": "https://grand-est.dreets.gouv.fr/La-DDETS-du-Haut-Rhin" + }, + "69": { + "name": "RHONE", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "70": { + "name": "HAUTE-SAONE", + "url": "https://bourgogne-franche-comte.dreets.gouv.fr/Ou-se-renseigner-4595" + }, + "71": { + "name": "SAONE-ET-LOIRE", + "url": "https://bourgogne-franche-comte.dreets.gouv.fr/Comment-contacter-le-service-renseignement-en-droit-du-travail" + }, + "72": { + "name": "SARTHE", + "url": "https://pays-de-la-loire.dreets.gouv.fr/Acces-au-droit-du-travail-les-DDETS-et-DDETS-PP-vous-renseignent" + }, + "73": { + "name": "SAVOIE", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "74": { + "name": "HAUTE SAVOIE", + "url": "https://auvergne-rhone-alpes.dreets.gouv.fr/Vos-interlocuteurs-en-droit-du-travail" + }, + "75": { + "name": "PARIS", + "url": "https://idf.drieets.gouv.fr/Adresse-et-horaires-d-ouverture-de-l-unite-departementale-75" + }, + "76": { + "name": "SEINE-MARITIME", + "url": "https://normandie.dreets.gouv.fr/Un-numero-unique-pour-contacter-le-service-de-renseignements-en-droit-du-6180" + }, + "77": { + "name": "SEINE-ET-MARNE", + "url": "https://idf.drieets.gouv.fr/Une-question-en-droit-du-travail" + }, + "78": { + "name": "YVELINES", + "url": "https://idf.drieets.gouv.fr/Une-question-en-droit-du-travail" + }, + "79": { + "name": "DEUX SEVRES", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-en-droit-du-travail" + }, + "80": { + "name": "SOMME", + "url": "https://hauts-de-france.dreets.gouv.fr/Salaries-et-employeurs-du-secteur-prive-renseignez-vous-sur-le-droit-du-travail" + }, + "81": { + "name": "TARN", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "82": { + "name": "TARN-ET-GARONNE", + "url": "https://occitanie.dreets.gouv.fr/Renseignements-en-droit-du-travail-a-la-DREETS-Occitanie" + }, + "83": { + "name": "VAR", + "url": "https://paca.dreets.gouv.fr/Les-numeros-utiles-de-la-Direction-Departementale-de-l-Emploi-du-Travail-et-des" + }, + "84": { + "name": "VAUCLUSE", + "url": "https://paca.dreets.gouv.fr/Vaucluse" + }, + "85": { + "name": "VENDEE", + "url": "https://pays-de-la-loire.dreets.gouv.fr/Acces-au-droit-du-travail-les-DDETS-et-DDETS-PP-vous-renseignent" + }, + "86": { + "name": "VIENNE", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-5599" + }, + "87": { + "name": "HAUTE-VIENNE", + "url": "https://nouvelle-aquitaine.dreets.gouv.fr/Renseignements-droit-du-travail-17666" + }, + "88": { + "name": "VOSGES", + "url": "https://grand-est.dreets.gouv.fr/La-DDETSPP-des-Vosges" + }, + "89": { + "name": "YONNE", + "url": "https://bourgogne-franche-comte.dreets.gouv.fr/DDETSPP-Yonne" + }, + "90": { + "name": "TERRITOIRE-DE-BELFORT", + "url": "https://bourgogne-franche-comte.dreets.gouv.fr/DDETSPP-Territoire-de-Belfort" + }, + "91": { + "name": "ESSONNE", + "url": "https://idf.drieets.gouv.fr/Une-question-en-droit-du-travail" + }, + "92": { + "name": "HAUTS-DE-SEINE", + "url": "https://idf.drieets.gouv.fr/Une-question-en-droit-du-travail" + }, + "93": { + "name": "SEINE-SAINT-DENIS", + "url": "https://idf.drieets.gouv.fr/RDV-SRDT" + }, + "94": { + "name": "VAL-DE-MARNE", + "url": "https://idf.drieets.gouv.fr/RDV-SRDT" + }, + "95": { + "name": "VAL-D'OISE", + "url": "https://idf.drieets.gouv.fr/RDV-SRDT" + }, + "971": { + "name": "GUADELOUPE", + "url": "https://guadeloupe.deets.gouv.fr/nos-adresses" + }, + "972": { + "name": "MARTINIQUE", + "url": "https://martinique.deets.gouv.fr/Renseignements-en-droit-du-travail-ecrivez-nous" + }, + "973": { + "name": "GUYANE", + "url": "https://guyane.deets.gouv.fr/Renseignement-en-droit-du-travail" + }, + "974": { + "name": "LA REUNION", + "url": "https://reunion.deets.gouv.fr/Nous-contacter" + }, + "976": { + "name": "MAYOTTE", + "url": "https://mayotte.deets.gouv.fr/Contacter-les-services-de-la-DEETS" + } +} diff --git a/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/data/servicesDeRenseignement.ts b/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/data/servicesDeRenseignement.ts new file mode 100644 index 0000000000..8ecd9ba9a8 --- /dev/null +++ b/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/data/servicesDeRenseignement.ts @@ -0,0 +1,18 @@ +import data from "./services-de-renseignement.json"; + +export type ServiceRenseignements = { + [key: string]: ServiceRenseignement; +}; + +export type ServiceRenseignement = { + name: string; + url: string; +}; + +export const services: ServiceRenseignements = data; + +export const getServiceInfo = ( + departmentCode: string +): ServiceRenseignement | undefined => { + return services[departmentCode]; +}; diff --git a/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/index.tsx b/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/index.tsx new file mode 100644 index 0000000000..68637e85cd --- /dev/null +++ b/packages/code-du-travail-frontend/src/modules/besoin-plus-informations/index.tsx @@ -0,0 +1,140 @@ +"use client"; + +import { fr } from "@codegouvfr/react-dsfr"; +import { Container } from "../layout/Container"; +import { useState } from "react"; +import { useNeedMoreInfoEvents } from "../layout/infos/tracking"; +import Image from "next/image"; +import { Input } from "@codegouvfr/react-dsfr/Input"; +import { Button } from "@codegouvfr/react-dsfr/Button"; +import { css } from "@styled-system/css"; +import { Alert } from "@codegouvfr/react-dsfr/Alert"; +import { + getServiceInfo, + ServiceRenseignement, +} from "./data/servicesDeRenseignement"; + +export const BesoinPlusInformations = () => { + const [department, setDepartment] = useState(""); + const [hasSearched, setHasSearched] = useState(false); + const [result, setResult] = useState( + undefined + ); + const { emitTrackNumber } = useNeedMoreInfoEvents(); + + const onSearchInput = () => { + const departmentNum = (department.replace(/^0+/, "") || "").toLowerCase(); + const departmentData = getServiceInfo(departmentNum); + setResult(departmentData); + setHasSearched(true); + }; + + const onClickLinkPhoneNumber = () => { + emitTrackNumber(); + }; + + return ( + +

+ Besoin de plus d'informations +

+ +

+ Les services du ministère du Travail en région informent, conseillent et + orientent les salariés et les employeurs du secteur privé sur leurs + questions en droit du travail. +

+ +
+

Contact téléphonique

+ + + Contactez les services de renseignements au droit du travail au 0806 000 126, service gratuit en plus du prix d'un appel + +
+
+

+ Contact par email et prise de rendez-vous +

+ setDepartment(e.target.value), + onKeyDown: (e) => { + if (e.key === "Enter") { + onSearchInput(); + } + }, + }} + addon={ +
+ +

+ Attention, ces services délivrent une information juridique, ils + ne sont pas compétents pour : +

+
    +
  • + les demandes d'intervention en entreprise +
  • +
  • + la constitution des dossiers prud’homaux +
  • +
  • + les calculs de droit au chômage +
  • +
  • + vous renseigner sur les cotisations sociales +
  • +
+ + } + >
+
+ ); +}; + +const inputCss = css({ + maxWidth: "280px", +}); diff --git a/packages/code-du-travail-frontend/src/modules/fiche-ministere-travail/ContentParser.tsx b/packages/code-du-travail-frontend/src/modules/fiche-ministere-travail/ContentParser.tsx index 6b6c9146b0..db25ad9084 100644 --- a/packages/code-du-travail-frontend/src/modules/fiche-ministere-travail/ContentParser.tsx +++ b/packages/code-du-travail-frontend/src/modules/fiche-ministere-travail/ContentParser.tsx @@ -45,7 +45,11 @@ const options = (): HTMLReactParserOptions => { ) { return (

- + Cliquez ici pour voir la vidéo

diff --git a/packages/code-du-travail-frontend/src/modules/layout/Footer.tsx b/packages/code-du-travail-frontend/src/modules/layout/Footer.tsx index 2ecc8442df..a5f46c576a 100644 --- a/packages/code-du-travail-frontend/src/modules/layout/Footer.tsx +++ b/packages/code-du-travail-frontend/src/modules/layout/Footer.tsx @@ -1,6 +1,5 @@ import { Footer as FooterDsfr } from "@codegouvfr/react-dsfr/Footer"; import { PACKAGE_VERSION } from "../../config"; -import { headerFooterDisplayItem } from "@codegouvfr/react-dsfr/Display"; import { BrandTop } from "./BrandTop"; import { homeLinksProps } from "./common"; @@ -173,7 +172,6 @@ export const Footer = () => { }, text: "Plan du site", }, - headerFooterDisplayItem, ]} /> ); diff --git a/packages/code-du-travail-frontend/src/modules/layout/__tests__/__snapshots__/Footer.test.tsx.snap b/packages/code-du-travail-frontend/src/modules/layout/__tests__/__snapshots__/Footer.test.tsx.snap index 167dca8416..7c90127633 100644 --- a/packages/code-du-travail-frontend/src/modules/layout/__tests__/__snapshots__/Footer.test.tsx.snap +++ b/packages/code-du-travail-frontend/src/modules/layout/__tests__/__snapshots__/Footer.test.tsx.snap @@ -368,18 +368,6 @@ exports[`