+ {['Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam', 'Dim'].map((day) => (
+
))}
@@ -83,4 +96,4 @@ const MonthView = ({ onDateClick, onEventClick }) => {
);
};
-export default MonthView;
\ No newline at end of file
+export default MonthView;
diff --git a/Front-End/src/components/Calendar/PlanningView.js b/Front-End/src/components/Calendar/PlanningView.js
index a3e71a9..ee0fb30 100644
--- a/Front-End/src/components/Calendar/PlanningView.js
+++ b/Front-End/src/components/Calendar/PlanningView.js
@@ -15,17 +15,20 @@ const PlanningView = ({ events, onEventClick }) => {
// Sinon, créer une entrée pour chaque jour
const days = eachDayOfInterval({ start, end });
- return days.map(day => ({
+ return days.map((day) => ({
...event,
displayDate: day,
- isMultiDay: true
+ isMultiDay: true,
}));
};
// Aplatir tous les événements en incluant les événements sur plusieurs jours
const flattenedEvents = events
.flatMap(splitEventByDays)
- .sort((a, b) => new Date(a.displayDate || a.start) - new Date(b.displayDate || b.start));
+ .sort(
+ (a, b) =>
+ new Date(a.displayDate || a.start) - new Date(b.displayDate || b.start)
+ );
return (
@@ -58,26 +61,29 @@ const PlanningView = ({ events, onEventClick }) => {
{format(start, 'd')}
- {format(start, 'MMM', { locale: fr }).toLowerCase()}
- {format(start, 'EEE', { locale: fr })}
+
+ {format(start, 'MMM', { locale: fr }).toLowerCase()}
+
+
+ {format(start, 'EEE', { locale: fr })}
+
|
-
-
+
- {isMultiDay
- ? (isSameDay(start, new Date(event.start))
- ? "À partir de "
- : isSameDay(start, end)
- ? "Jusqu'à "
- : "Toute la journée")
- : ""
- }
- {format(new Date(event.start), 'HH:mm')}
- {!isMultiDay && ` - ${format(end, 'HH:mm')}`}
+ {isMultiDay
+ ? isSameDay(start, new Date(event.start))
+ ? 'À partir de '
+ : isSameDay(start, end)
+ ? "Jusqu'à "
+ : 'Toute la journée'
+ : ''}
+ {format(new Date(event.start), 'HH:mm')}
+ {!isMultiDay && ` - ${format(end, 'HH:mm')}`}
|
@@ -108,4 +114,4 @@ const PlanningView = ({ events, onEventClick }) => {
);
};
-export default PlanningView;
\ No newline at end of file
+export default PlanningView;
diff --git a/Front-End/src/components/Calendar/WeekView.js b/Front-End/src/components/Calendar/WeekView.js
index 2804368..446a835 100644
--- a/Front-End/src/components/Calendar/WeekView.js
+++ b/Front-End/src/components/Calendar/WeekView.js
@@ -1,6 +1,12 @@
import React, { useEffect, useState, useRef } from 'react';
import { usePlanning } from '@/context/PlanningContext';
-import { format, startOfWeek, addDays, differenceInMinutes, isSameDay } from 'date-fns';
+import {
+ format,
+ startOfWeek,
+ addDays,
+ differenceInMinutes,
+ isSameDay,
+} from 'date-fns';
import { fr } from 'date-fns/locale';
import { getWeekEvents } from '@/utils/events';
import { isToday } from 'date-fns';
@@ -16,7 +22,7 @@ const WeekView = ({ onDateClick, onEventClick, events }) => {
const weekDays = Array.from({ length: 7 }, (_, i) => addDays(weekStart, i));
// Maintenant on peut utiliser weekDays
- const isCurrentWeek = weekDays.some(day => isSameDay(day, new Date()));
+ const isCurrentWeek = weekDays.some((day) => isSameDay(day, new Date()));
// Mettre à jour la position de la ligne toutes les minutes
useEffect(() => {
@@ -61,7 +67,7 @@ const WeekView = ({ onDateClick, onEventClick, events }) => {
const eventStart = new Date(event.start);
const eventEnd = new Date(event.end);
- return dayEvents.filter(otherEvent => {
+ return dayEvents.filter((otherEvent) => {
if (otherEvent.id === event.id) return false;
const otherStart = new Date(otherEvent.start);
const otherEnd = new Date(otherEvent.end);
@@ -77,7 +83,7 @@ const WeekView = ({ onDateClick, onEventClick, events }) => {
// Trouver les événements qui se chevauchent
const overlappingEvents = findOverlappingEvents(event, dayEvents);
- const eventIndex = overlappingEvents.findIndex(e => e.id > event.id) + 1;
+ const eventIndex = overlappingEvents.findIndex((e) => e.id > event.id) + 1;
const totalOverlapping = overlappingEvents.length + 1;
// Calculer la largeur et la position horizontale
@@ -93,7 +99,7 @@ const WeekView = ({ onDateClick, onEventClick, events }) => {
borderLeft: `3px solid ${event.color}`,
borderRadius: '0.25rem',
zIndex: 1,
- transform: `translateY(${startMinutes}rem)`
+ transform: `translateY(${startMinutes}rem)`,
};
};
@@ -111,14 +117,24 @@ const WeekView = ({ onDateClick, onEventClick, events }) => {
}}
>
-
+
{event.title}
-
- {format(new Date(event.start), 'HH:mm')} - {format(new Date(event.end), 'HH:mm')}
+
+ {format(new Date(event.start), 'HH:mm')} -{' '}
+ {format(new Date(event.end), 'HH:mm')}
{event.location && (
-
+
{event.location}
)}
@@ -130,7 +146,10 @@ const WeekView = ({ onDateClick, onEventClick, events }) => {
return (
{/* En-tête des jours */}
-
+
{weekDays.map((day) => (
{
{format(day, 'EEEE', { locale: fr })}
-
+
{format(day, 'd', { locale: fr })}
@@ -158,17 +179,17 @@ const WeekView = ({ onDateClick, onEventClick, events }) => {
className="absolute left-0 right-0 z-10 border-emerald-500 border pointer-events-none"
style={{
top: getCurrentTimePosition(),
-
}}
>
-
+
)}
-
- {timeSlots.map(hour => (
+
+ {timeSlots.map((hour) => (
{`${hour.toString().padStart(2, '0')}:00`}
@@ -188,11 +209,15 @@ const WeekView = ({ onDateClick, onEventClick, events }) => {
onDateClick(date);
}}
>
- {/* Ajout de gap-1 */}
- {dayEvents.filter(event => {
- const eventStart = new Date(event.start);
- return eventStart.getHours() === hour;
- }).map(event => renderEventInCell(event, dayEvents))}
+
+ {' '}
+ {/* Ajout de gap-1 */}
+ {dayEvents
+ .filter((event) => {
+ const eventStart = new Date(event.start);
+ return eventStart.getHours() === hour;
+ })
+ .map((event) => renderEventInCell(event, dayEvents))}
);
@@ -205,4 +230,4 @@ const WeekView = ({ onDateClick, onEventClick, events }) => {
);
};
-export default WeekView;
\ No newline at end of file
+export default WeekView;
diff --git a/Front-End/src/components/Calendar/YearView.js b/Front-End/src/components/Calendar/YearView.js
index 0f31967..e6261ed 100644
--- a/Front-End/src/components/Calendar/YearView.js
+++ b/Front-End/src/components/Calendar/YearView.js
@@ -37,7 +37,7 @@ const YearView = ({ onDateClick }) => {
return (
- {months.map(month => (
+ {months.map((month) => (
{
);
};
-export default YearView;
\ No newline at end of file
+export default YearView;
diff --git a/Front-End/src/components/CheckBox.js b/Front-End/src/components/CheckBox.js
index 02f8fd5..7fb6e70 100644
--- a/Front-End/src/components/CheckBox.js
+++ b/Front-End/src/components/CheckBox.js
@@ -1,13 +1,24 @@
import React from 'react';
-const CheckBox = ({ item, formData, handleChange, fieldName, itemLabelFunc = () => null, labelAttenuated = () => false, horizontal }) => {
+const CheckBox = ({
+ item,
+ formData,
+ handleChange,
+ fieldName,
+ itemLabelFunc = () => null,
+ labelAttenuated = () => false,
+ horizontal,
+}) => {
const isChecked = formData[fieldName].includes(parseInt(item.id));
const isAttenuated = labelAttenuated(item) && !isChecked;
return (
-
+
{horizontal && (
- |