Skip to content

Commit 2ce22e1

Browse files
committed
Preregister : form added
1 parent 407cfc7 commit 2ce22e1

File tree

4 files changed

+97
-46
lines changed

4 files changed

+97
-46
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ frontend/node_modules/
33

44
# Ignorer les node_modules du backend
55
backend/node_modules/
6+
backend/uploads/
67

78
# Autres fichiers à ignorer
89
.DS_Store
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,51 @@
11
export const ParrainageNewStudent = () => {
2-
return (
3-
<div className="container-parrainage bg-gray-50 min-h-screen flex flex-col justify-center items-center py-12">
4-
<div className="header-parrainage text-center mb-8 px-4 sm:px-6 lg:px-8">
5-
<h3 className="text-2xl font-semibold text-gray-800 mb-4">
6-
Tu vas intégrer l'UTT et tu souhaites être accompagné par un étudiant pour connaître encore mieux ta nouvelle école ?
7-
</h3>
8-
<h3 className="text-lg text-gray-600">
9-
Alors remplis ce formulaire sans plus attendre !
10-
</h3>
11-
</div>
12-
<div className="iframe-container-parrainage w-full max-w-3xl px-4 sm:px-6 lg:px-8">
13-
<div className="relative pb-[56.25%]"> {/* Aspect Ratio: 16:9 */}
14-
<iframe
15-
src="https://docs.google.com/forms/d/e/1FAIpQLScRSe2IMVGRA9jMhifQTJiGWbyPJIh6f5g-Spzel9dwhGmMFA/viewform?embedded=true"
16-
className="absolute inset-0 w-full h-full border-none rounded-lg"
17-
title="Formulaire de parrainage"
18-
loading="lazy"
19-
>
20-
Chargement…
21-
</iframe>
22-
</div>
2+
return (
3+
<section className="w-full bg-white text-gray-800 py-16">
4+
<div className="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
5+
<h2 className="text-2xl sm:text-3xl md:text-4xl font-bold mb-4 text-blue-700">
6+
Tu vas intégrer l'UTT ?
7+
</h2>
8+
<p className="text-base sm:text-lg text-gray-600 mb-10">
9+
Tu souhaites être accompagné par un étudiant pour découvrir ta nouvelle école ? Remplis vite ce formulaire !
10+
</p>
11+
12+
<div className="relative pb-[56.25%] rounded-xl shadow-lg overflow-hidden">
13+
<iframe
14+
src="https://docs.google.com/forms/d/e/1FAIpQLScRSe2IMVGRA9jMhifQTJiGWbyPJIh6f5g-Spzel9dwhGmMFA/viewform?embedded=true"
15+
className="absolute inset-0 w-full h-full border-none"
16+
title="Formulaire Parrainage Nouvel Étudiant"
17+
loading="lazy"
18+
>
19+
Chargement…
20+
</iframe>
2321
</div>
2422
</div>
25-
);
23+
</section>
24+
);
2625
};
27-
26+
2827
export const ParrainageStudent = () => {
29-
return (
30-
<div className="container-parrainage bg-gray-50 min-h-screen flex flex-col justify-center items-center py-12">
31-
<div className="header-parrainage text-center mb-8 px-4 sm:px-6 lg:px-8">
32-
<h3 className="text-2xl font-semibold text-gray-800 mb-4">
33-
Tu vas intégrer l'UTT et tu souhaites être accompagné par un étudiant pour connaître encore mieux ta nouvelle école ?
34-
</h3>
35-
<h3 className="text-lg text-gray-600">
36-
Alors remplis ce formulaire sans plus attendre !
37-
</h3>
38-
</div>
39-
<div className="iframe-container-parrainage w-full max-w-3xl px-4 sm:px-6 lg:px-8">
40-
<div className="relative pb-[56.25%]"> {/* Aspect Ratio: 16:9 */}
41-
<iframe
42-
src="https://docs.google.com/forms/d/e/1FAIpQLScNenNR2mnFXLj9SHkZSGvPlC7u0eH6o9i97Vv30M_BqXGhiQ/viewform?embedded=true "
43-
className="absolute inset-0 w-full h-full border-none rounded-lg"
44-
title="Formulaire de parrainage"
45-
loading="lazy"
46-
>
47-
Chargement…
48-
</iframe>
49-
</div>
28+
return (
29+
<section className="w-full bg-white text-gray-800 py-16">
30+
<div className="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 text-center">
31+
<h2 className="text-2xl sm:text-3xl md:text-4xl font-bold mb-4 text-blue-700">
32+
Tu veux devenir parrain/marraine à l'UTT ?
33+
</h2>
34+
<p className="text-base sm:text-lg text-gray-600 mb-10">
35+
Remplis ce formulaire pour accompagner un nouvel étudiant et lui faire découvrir la vie UTTienne !
36+
</p>
37+
38+
<div className="relative pb-[56.25%] rounded-xl shadow-lg overflow-hidden">
39+
<iframe
40+
src="https://docs.google.com/forms/d/e/1FAIpQLScNenNR2mnFXLj9SHkZSGvPlC7u0eH6o9i97Vv30M_BqXGhiQ/viewform?embedded=true"
41+
className="absolute inset-0 w-full h-full border-none"
42+
title="Formulaire Parrainage Étudiant Actuel"
43+
loading="lazy"
44+
>
45+
Chargement…
46+
</iframe>
5047
</div>
5148
</div>
52-
);
53-
};
49+
</section>
50+
);
51+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import { useEffect, useState } from "react";
2+
import { checkPreRegisterStatus } from "../../services/requests/event.service";
3+
4+
export const PreregisterGform = () => {
5+
const [isPreRegistrationOpen, setIsPreRegistrationOpen] = useState(false);
6+
7+
useEffect(() => {
8+
const fetchStatus = async () => {
9+
try {
10+
const status = await checkPreRegisterStatus();
11+
setIsPreRegistrationOpen(status);
12+
} catch (error) {
13+
alert("Erreur lors de la récupération du statut de pré-inscription.");
14+
}
15+
};
16+
fetchStatus();
17+
}, []);
18+
19+
return (
20+
<div className="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8">
21+
<div className="bg-gradient-to-r from-blue-100 via-blue-200 to-blue-300 rounded-xl shadow-lg p-6 sm:p-8">
22+
{isPreRegistrationOpen ? (
23+
<>
24+
<h2 className="text-2xl sm:text-3xl md:text-4xl font-bold mb-4 text-center text-blue-700">
25+
Tu souhaites être CE à l'intégration ?
26+
</h2>
27+
<p className="text-base sm:text-lg text-gray-700 text-center mb-8">
28+
Alors remplis ce formulaire sans plus attendre pour nous montrer tes motivations !
29+
</p>
30+
31+
<div className="relative pb-[56.25%] rounded-lg shadow overflow-hidden">
32+
<iframe
33+
src="https://forms.gle/sDATUvd32srA3AKr8"
34+
className="absolute inset-0 w-full h-full border-none"
35+
title="Formulaire de parrainage"
36+
loading="lazy"
37+
>
38+
Chargement…
39+
</iframe>
40+
</div>
41+
</>
42+
) : (
43+
<p className="text-center text-red-500 text-lg font-semibold">
44+
La pré-inscription est actuellement fermée.
45+
</p>
46+
)}
47+
</div>
48+
</div>
49+
);
50+
};

frontend/src/pages/Shotgun.tsx

+2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Navbar } from "../components/navbar";
2+
import { PreregisterGform } from "../components/shotgun/preregisterGForm";
23
import { TeamRegistration } from "../components/shotgun/preregisterSection";
34
import { Shotgun } from "../components/shotgun/shotgunSection";
45

@@ -12,6 +13,7 @@ export const ShotgunPage = () => (
1213

1314
{/* Ajout d'un espacement entre les composants */}
1415
<TeamRegistration />
16+
<PreregisterGform/>
1517
<Shotgun />
1618
</div>
1719
</div>

0 commit comments

Comments
 (0)