Skip to content

Commit 6018cc5

Browse files
Viczeivictor
andauthored
fix: widget dsfr (#6341)
* fix: widget dsfr * fix: widget logo * chore: clean * fix: reduce description width * chore: fix paddings * chore: modify test e2e --------- Co-authored-by: victor <[email protected]>
1 parent ed9d3bb commit 6018cc5

File tree

8 files changed

+93
-37
lines changed

8 files changed

+93
-37
lines changed

packages/code-du-travail-frontend/cypress/integration/heavy/widgets/trouver-sa-cc.spec.ts

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,20 @@ describe("Widget - Trouver sa convention collective", () => {
99
cy.iframe()
1010
.contains("Trouver sa convention collective")
1111
.should("be.visible");
12-
cy.iframe().find("#enterprise-search").as("entreprise-search");
13-
cy.get("@entreprise-search").type("carrefour");
14-
cy.iframe().find("button[type=submit]").as("button-submit");
15-
cy.get("@button-submit").click();
16-
cy.iframe().contains("CARREFOUR HYPERMARCHES").as("entreprise");
17-
cy.get("@entreprise").click();
18-
cy.iframe().contains("Conventions collectives").as("cc");
19-
cy.get("@cc").click();
20-
});
21-
22-
it("should display the widget", () => {
23-
cy.visit(
24-
"https://socialgouv.github.io/cdtn-admin/trouver-sa-convention-collective-sans-redirection"
25-
);
26-
2712
cy.iframe()
28-
.contains("Trouver sa convention collective")
29-
.should("be.visible");
30-
cy.iframe().find("#enterprise-search").as("entreprise-search");
13+
// @ts-ignore
14+
.findByLabel("Nom de votre entreprise ou numéro Siren/Siret")
15+
.as("entreprise-search");
3116
cy.get("@entreprise-search").type("carrefour");
3217
cy.iframe().find("button[type=submit]").as("button-submit");
3318
cy.get("@button-submit").click();
3419
cy.iframe().contains("CARREFOUR HYPERMARCHES").as("entreprise");
3520
cy.get("@entreprise").click();
36-
cy.iframe().contains("Conventions collectives").as("cc");
21+
cy.iframe()
22+
.contains(
23+
"Commerce de détail et de gros à prédominance alimentaire IDCC 2216"
24+
)
25+
.as("cc");
3726
cy.get("@cc").click();
3827
});
3928
});

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ describe("Outil - Trouver sa convention collective", () => {
22
it("Recherche de convention collective je la saisis", () => {
33
cy.visit("/widgets/convention-collective");
44
cy.checkNoIndex(true);
5+
cy.checkCanonical("/outils/convention-collective");
56
});
67
});
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
"use client";
2+
import { fr } from "@codegouvfr/react-dsfr";
3+
import { css } from "@styled-system/css";
4+
import Link from "next/link";
5+
6+
export const LogoLink = () => {
7+
return (
8+
<>
9+
<Link
10+
title="Code du travail numérique, Ministère du Travail"
11+
href="/"
12+
target="_blank"
13+
className={noTarget}
14+
>
15+
<img
16+
className={fr.cx("fr-responsive-img")}
17+
src="/static/assets/img/logo.svg"
18+
alt="Code du travail numérique"
19+
data-fr-js-ratio="true"
20+
/>
21+
</Link>
22+
</>
23+
);
24+
};
25+
26+
const noTarget = css({
27+
_after: {
28+
display: "none !important",
29+
},
30+
});

packages/code-du-travail-frontend/src/modules/enterprise/EnterpriseAgreementSearch/EnterpriseAgreementSelection.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export const EnterpriseAgreementSelection = ({
9999
classes={{
100100
title: `${fr.cx("fr-h5")} ${CardTitleStyle} ${disabled ? disabledTitle : ""}`,
101101
content: `${fr.cx("fr-px-2w", "fr-pt-1w", "fr-pb-7v")} ${disabled ? disabledContent : ""}`,
102-
desc: fr.cx("fr-mt-1w", "fr-mr-6w"),
102+
desc: fr.cx("fr-mt-1w", "fr-mr-8w"),
103103
end: fr.cx("fr-hidden"),
104104
root: `${disabled ? disabledRoot : ""}`,
105105
}}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
"use client";
2+
import { ReactNode, useEffect } from "react";
3+
import { fr } from "@codegouvfr/react-dsfr";
4+
import { useIframeResizer } from "../../../src/common/hooks";
5+
import Link from "next/link";
6+
import { useIsDark } from "@codegouvfr/react-dsfr/useIsDark";
7+
import { LogoLink } from "../common/LogoLink";
8+
9+
type Props = {
10+
children: ReactNode;
11+
};
12+
13+
export const ContainerWidget = ({ children }: Props) => {
14+
const { setIsDark } = useIsDark();
15+
16+
useEffect(() => {
17+
setIsDark(false);
18+
}, []);
19+
20+
useIframeResizer();
21+
return (
22+
<>
23+
<meta name="robots" content="noindex,nofollow" />
24+
{children}
25+
<div
26+
className={fr.cx(
27+
"fr-grid-row",
28+
"fr-grid-row--middle",
29+
"fr-grid-row--gutters",
30+
"fr-mx-md-3w",
31+
"fr-mx-1w"
32+
)}
33+
>
34+
<div className={fr.cx("fr-col-md-10", "fr-col-sm-8", "fr-col-6")}>
35+
<Link href="/politique-confidentialite" target="_blank">
36+
Politique de confidentialité
37+
</Link>
38+
</div>
39+
<div className={fr.cx("fr-col-md-2", "fr-col-sm-4", "fr-col-6")}>
40+
<LogoLink />
41+
</div>
42+
</div>
43+
</>
44+
);
45+
};

packages/code-du-travail-frontend/src/modules/outils/convention-collective/FindAgreementBlock.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export const FindAgreementBlock = ({
1919
return (
2020
<div
2121
id="convention-collective"
22-
className={`${fr.cx("fr-px-3w", "fr-pt-4w", "fr-pb-11v")} ${noBackground ? "" : block}`}
22+
className={`${fr.cx("fr-px-md-3w", "fr-px-1w", "fr-pt-4w", "fr-pb-11v")} ${noBackground ? "" : block}`}
2323
>
2424
<div className={"fr-grid-row"}>
2525
<Image
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
"use client";
22
import { ReactNode } from "react";
33
import { FindAgreementBlock } from "./FindAgreementBlock";
4-
import { useIframeResizer } from "../../../../src/common/hooks";
4+
import { ContainerWidget } from "src/modules/layout/ContainerWidget";
55

66
type Props = {
77
children: ReactNode;
88
};
99

1010
export const FindAgreementWidgetLayout = ({ children }: Props) => {
11-
useIframeResizer();
1211
return (
1312
<>
14-
<meta name="robots" content="noindex,nofollow" />
15-
<FindAgreementBlock noBackground>{children}</FindAgreementBlock>
13+
<ContainerWidget>
14+
<FindAgreementBlock noBackground>{children}</FindAgreementBlock>
15+
</ContainerWidget>
1616
</>
1717
);
1818
};

packages/code-du-travail-frontend/src/modules/widgets/WidgetWithIframeResizer.tsx

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
"use client";
22

33
import { fr } from "@codegouvfr/react-dsfr";
4+
import { css } from "@styled-system/css";
45
import { useIframeResizer } from "../../common/hooks";
5-
import Link from "next/link";
66
import { useIsDark } from "@codegouvfr/react-dsfr/useIsDark";
77
import { useEffect } from "react";
8+
import { LogoLink } from "../common/LogoLink";
89

910
export function WidgetWithIframeResizer({
1011
children,
@@ -35,17 +36,7 @@ export function WidgetWithIframeResizer({
3536
</div>
3637

3738
<div className={fr.cx("fr-col-4", "fr-col-offset-md-1", "fr-col-md-2")}>
38-
<Link
39-
title="Code du travail numérique, Ministère du Travail"
40-
href="/"
41-
>
42-
<img
43-
className="fr-responsive-img"
44-
src="/static/assets/img/logo.svg"
45-
alt="Code du travail numérique"
46-
data-fr-js-ratio="true"
47-
/>
48-
</Link>
39+
<LogoLink />
4940
</div>
5041
<div className={fr.cx("fr-col-12", "fr-col-md-9")}>{children}</div>
5142
</div>

0 commit comments

Comments
 (0)