mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 16:03:21 +00:00
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]
This commit is contained in:
26
Front-End/src/hooks/useCalendar.js
Normal file
26
Front-End/src/hooks/useCalendar.js
Normal file
@ -0,0 +1,26 @@
|
||||
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
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user