Skip to content

Commit 06c4dc7

Browse files
committed
feat: update wording on pages
1 parent 5a1689c commit 06c4dc7

File tree

7 files changed

+83
-35
lines changed

7 files changed

+83
-35
lines changed

src/components/Home/InformationBanner.tsx

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,33 +5,39 @@ import Link from "next/link"
55
const InformationBanner = () => {
66
return (
77
<div>
8-
<h2 className={styles.title}>S'informez sur l'impact environnemental des produits textiles</h2>
8+
<h2 className={styles.title}>Informez-vous sur l'impact environnemental des produits textiles</h2>
99
<div className={styles.cards}>
1010
<Card
1111
background
1212
border
13-
enlargeLink
14-
title="En savoir plus sur l'affichage environnemental"
13+
title='Qu’est-ce que l’affichage environnemental ?'
1514
desc='Porté par le Gouvernement, l’affichage environnemental sur les vêtements sera déployé dès l’automne 2025. Il vise à rendre compte de leur impact environnemental, et à répondre aux propositions de la Convention citoyenne pour le climat et de la loi Climat et Résilience.'
16-
linkProps={{
17-
href: "https://www.ecologie.gouv.fr/politiques-publiques/affichage-environnemental-vetements",
18-
target: "_blank",
19-
rel: "noopener noreferrer",
20-
}}
2115
titleAs='h3'
16+
footer={
17+
<Link
18+
href='https://www.ecologie.gouv.fr/politiques-publiques/affichage-environnemental-vetements'
19+
target='_blank'
20+
rel='noopener noreferrer'
21+
className='fr-link'>
22+
Consultez le site du ministère pour plus d'informations
23+
</Link>
24+
}
2225
/>
2326
<Card
2427
background
2528
border
26-
enlargeLink
2729
title='Comment est calculé le coût environnemental ?'
2830
desc="L'affichage environnemental du textile permet de calculer l'impact de chaque vêtement, en considérant l'ensemble des opérations sur son cycle de vie (ex: fabrication du coton, filage, teinture, ennoblissement, transport, fin de vie)."
29-
linkProps={{
30-
href: "https://fabrique-numerique.gitbook.io/ecobalyse/alimentaire/old/pages-textiles-old/demarche",
31-
target: "_blank",
32-
rel: "noopener noreferrer",
33-
}}
3431
titleAs='h3'
32+
footer={
33+
<Link
34+
href='https://fabrique-numerique.gitbook.io/ecobalyse/alimentaire/old/pages-textiles-old/demarche'
35+
target='_blank'
36+
rel='noopener noreferrer'
37+
className='fr-link'>
38+
Consultez la documentation sur la méthode de calcul
39+
</Link>
40+
}
3541
/>
3642
<Card
3743
background
@@ -46,7 +52,7 @@ const InformationBanner = () => {
4652
target='_blank'
4753
rel='noopener noreferrer'
4854
className='fr-link'>
49-
Le décret
55+
Consultez le décret
5056
</Link>
5157
</li>
5258
<li>
@@ -55,7 +61,7 @@ const InformationBanner = () => {
5561
target='_blank'
5662
rel='noopener noreferrer'
5763
className='fr-link'>
58-
L'arrêté
64+
Consultez l'arrêté
5965
</Link>
6066
</li>
6167
</ul>
@@ -71,12 +77,12 @@ const InformationBanner = () => {
7177
<ul className='fr-links-group'>
7278
<li>
7379
<Link href='/charte.pdf' target='_blank' rel='noopener noreferrer' className='fr-link'>
74-
La charte graphique
80+
Téléchargez la charte graphique (PDF, 2.9 Mo)
7581
</Link>
7682
</li>
7783
<li>
7884
<Link href='/documentation/api' target='_blank' rel='noopener noreferrer' className='fr-link'>
79-
La documentation pour générer l'étiquette
85+
Consultez la documentation API pour générer les étiquettes
8086
</Link>
8187
</li>
8288
</ul>

src/components/Product/Search.tsx

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
"use client"
2+
import Alert from "@codegouvfr/react-dsfr/Alert"
23
import Button from "@codegouvfr/react-dsfr/Button"
34
import Input from "@codegouvfr/react-dsfr/Input"
45
import { useState } from "react"
@@ -7,11 +8,17 @@ const Search = () => {
78
const [gtin, setGTIN] = useState("")
89
return (
910
<>
10-
<p>Veuillez rentrer le code GTIN du produit que vous cherchez</p>
11+
<Alert
12+
severity='info'
13+
className='fr-mb-2w'
14+
title='Ce site est en construction'
15+
description="Le contenu du portail d'affichage environnemental est fourni par les marques de textiles. Comme le service vient tout juste d'être lancé, il se peut que certains produits ne soient pas encore disponibles lors de votre recherche."
16+
/>
17+
<p>Saisissez le code-barres du produit recherché (8 ou 13 chiffres)</p>
1118
<div className='fr-grid-row fr-grid-row--gutters fr-grid-row--center fr-grid-row--middle'>
1219
<Input
1320
className='fr-col-12 fr-col-sm-9 fr-mb-0'
14-
label='Code GTIN'
21+
label='Code-barres'
1522
hideLabel
1623
nativeInputProps={{
1724
value: gtin,

src/components/Upload/Upload.tsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,19 @@ const Upload = () => {
6161
<Alert
6262
data-testid={`upload-${success ? "success" : "error"}`}
6363
className='fr-mt-4w'
64-
title={success ? "Fichier correctement téléchargé" : "Erreur lors de l'analyse du fichier"}
64+
title={
65+
success
66+
? "Votre fichier a été correctement téléchargé"
67+
: "Une erreur est survenue lors de l'analyse du fichier"
68+
}
6569
severity={success ? "success" : "error"}
6670
description={
6771
success ? (
6872
<>
69-
Nous analysons votre fichier pour vérifier qu’il contient l’ensemble des informations réglementaires, au
70-
bon format. Cette étape peut prendre quelques minutes.{" "}
71-
<b>Vous recevrez un mail de confirmation suite à cette analyse</b>. Vous pouvez fermer cet onglet.
73+
Le système va maintenant l’analyser pour vérifier qu’il contient l’ensemble des informations
74+
réglementaires au bon format. Cette étape peut prendre quelques minutes en fonction de la taille de
75+
votre CSV. <b>Une fois l’analyse terminée, vous recevrez un mail vous indiquant le résultat</b>. Vous
76+
pouvez fermer cet onglet.
7277
</>
7378
) : (
7479
<>

src/db/upload.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,15 @@ export const checkUploadsStatus = async (uploadsId: string[]) => {
121121
products: {
122122
select: { status: true },
123123
},
124+
reUploadProducts: {
125+
select: {
126+
product: {
127+
select: {
128+
status: true,
129+
},
130+
},
131+
},
132+
},
124133
},
125134
})
126135

@@ -148,6 +157,7 @@ export const getFirstFileUpload = async () =>
148157
createdAt: true,
149158
createdBy: { select: { email: true, organization: { select: { name: true } } } },
150159
products: { select: { status: true } },
160+
reUploadProducts: { select: { product: { select: { status: true } } } },
151161
},
152162
where: { status: Status.Pending, type: UploadType.FILE },
153163
orderBy: { createdAt: "asc" },

src/services/emails/email.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const send = (toEmail: string[], subject: string, html: string) => {
3131
export const sendUploadSuccessEmail = async (toEmail: string, name: string | null, date: Date) => {
3232
return send(
3333
[toEmail],
34-
"Déclaration validée ✅",
34+
"Votre déclaration a été validée ✅",
3535
await getHtml("upload-success", {
3636
name,
3737
date: date.toLocaleDateString("fr-FR", { timeZone: "Europe/Paris" }),
@@ -50,7 +50,7 @@ export const sendUploadErrorEmail = async (
5050
) => {
5151
return send(
5252
[toEmail],
53-
"Erreurs à corriger ❌",
53+
"Votre déclaration comporte des erreurs à corriger ❌",
5454
await getHtml("upload-error", {
5555
name,
5656
date: date.toLocaleDateString("fr-FR", { timeZone: "Europe/Paris" }),

src/services/emails/views/upload-error.ejs

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,41 @@
22
<body>
33
<p>Bonjour,</p>
44
<p>
5-
Votre déclaration affichage environnementale <b><%= name %></b> déposé le <%= date %> à <%= time %> présente des
6-
<b>erreurs</b>.
5+
Votre déclaration affichage environnementale <b><%= name %></b> déposé le <%= date %> à <%= time %> a été analysée.
6+
</p>
7+
<p>
8+
Elle présente des <b>erreurs</b>.
79
</p>
810
<% if(total === 0) { %>
911
<p>Nous n'avons pas réussi à analyser votre fichier.</p>
12+
<% } else if (total === 1) { %>
13+
<p>Le produit déclaré présente une ou plusieurs erreurs ❌</p>
1014
<% } else { %>
1115
<p>Sur les <%= total %> produits déclarés :</p>
1216
<ul>
13-
<li><%= success %> ont bien été validés ✅</li>
14-
<li><%= error %> présentent une ou plusieurs erreurs ❌</li>
17+
<% if(success === 0) { %>
18+
<li>Aucun produit n'a été validé</li>
19+
<% } else if(success === 1) { %>
20+
<li>1 a bien été validé ✅</li>
21+
<% } else { %>
22+
<li><%= success %> ont bien été validés ✅</li>
23+
<% } %>
24+
<% if(error === 1) { %>
25+
<li>1 présente une ou plusieurs erreurs ❌</li>
26+
<% } else { %>
27+
<li><%= error %> présentent une ou plusieurs erreurs ❌</li>
28+
<% } %>
1529
</ul>
1630
<% } %>
1731
<p>
18-
Nous vous invitons à vous connecter à votre espace pour télécharger le fichier depuis
19-
<a href="<%= link %>">votre tableau de suivi</a> pour identifier les modifications à apporter. Vous pourrez
20-
ensuite redéposer votre déclaration.
32+
Nous vous invitons à le corriger :
2133
</p>
34+
<ol>
35+
<li>connectez-vous à votre espace</li>
36+
<li>téléchargez le fichier depuis <a href="<%= link %>">votre tableau de suivi</a></li>
37+
<li>identifiez les modifications à apporter</li>
38+
<li>vous pourrez ensuite redéposer votre déclaration</li>
39+
</ol>
2240
<p>
2341
Si vous rencontrez des difficultés, vous pouvez contacter le support à cette adresse :
2442
<a href="mailto:<%= support %>"><%= support %></a>

src/services/upload.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,17 @@ export const failUpload = async (
66
upload: Pick<Upload, "id" | "name" | "createdAt"> & {
77
createdBy: Pick<User, "email">
88
products: Pick<Product, "status">[]
9+
reUploadProducts: { product: Pick<Product, "status"> }[]
910
},
1011
message?: string,
1112
) => {
1213
sendUploadErrorEmail(
1314
upload.createdBy.email,
1415
upload.name,
1516
upload.createdAt,
16-
upload.products.length,
17-
upload.products.filter((p) => p.status === "Done").length,
17+
upload.products.length + upload.reUploadProducts.length,
18+
upload.products.filter((p) => p.status === "Done").length +
19+
upload.reUploadProducts.filter((p) => p.product.status === "Done").length,
1820
)
1921
return updateUploadToError(upload.id, message)
2022
}

0 commit comments

Comments
 (0)