Skip to content

Commit e8dbf70

Browse files
committed
feat(admin):finish empty state welcome screens
1 parent a8b9134 commit e8dbf70

File tree

5 files changed

+153
-3
lines changed

5 files changed

+153
-3
lines changed

packages/reva-admin-react/public/components/information.svg

Lines changed: 19 additions & 0 deletions
Loading

packages/reva-admin-react/public/components/warning.svg

Lines changed: 20 additions & 0 deletions
Loading

packages/reva-admin-react/src/app/responsable-certifications/certifications/layout.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,10 @@ export default function CertificationsLayout({
7474
<nav
7575
role="navigation"
7676
aria-label="Menu latéral"
77-
className="flex flex-col gap-4 md:basis-[400px]"
77+
className="flex flex-col gap-4 md:basis-[300px]"
7878
>
7979
<SideMenu
80-
className="flex-shrink-0 flex-grow-0 md:basis-[400px]"
80+
className="flex-shrink-0 flex-grow-0 md:basis-[300px]"
8181
align="left"
8282
burgerMenuButtonText="Toutes les certifications"
8383
sticky
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,114 @@
1+
"use client";
2+
import { useEffect } from "react";
3+
import { usePathname, useSearchParams, useRouter } from "next/navigation";
4+
import Image from "next/image";
5+
import Button from "@codegouvfr/react-dsfr/Button";
6+
7+
const NoCertificationsToValidate = () => {
8+
return (
9+
<div className="grid grid-cols-3 grid-rows-1 w-11/12 m-auto">
10+
<div className="col-span-2 m-auto">
11+
<h1 className="">Aucune certification à valider</h1>
12+
<p className="text-lg">
13+
Pour le moment, vous n’avez rien à valider. Si vous avez demandé
14+
l’ajout d’une ou de plusieurs certifications, elles s’afficheront ici
15+
très prochainement !
16+
</p>
17+
</div>
18+
<div className="m-auto">
19+
<Image
20+
src="/admin2/components/information.svg"
21+
alt="Success pictogram"
22+
width={282}
23+
height={319}
24+
/>
25+
</div>
26+
</div>
27+
);
28+
};
29+
30+
const NoVisibleCertifications = () => {
31+
return (
32+
<div className="grid grid-cols-3 grid-rows-1 w-11/12 m-auto">
33+
<div className="col-span-2 m-auto">
34+
<h1 className="">Aucune certification visible</h1>
35+
<p className="text-lg mb-0">
36+
Pour être visible, la certification doit être validée par vos soins et
37+
active sur France compétences.
38+
</p>
39+
<Button
40+
linkProps={{
41+
href: "/responsable-certifications/certifications?CATEGORY=TO_VALIDATE",
42+
}}
43+
priority="tertiary"
44+
className="mt-10"
45+
>
46+
Voir les certifications à valider
47+
</Button>
48+
</div>
49+
<div className="m-auto">
50+
<Image
51+
src="/admin2/components/warning.svg"
52+
alt="Success pictogram"
53+
width={282}
54+
height={319}
55+
/>
56+
</div>
57+
</div>
58+
);
59+
};
60+
61+
const NoInisibleCertifications = () => {
62+
return (
63+
<div className="grid grid-cols-3 grid-rows-1 w-11/12 m-auto">
64+
<div className="col-span-2 m-auto">
65+
<h1 className="">Aucune certification invisible</h1>
66+
<p className="text-lg mb-0">
67+
Retrouvez ici les certifications qui ne sont pas ou plus visibles sur
68+
la plateforme France VAE.
69+
</p>
70+
</div>
71+
<div className="m-auto">
72+
<Image
73+
src="/admin2/components/information.svg"
74+
alt="Success pictogram"
75+
width={282}
76+
height={319}
77+
/>
78+
</div>
79+
</div>
80+
);
81+
};
82+
183
export default function RegistryManagerHomepage() {
84+
const searchParams = useSearchParams();
85+
const currentPathname = usePathname();
86+
const page = searchParams.get("page");
87+
const category = searchParams.get("CATEGORY");
88+
89+
const { replace } = useRouter();
90+
91+
useEffect(() => {
92+
const params = new URLSearchParams();
93+
params.set("CATEGORY", category || "TO_VALIDATE");
94+
params.set("page", page || "1");
95+
96+
if (!page || !category) {
97+
replace(`${currentPathname}?${params.toString()}`);
98+
}
99+
}, [replace, page, category, currentPathname]);
100+
101+
if (category === "TO_VALIDATE") {
102+
return <NoCertificationsToValidate />;
103+
}
104+
105+
if (category === "VISIBLE") {
106+
return <NoVisibleCertifications />;
107+
}
108+
109+
if (category === "INVISIBLE") {
110+
return <NoInisibleCertifications />;
111+
}
112+
2113
return <div>liste</div>;
3114
}

packages/reva-admin-react/src/app/responsable-certifications/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// import { ReactNode } from "react";
1+
"use client";
22
import Image from "next/image";
33
import Button from "@codegouvfr/react-dsfr/Button";
44
import { redirect } from "next/navigation";

0 commit comments

Comments
 (0)