Modification du calendrier (prise de rdv seulement sur une heure)

master
Tristan BARLET 3 years ago
parent 22eb81c749
commit 381ed71e48

@ -1,24 +1,24 @@
import React, { useState } from 'react'; import React, { useState } from 'react';
import "react-datepicker/dist/react-datepicker.css"; import "react-datepicker/dist/react-datepicker.css";
import NavigationDashboard from '../components/NavigationDashboard'; import NavigationDashboard from '../components/NavigationDashboard';
import format from "date-fns/format"; import format from "date-fns/format";
import getDay from "date-fns/getDay"; import getDay from "date-fns/getDay";
import parse from "date-fns/parse"; import parse from "date-fns/parse";
import startOfWeek from "date-fns/startOfWeek"; import startOfWeek from "date-fns/startOfWeek";
import { Calendar, dateFnsLocalizer } from "react-big-calendar"; import { Calendar, dateFnsLocalizer } from "react-big-calendar";
import "react-big-calendar/lib/css/react-big-calendar.css"; import "react-big-calendar/lib/css/react-big-calendar.css";
import DatePicker from "react-datepicker";
const locales = { const locales = {
"en-US": require("date-fns/locale/en-US"), 'fr': require('date-fns/locale/fr')
}; };
const localizer = dateFnsLocalizer({ const localizer = dateFnsLocalizer({
format, format,
parse, parse,
startOfWeek, startOfWeek,
getDay, getDay,
locales locales,
}); });
const events = [ const events = [
@ -34,10 +34,15 @@ const Calendrier = () => {
if (localStorage.getItem('theme') && localStorage.getItem("theme") !== '' && localStorage.getItem("theme") !== theme) { if (localStorage.getItem('theme') && localStorage.getItem("theme") !== '' && localStorage.getItem("theme") !== theme) {
setTheme(localStorage.getItem("theme")) setTheme(localStorage.getItem("theme"))
} }
const [newEvent, setNewEvent] = useState({title: "", start: "", end:""}); const [titre, setTitre] = useState("");
const [jour , setJour] = useState(new Date());
const [heureDebut, setHeureDebut] = useState(new Date());
const [heureFin, setHeureFin] = useState(new Date());
const [allEvents, setAllEvents] = useState(events); const [allEvents, setAllEvents] = useState(events);
function handleAddEvent() { function handleAddEvent() {
const newEvent = { title: titre, start: new Date(jour+" "+heureDebut), end: new Date(jour+" "+heureFin) };
setAllEvents([...allEvents, newEvent]); setAllEvents([...allEvents, newEvent]);
} }
@ -62,18 +67,24 @@ const Calendrier = () => {
<h2 className="Titre">Ajouter un évènement <h2 className="Titre">Ajouter un évènement
<div className="mini_formulaire_evenement"> <div className="mini_formulaire_evenement">
<input className="ajout_input" type="text" placeholder="Ajoutez un titre" style={{height: "20px", width: "100%", marginRight: "10px"}} <input className="ajout_input" type="text" placeholder="Ajoutez un titre" style={{height: "20px", width: "100%", marginRight: "10px"}}
value={newEvent.Titre} onChange={(e) => setNewEvent({...newEvent, title: e.target.value})}/> onChange={(e) => setTitre(e.target.value)} />
<DatePicker className="ajout_input" placeholderText="Date de début" style={{height: "20px", width: "100%", marginRight: "10px"}} <input className='date' type="date" placeholder="Ajoutez un jour" style={{height: "20px", width: "100%", marginRight: "10px"}}
selected={newEvent.start} onChange={(start) => setNewEvent({...newEvent, start})} /> onChange={(e) => setJour(e.target.value)} />
<DatePicker className="ajout_input" placeholderText="Date de fin" style={{height: "20px", width: "100%"}} <input className='date' type="time" placeholder="Ajoutez une heure de début" style={{height: "20px", width: "100%", marginRight: "10px"}}
selected={newEvent.end} onChange={(end) => setNewEvent({...newEvent, end})} /> onChange={(e) => setHeureDebut(e.target.value)} />
<input className='date' type="time" placeholder="Ajoutez une heure de fin" style={{height: "20px", width: "100%", marginRight: "10px"}}
onChange={(e) => setHeureFin(e.target.value)} />
</div> </div>
<button className="bouton_ajout" onClick={handleAddEvent}> <button className="bouton_ajout" onClick={handleAddEvent}>
<p>Ajouter l'évènement</p> <p>Ajouter l'évènement</p>
</button> </button>
</h2> </h2>
<Calendar localizer={localizer} events={allEvents} <Calendar localizer={localizer} events={allEvents} defaultView="week"
startAccessor="start" endAccessor="end" style={{height: "100%", width:"99%"}}/> startAccessor="start" endAccessor="end" style={{height: "100%", width:"99%"}} />
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save