Files
n3wt-school/Front-End/src/hooks/useCalendar.js
Luc SORIGNET af0cd1c840 chore: Initial Commit
feat: Gestion des inscriptions [#1]
feat(frontend): Création des vues pour le paramétrage de l'école [#2]
feat: Gestion du login [#6]
fix: Correction lors de la migration des modèle [#8]
feat: Révision du menu principal [#9]
feat: Ajout d'un footer [#10]
feat: Création des dockers compose pour les environnements de
développement et de production [#12]
doc(ci): Mise en place de Husky et d'un suivi de version automatique [#14]
2024-11-18 16:06:21 +01:00

26 lines
769 B
JavaScript

import { useState } from 'react';
import { addDays, addMonths, addYears } from 'date-fns';
export function useCalendar() {
const [currentDate, setCurrentDate] = useState(new Date());
const [viewType, setViewType] = useState('week');
const navigateDate = (direction) => {
const newDate = new Date(currentDate);
const operations = {
week: (date) => direction === 'prev' ? addDays(date, -7) : addDays(date, 7),
month: (date) => direction === 'prev' ? addMonths(date, -1) : addMonths(date, 1),
year: (date) => direction === 'prev' ? addYears(date, -1) : addYears(date, 1)
};
setCurrentDate(operations[viewType](newDate));
};
return {
currentDate,
setCurrentDate,
viewType,
setViewType,
navigateDate
};
}