Événements du {formatDateLetterJS(selectedDay.date)}
{selectedDay.events.length > 0 ? (
@@ -123,4 +123,4 @@ function Calendar({ events = [] }) {
);
}
-export default Calendar;
+export default Calendar;
\ No newline at end of file
diff --git a/src/components/homePage/calendar.module.css b/src/components/homePage/calendar.module.css
index e7eb2ad..9bbfda8 100644
--- a/src/components/homePage/calendar.module.css
+++ b/src/components/homePage/calendar.module.css
@@ -137,7 +137,7 @@
.glassCard {
width: 45%;
- max-height: 450px;
+ max-height: 100%;
margin: 16px 0 16px 0;
padding: 10px 20px 10px 20px;
height: fit-content;
diff --git a/src/components/homePage/eventList.jsx b/src/components/homePage/eventList.jsx
index 3643509..3d9b366 100644
--- a/src/components/homePage/eventList.jsx
+++ b/src/components/homePage/eventList.jsx
@@ -13,17 +13,17 @@ function EventList({ events }) {
return (
-
+
Liste des événements à venir
{sortedEvents.length > 0 ? (
- {sortedEvents.map((eventGroup, index) => (
-
- -
+ {sortedEvents.map((eventGroup) => (
+
-
{eventGroup.name}
-
{formatDateLetter(eventGroup.start)} - {formatDateLetter(eventGroup.end)}
+
{formatDateLetter(eventGroup.start)}
+ {/* TODO: Faire une liste déroulante pour ne plus afficher les tache */}
{eventGroup.tasks.map((task, i) => (
-
diff --git a/src/components/homePage/eventList.module.css b/src/components/homePage/eventList.module.css
index 01dc53d..6bb0b67 100644
--- a/src/components/homePage/eventList.module.css
+++ b/src/components/homePage/eventList.module.css
@@ -1,6 +1,6 @@
.glassCard {
width: 45%;
- max-height: 450px;
+ max-height: 100%;
margin: 16px 0 16px 0;
padding: 10px 20px 10px 20px;
height: fit-content;
@@ -50,7 +50,7 @@ h2{
}
.eventGroup{
- margin: 16px 0 16px 0;
+ margin: 16px 0px 16px 0px;
padding: 10px 20px 10px 20px;
border-radius: 20px;
border: none;
diff --git a/src/index.css b/src/index.css
index 0f27f8a..be95afd 100644
--- a/src/index.css
+++ b/src/index.css
@@ -52,15 +52,30 @@ body {
}
-
.glassCard {
- background: rgba(255, 255, 255, 0.2);
- backdrop-filter: blur(10px);
- border-radius: 20px;
- padding: 15px;
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
- border: 1px solid rgba(255, 255, 255, 0.3);
+ padding: 10px 20px 10px 20px;
+ background: rgba(255, 255, 255, 0.54);
+ backdrop-filter: blur(3px);
+ -webkit-backdrop-filter: blur(3px);
+ border-radius: 20px;
+ border: 1px solid rgba(255, 255, 255, 0.2);
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1),
+ inset 0 1px 0 rgba(255, 255, 255, 0.3),
+ inset 0 -1px 0 rgba(255, 255, 255, 0.05),
+ inset 0 0 8px 4px rgba(255, 255, 255, 0.2);
}
+
+.glassBorder{
+ border-radius: 20px;
+ border: none;
+ background: rgba(255, 255, 255, 0.5);
+ box-shadow:
+ inset 1.25px 1.25px 1px rgba(255, 255, 255, 1),
+ inset -1.25px -1.25px 1px rgba(255, 255, 255, 1),
+ inset -0.25px 0.25px 1px rgba(0, 0, 0, 0.2),
+ inset 0.25px -0.25px 1px rgba(0, 0, 0, 0.2);
+}
+
h1 {
font-size: 3.2em;
line-height: 1.1;
diff --git a/src/pages/eventDetail/eventDetail.jsx b/src/pages/eventDetail/eventDetail.jsx
new file mode 100644
index 0000000..4d4669a
--- /dev/null
+++ b/src/pages/eventDetail/eventDetail.jsx
@@ -0,0 +1,70 @@
+import {useState} from "react";
+import styles from "./eventDetail.module.css";
+import { useParams } from "react-router";
+
+
+function eventDetail() {
+
+ const params = useParams();
+ const id = params.id;
+
+ const [tasks, setTasks] = useState([
+ { text: "Préparer les slides", registered: false },
+ { text: "Réserver la salle", registered: false },
+ { text: "Envoyer les invitations", registered: false },
+ { text: "Tester la configuration technique", registered: false },
+ { text: "Organiser le catering", registered: false },
+ ]);
+
+ const event = {
+ title: "Conférence React 2025",
+ date: "27 Décembre 2025",
+ location: "Paris, France",
+ description: "azertyuiop azertyuiop azertyuiop azertyuiop azertyuiop azertyuiop azertyuiop azertyuiop azertyuiop azertyuiop azertyuiop azertyuiop"
+ };
+
+ const toggleRegister = (index) => {
+ setTasks((prevTasks) =>
+ prevTasks.map((task, i) =>
+ i === index
+ ? { ...task, registered: !task.registered }
+ : task
+ )
+ );
+ };
+
+ return (
+
+
+
+

+
+
{event.title}
+
Date: {event.date}
+
Lieu: {event.location}
+
Description: {event.description}
+
+
+
+
Tâches
+
+
+
+ );
+}
+
+export default eventDetail;
\ No newline at end of file
diff --git a/src/pages/eventDetail/eventDetail.module.css b/src/pages/eventDetail/eventDetail.module.css
new file mode 100644
index 0000000..4c81bb5
--- /dev/null
+++ b/src/pages/eventDetail/eventDetail.module.css
@@ -0,0 +1,92 @@
+.allContent{
+ margin: 16px 0px 16px 0px;
+ align-self: center;
+ width: 90%;
+}
+
+
+.textImage {
+ display: flex;
+ gap: 24px;
+}
+
+.eventImage {
+ width: 40%;
+ aspect-ratio: 16 / 9;
+ background-color: #e0e0e0;
+ border-radius: 16px;
+ flex-shrink: 0;
+}
+
+.eventInfo {
+ flex: 1;
+ min-width: 0;
+ overflow-wrap: break-word;
+}
+
+.eventInfo p {
+ white-space: normal;
+ overflow-wrap: break-word;
+}
+
+.eventImage {
+ width: 40%;
+ height: 100%;
+ aspect-ratio: 16 / 9;
+ background-color: #e0e0e0;
+ border-radius: 16px;
+ flex-shrink: 0;
+}
+
+.registerButton {
+ margin-left: auto;
+ padding: 5px 10px;
+ border-radius: 12px;
+ border: none;
+ cursor: pointer;
+ background: #019AFF;
+ color: white;
+ font-weight: 600;
+}
+
+.registerButton:hover {
+ opacity: 0.85;
+}
+
+.tasksButton {
+ display: flex;
+ align-items: center;
+ gap: 16px;
+}
+
+.tasks {
+ list-style: none;
+ padding: 0;
+}
+
+.tasks li {
+ margin: 16px 0px 16px 0px;
+ padding: 10px 20px 10px 20px;
+ border-radius: 20px;
+ border: none;
+ background: transparent;
+ box-shadow:
+ inset 1.25px 1.25px 1px rgba(255, 255, 255, 1),
+ inset -1.25px -1.25px 1px rgba(255, 255, 255, 1),
+ inset -0.25px 0.25px 1px rgba(0, 0, 0, 0.2),
+ inset 0.25px -0.25px 1px rgba(0, 0, 0, 0.2);
+ opacity: 0;
+ animation: fadeInUp 0.6s ease-out forwards;
+ animation-delay: calc(var(--i) * 0.1s);
+}
+
+@keyframes fadeInUp {
+ from {
+ opacity: 0;
+ transform: translateY(10px);
+ }
+ to {
+ opacity: 1;
+ transform: translateY(0);
+ }
+}
diff --git a/src/router.js b/src/router.js
index 73e049e..9e3d04f 100644
--- a/src/router.js
+++ b/src/router.js
@@ -10,6 +10,7 @@ import AdminPage from "./pages/Admin/AdminPage.jsx";
import ValidationErrorPage from "./pages/waitValidationPage/ValidationErrorPage.jsx";
import VolunteerProfilePage from "./pages/VolunteerProfile/VolunteerProfilePage.jsx";
import PageNotFound from "./pages/PageNotFound/PageNotFound.jsx";
+import eventDetail from "./pages/eventDetail/eventDetail.jsx";
const router = createBrowserRouter([
{
@@ -59,7 +60,11 @@ const router = createBrowserRouter([
{
path: "/profile/:id",
Component: VolunteerProfilePage,
- }
+ },
+ {
+ path: "/events/:id",
+ Component: eventDetail,
+ },
]
}
])