Skip to content

Commit 04ed765

Browse files
carolineBdam-maillotmaxgfrViczeivictor
authored
feat(contribution): passage au DSFR (#6428)
* chore(dsfr): mise à jour de la version DSFR * fix(dsfr): ignore les exceptions d'hydratation * feat(tests): ajout du module de testing (#6096) * fix: tests * fix: tests * fix: command * fix: merge date * fix: tests * fix: tests * fix: tests * fix: tests * fix(dsfr): ignore les exceptions d'hydratation * fix: readme * feat(DSFR): migration de la page article du code du travail (#6099) * feat: 6093 dsfr page politique de confidentialit (#6094) * feat: implémentation page politique confidentialité dsfr * chore: clean * fix: iframe dark mode * chore: refacto + e2e test * feat: convert a to Link * chore: review * chore: rename test --------- Co-authored-by: victor <[email protected]> * feat(dsfr): ajout des liens d'évitement (#6120) * feat(dsfr): migration de la page plan du site (#6097) * feat(dsfr): mise à jour des snapshots * feat(dsfr): mise à jour des snapshots * chore(dsfr): mise à jour de la lib DSFR * feat(dsfr): ajout du composant "Avez-vous trouvé une réponse à votre question" (#6121) * fix: merge date * fix: satisfaction * fix: retours preavis * fix: retours preavis * fix: tests * move feedback component to the page articleCodeDuTravail.tsx * clean-up css * fix: feedback * fix: feedback * fix: tests * fix: tests * feat(dsfr): création du composant "Besoin de plus d'information" (#6135) * fix: ui * fix: composant --------- Co-authored-by: carolineBda <[email protected]> Co-authored-by: Martial Maillot <[email protected]> * fix: retours * fix: tests * feat: nouvelle API pour les articles du code du travail (#6132) Co-authored-by: carolineBda <[email protected]> * fix(spec) : fix de la spec article-code-du-travail.spec.ts * fix(dsfr): ajout de la config pour supprimer le `insafe-inline` des `scripts` dans les `csp` (#6151) * feat(dsfr): ajout de matomo pour tracker les events (#6157) * fix: matomo * fix: matomo --------- Co-authored-by: Martial Maillot <[email protected]> * fix(feedback): ajout d'une logique de caractères restants (#6156) * fix: tests * feat: limiter à 500 caractères la saisie * feat: limiter à 500 caractères la saisie --------- Co-authored-by: Martial Maillot <[email protected]> * feat(dsfr): ajout du nouveau logo (#6159) * feat(dsfr): ajout des pages d'erreurs (404 + 500) (#6146) * fix: pages * fix: 404 * fix: tests * fix: tests * fix: tests * fix: lint * test error * fix errors * Fix spec * add button to test error page * feat: force error 500 for testing purpose * feat: revert errors --------- Co-authored-by: carolineBda <[email protected]> Co-authored-by: Martial Maillot <[email protected]> * feat: séparation des anciennes API et des nouvelles (#6183) * fix(article code du travail): retrait du tag Code du travail (#6182) * feat(config): correction de `husky`, ajout de `prettier` pour le formattage et de `lint-staged` pour runner le formattage au `precommit` (#6192) * fix: prettier * fix: prettier * fix: readme * fix: readme * fix: bug * fix: prettier * fix: prettier * fix: tests * fix: tests * fix: prettier * fix: prettier * fix: branch * merge dev * feat: implémentation simulateur brut net * chore: fix ts * chore: snap * chore: clean * chore: clean * chore: clean * chore: review * feat: update responsive * Revert "Merge branch 'dev' into simulateur-brut-net-dsfr" This reverts commit 0748928, reversing changes made to cd15bc7. * chore: clean * feat: chore clean * chore: clean * chore: remove undesired files * chore: remove undesired files * chore: clean * feat: implementation page convention collective * feat: update button link * fix: meta description share * feat: switch simu brut net couleur par defaut * feat: ajout de l'icone * feat: update svg * fix: ts * fix: bug load * chore: review * fix: mobile display * chore: review * chore: review * chore: review * feat: implémentation trouver cc * feat: implementation trouver CC * chore: common style * feat: add error alert entreprise search * feat: disable card * feat: ajout TU + fix * chore: clean * fix: e2e tests * chore: clean * feat: implementation contribution dsfr * fix: widget * fix: error * feat: info bulle * fix: widget * fix: home fetch agreement * feat: add postmessage searchCC * fix: home cc * feat: change contenu lié search cc * fix: related items * fix: message erreur lors de la recherche * fix: error message * fix: relatedItems * chore: add TU * refactor: move files to folders * fix: build * chore: review * chore: clean * fix: ajout des canonicals * fix: input info * fix: canonicals * feat: ajout d'un spinner * fix: tests * chore: review * feat: add spinner to enterprise search * feat: contribution search cc * refactor: queries * fix: load on select item autocomplete * fix: bug widget selection entreprise * feat: implement alert message * fix: disabled rule * feat: localstorage * chore: review * chore: review * chore: review * chore: review * chore: review * chore: review * feat: implement content * chore: review * fix: garder la recherche entrerprise au click precedent * chore: review * chore: review * fix: TU + some styles * fix: e2e * refactor * fix: TU * fix: TU * chore: review * chore: review * chore: review * chore: review postalcode * chore: review * chore: review * fix: cypress test * chore: add widgetMode TU * chore: fix test * fix: cypress test * fix: cypress test * feat: implement * chore: cy * chore: fix cy * refactor * refactor * chore: review * chore: clean * chore: review * fix: largeur champs recherche entreprise * feat: ajout d'un message d'erreur pour les codes naf * feat: update design * chore: clean * feat: implement * chore: design review * chore: review * chore: test noindex * chore: nbsp * chore: review * chore: review * chore: fix test e2e * fix: previous * feat: implement input CC search form * fix: design * chore: clean * feat: ajout du localstorage * fix: bug recherche cc selectionne * fix: don't set cc for enterprise form * fix: localstorage wrong load * feat: add alert on CC select * fix: localstorage preload * fix: wrong slug * fix: goBack not removing cc * chore: review * chore: review * chore: TU * feat: add fiche SP * fix: design * feat: tracking * chore: TU fix * fix: cc entreprise select * feat: add tracking on radio agreement select * chore: tracking p1 et p2 * fix: doublon tracking * chore: snap * chore: review * fix: tracking event enterprise * fix: TU * fix: emit tracking enterprise recherche CC * chore: add TU tracking * feat: mise à jour design * fix(contributions): affichage du nom de la CC dans le H1 des contribs personnalisées (#6399) * fix: CC non traité message * fix: merge * refactor: contribution generic specific (#6421) * fix: texte CC non traité * refactor: division en plusieurs fichiers * refactor: typage * feat: ajout cas tests & correction message erreur cc non traité no CDT * chore: rename TU * feat: add TU non treated info description * fix: bug display 0 in middle of contribution * fix: design * chore: TU on 3239 * fix: TU * chore: review * fix: accordion collapse on anchor * fix: id no string * fix: broken link * fix: message warning non-treated agreement * fix: TU * fix: cc e2e tests * fix: accordion id * chore: review * chore: review * fix: regression number cc search * fix: localstorage * fix: review * refactor: isAgreementValid * chore: revert e2e deleted * refactor: clean --------- Co-authored-by: victor <[email protected]> * clean * clean * fix: add TU contribution content * fix: localstorage for enterprise search & noCdt description * refactor: localstorage * fix: margin references * fix: tracking on display button click * fix: radio unchecked by default * fix: localstorage should select radio * fix: design * fix: date mise à jour fiche SP * chore: add localstorage tests * refactor: localstorage should not send events * chore: snap * fix: review metier * fix: review code * fix: review code * refactor: use common link * chore: snap * clean up * fix url widget * lint * remove text when no CDT * fix related items * clean up types * try to fix spec * fix spec * fix snapshot * fix lien widget ! * add rules that are now valid * fix * feat: scroll to enterprise on selection * fix: TU * fix: scroll agreement modify * fix: list bullet truncate * fix: TU --------- Co-authored-by: Martial Maillot <[email protected]> Co-authored-by: Maxime Golfier <[email protected]> Co-authored-by: Victor Zeinstra <[email protected]> Co-authored-by: victor <[email protected]>
1 parent a53f878 commit 04ed765

File tree

60 files changed

+4327
-498
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+4327
-498
lines changed

packages/code-du-travail-frontend/__tests__/contributions.test.tsx

Lines changed: 0 additions & 58 deletions
This file was deleted.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import React from "react";
2+
import { DsfrLayout } from "../../../src/modules/layout";
3+
import { notFound } from "next/navigation";
4+
import { generateDefaultMetadata } from "../../../src/modules/common/metas";
5+
import { fetchRelatedItems } from "../../../src/modules/documents";
6+
import {
7+
ContributionLayout,
8+
fetchContributionBySlug,
9+
} from "../../../src/modules/contributions";
10+
11+
export async function generateMetadata({ params }) {
12+
const { metas } = await getContribution(params.slug);
13+
14+
return generateDefaultMetadata({
15+
title: metas.title,
16+
description: metas.description,
17+
path: `/contribution/${params.slug}`,
18+
});
19+
}
20+
21+
async function Contribution({ params }) {
22+
const contribution = await getContribution(params.slug);
23+
return (
24+
<DsfrLayout>
25+
<ContributionLayout contribution={contribution} />
26+
</DsfrLayout>
27+
);
28+
}
29+
30+
const getContribution = async (slug: string) => {
31+
const contribution = await fetchContributionBySlug(slug);
32+
33+
if (!contribution) {
34+
return notFound();
35+
}
36+
return contribution;
37+
};
38+
39+
export default Contribution;

packages/code-du-travail-frontend/app/outils/convention-collective/entreprise/[slug]/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
import { notFound } from "next/navigation";
88
import { generateDefaultMetadata } from "../../../../../src/modules/common/metas";
99
import { ElasticTool } from "../../../../../src/modules/outils/type";
10-
import { EnterpriseAgreementSelection } from "../../../../../src/modules/enterprise";
10+
import { EnterpriseAgreementSelectionLink } from "../../../../../src/modules/enterprise";
1111
import { searchEnterprises } from "../../../../../src/modules/enterprise/queries";
1212
import { agreementRelatedItems } from "../../../../../src/modules/convention-collective/agreementRelatedItems";
1313
import { SITE_URL } from "../../../../../src/config";
@@ -38,7 +38,7 @@ async function AgreementSelectionPage({ params }) {
3838
relatedItems={agreementRelatedItems}
3939
description={tool.description}
4040
>
41-
<EnterpriseAgreementSelection enterprise={enterprise} />
41+
<EnterpriseAgreementSelectionLink enterprise={enterprise} />
4242
</FindAgreementLayout>
4343
</DsfrLayout>
4444
);

packages/code-du-travail-frontend/app/widgets/convention-collective/entreprise/[slug]/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
import { notFound } from "next/navigation";
77
import { generateDefaultMetadata } from "../../../../../src/modules/common/metas";
88
import { ElasticTool } from "../../../../../src/modules/outils/type";
9-
import { EnterpriseAgreementSelection } from "../../../../../src/modules/enterprise";
9+
import { EnterpriseAgreementSelectionLink } from "../../../../../src/modules/enterprise";
1010
import { searchEnterprises } from "../../../../../src/modules/enterprise/queries";
1111
import { SITE_URL } from "../../../../../src/config";
1212

@@ -27,7 +27,7 @@ async function AgreementSelectionPage({ params }) {
2727
});
2828
return (
2929
<FindAgreementWidgetLayout>
30-
<EnterpriseAgreementSelection enterprise={enterprise} widgetMode />
30+
<EnterpriseAgreementSelectionLink enterprise={enterprise} widgetMode />
3131
</FindAgreementWidgetLayout>
3232
);
3333
}

packages/code-du-travail-frontend/cypress/integration/html-validation/validate-html.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ export const localConfig: ConfigData = {
1313
"aria-label-misuse": "off",
1414
"long-title": "off",
1515
"script-type": "off",
16-
"no-dup-id": "off",
1716
"wcag/h63": "off",
18-
"wcag/h32": "off",
17+
"no-redundant-role": "off",
18+
"no-missing-references": "off",
1919
},
2020
};
2121

packages/code-du-travail-frontend/cypress/integration/light/contributions/contributions.spec.ts

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,8 @@ describe("Contributions", () => {
2828
"La période d’essai peut-elle être renouvelée ?"
2929
);
3030

31-
cy.get("div > p > span")
32-
.invoke("text")
33-
.should("match", /Mis à jour le/);
34-
cy.get("div > p > span")
35-
.invoke("text")
36-
.should("match", /\d\d\/\d\d\/\d\d\d\d/);
37-
3831
cy.contains(
39-
"Accéder aux informations générales sans renseigner ma convention collective"
32+
"Afficher les informations sans sélectionner une convention collective"
4033
).click();
4134
cy.get("body").should("contain", "Que dit le code du travail");
4235
cy.get("body").should(
@@ -45,18 +38,17 @@ describe("Contributions", () => {
4538
);
4639
cy.get("body").should("contain", "Références");
4740
cy.get("body").should("contain", "L1221-21");
48-
cy.get("body").should("contain", "Pour aller plus loin");
4941
});
5042

5143
it("je vois une page contribution pour une CC", () => {
5244
cy.visit("/contribution/675-la-periode-dessai-peut-elle-etre-renouvelee");
5345
cy.get("h1").should(
5446
"have.text",
55-
"La période d’essai peut-elle être renouvelée ?"
47+
"La période d’essai peut-elle être renouvelée ? Maisons à succursales de vente au détail d'habillement"
5648
);
5749
cy.get("h2").should(
5850
"contain",
59-
"Votre convention collective est Maisons à succursales de vente au détail d'habillement (IDCC 0675)"
51+
"Maisons à succursales de vente au détail d'habillement (IDCC 0675)"
6052
);
6153

6254
cy.get("body").should(
@@ -65,16 +57,14 @@ describe("Contributions", () => {
6557
);
6658

6759
cy.get("a")
68-
.contains(
69-
"la convention collective Maisons à succursales de vente au détail d'habillement"
70-
)
60+
.contains("Maisons à succursales de vente au détail d'habillement")
7161
.should(
7262
"have.attr",
7363
"href",
7464
"/convention-collective/675-maisons-a-succursales-de-vente-au-detail-dhabillement"
7565
);
76-
cy.get("h2").should("contain", "Pour aller plus loin");
77-
cy.get("h3").should(
66+
67+
cy.get("a").should(
7868
"contain",
7969
"Demande d’accord du salarié pour le renouvellement d’une période d’essai"
8070
);
@@ -86,8 +76,8 @@ describe("Contributions", () => {
8676
);
8777
cy.get("h1").should(
8878
"have.text",
89-
"Combien de fois le contrat de travail peut-il être renouvelé ?"
79+
"Combien de fois le contrat de travail peut-il être renouvelé ? Métallurgie"
9080
);
91-
cy.get('[aria-expanded="true"]').find("h3").should("contain", "CDD");
81+
cy.get('[aria-expanded="true"]').should("contain", "CDD");
9282
});
9383
});

packages/code-du-travail-frontend/cypress/integration/light/conventions-collectives.spec.ts

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,37 @@
11
describe("Conventions collectives", () => {
22
it("je vois la liste de toutes les cc", () => {
33
cy.visit("/");
4-
cy.findByRole("heading", { level: 1 })
5-
.should("have.text", "Bienvenue sur le Code du travail numérique")
6-
.click();
7-
cy.get("#fr-header-main-navigation")
4+
cy.findByRole("heading", { level: 1 }).should(
5+
"have.text",
6+
"Bienvenue sur le Code du travail numérique"
7+
);
8+
9+
cy.get("#fr-header-main-navigation a")
810
.contains("Votre convention collective")
911
.click();
12+
1013
cy.urlEqual("/convention-collective");
1114

12-
cy.findByRole("heading", { level: 1 })
13-
.should("have.text", "Votre convention collective")
14-
.click();
15+
cy.findByRole("heading", { level: 1 }).should(
16+
"have.text",
17+
"Votre convention collective"
18+
);
1519
cy.get("body").should(
1620
"contain",
1721
"Les conventions collectives présentées sont les plus représentatives en termes de nombre de salariés"
1822
);
1923
cy.get("#content a").should("have.length", 49);
24+
2025
cy.get("#content a").first().click();
26+
2127
cy.urlEqual(
2228
"/convention-collective/2941-aide-accompagnement-soins-et-services-a-domicile-bad"
2329
);
2430
cy.get('[data-accordion-component="Accordion"]')
2531
.eq(0)
2632
.find('[data-accordion-component="AccordionItemButton"]')
2733
.should("have.length", 6);
34+
2835
cy.get('[data-accordion-component="Accordion"]')
2936
.eq(0)
3037
.find('[data-accordion-component="AccordionItemButton"]')
@@ -71,9 +78,14 @@ describe("Conventions collectives", () => {
7178
.find('[data-accordion-component="AccordionItemButton"]')
7279
.first()
7380
.click();
74-
cy.get('[data-accordion-component="AccordionItem"] a').first().click();
81+
cy.get('[data-accordion-component="AccordionItem"] a')
82+
.first()
83+
.contains(
84+
"Quelles sont les conditions d’indemnisation pendant le congé de maternité"
85+
)
86+
.click();
7587
cy.urlEqual(
76-
"/convention-collective/2941-aide-accompagnement-soins-et-services-a-domicile-bad"
88+
"/contribution/2941-quelles-sont-les-conditions-dindemnisation-pendant-le-conge-de-maternite"
7789
);
7890
});
7991

packages/code-du-travail-frontend/cypress/integration/light/outils/trouver-sa-cc-recherche-entreprise.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ describe("Outil - Trouver sa convention collective", () => {
3030
cy.canonicalUrlEqual("/outils/convention-collective");
3131
cy.contains("BOUILLON PIGALLE").click();
3232

33-
cy.contains("1 convention collective trouvée pour :");
33+
cy.contains("1 convention collective trouvée :");
3434

3535
cy.contains("Précédent").click();
3636
cy.selectByLabel("Nom de votre entreprise ou numéro Siren/Siret")
@@ -54,7 +54,7 @@ describe("Outil - Trouver sa convention collective", () => {
5454
cy.selectByLabel("Code postal ou Ville (optionnel)").clear();
5555
cy.get('button[type="submit"]').last().click();
5656
cy.contains("CARREFOUR BANQUE").click();
57-
cy.contains("2 conventions collectives trouvées pour :");
57+
cy.contains("2 conventions collectives trouvées :");
5858
cy.contains("Banque")
5959
.should("have.prop", "href")
6060
.and(

packages/code-du-travail-frontend/pages/contribution/[slug].tsx

Lines changed: 0 additions & 66 deletions
This file was deleted.

packages/code-du-travail-frontend/panda.config.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ export default defineConfig({
1616
},
1717
},
1818
},
19+
globalCss: {
20+
".fr-table__content table, .fr-table__content table *": {
21+
whiteSpace: "normal",
22+
},
23+
},
1924
outdir: "src/styled-system",
2025
outExtension: "js",
2126
importMap: "@styled-system",

0 commit comments

Comments
 (0)