Skip to content
Snippets Groups Projects
Commit 8d6530ad authored by Antoine Gaudron-Desjardins's avatar Antoine Gaudron-Desjardins
Browse files

lint front

parent 06ad256d
Branches tp2-correction
No related tags found
1 merge request!23Extract stats
Pipeline #43843 failed
import React from 'react'; import React from "react";
import axios from "axios" import axios from "axios";
import { AreaChart, Area, XAxis, YAxis, CartesianGrid, Tooltip, ResponsiveContainer } from 'recharts'; import {
AreaChart,
Area,
XAxis,
YAxis,
CartesianGrid,
Tooltip,
ResponsiveContainer,
} from "recharts";
import gradient from "./gradient"; import gradient from "./gradient";
import styles from "../styles/Graph.css" import "../styles/Graph.css";
export default function DailyGraph({
export default function DailyGraph({place, day, min_time_hour, min_time_mn, max_time_hour, max_time_mn, interval}) { place,
const url = process.env.REACT_APP_BASE_URL_BACK + '/' + place + '/stats/' + day + '/' + min_time_hour + '/' + min_time_mn day,
+ '/' + max_time_hour + '/' + max_time_mn + '/' + interval min_time_hour,
min_time_mn,
max_time_hour,
max_time_mn,
interval,
}) {
const url =
process.env.REACT_APP_BASE_URL_BACK +
"/" +
place +
"/stats/" +
day +
"/" +
min_time_hour +
"/" +
min_time_mn +
"/" +
max_time_hour +
"/" +
max_time_mn +
"/" +
interval;
const [data, setData] = React.useState([]); const [data, setData] = React.useState([]);
React.useEffect(() => { React.useEffect(() => {
axios.get(url).then((response) => { axios.get(url).then((response) => {
setData(response.data); console.log(response.data); setData(response.data);
console.log(response.data);
}); });
}, [url]); }, [url]);
if (!data) return null; if (!data) return null;
const CustomTooltip = ({ active, payload, label }) => { const CustomTooltip = ({ active, payload }) => {
if (active && payload && payload.length) { if (active && payload && payload.length) {
return ( return (
<div className="custom-tooltip"> <div className="custom-tooltip">
...@@ -29,7 +59,7 @@ export default function DailyGraph({place, day, min_time_hour, min_time_mn, max_ ...@@ -29,7 +59,7 @@ export default function DailyGraph({place, day, min_time_hour, min_time_mn, max_
}; };
return ( return (
<div className='parent'> <div className="parent">
<div className="graph"> <div className="graph">
<ResponsiveContainer width="100%" height="100%"> <ResponsiveContainer width="100%" height="100%">
<AreaChart <AreaChart
...@@ -44,20 +74,20 @@ export default function DailyGraph({place, day, min_time_hour, min_time_mn, max_ ...@@ -44,20 +74,20 @@ export default function DailyGraph({place, day, min_time_hour, min_time_mn, max_
}} }}
> >
{gradient()} {gradient()}
<CartesianGrid <CartesianGrid stroke="#FFFFFF" strokeDasharray="1 5" />
stroke="#FFFFFF"
strokeDasharray="1 5" />
<XAxis <XAxis
axisLine={false} axisLine={false}
tickLine={false} tickLine={false}
tick={{ fill: "#FFFFFF", fontSize: "18" }} tick={{ fill: "#FFFFFF", fontSize: "18" }}
padding={{ left: 20 }} padding={{ left: 20 }}
dataKey="name"/> dataKey="name"
/>
<YAxis <YAxis
axisLine={false} axisLine={false}
tickLine={false} tickLine={false}
tick={{ fill: "#FFFFFF", fontSize: "18" }} tick={{ fill: "#FFFFFF", fontSize: "18" }}
dataKey = "time"/> dataKey="time"
/>
<Tooltip content={<CustomTooltip />} /> <Tooltip content={<CustomTooltip />} />
<Area <Area
type="monotone" type="monotone"
......
...@@ -9,8 +9,11 @@ export default function WaitingTime({ place }) { ...@@ -9,8 +9,11 @@ export default function WaitingTime({ place }) {
React.useEffect(() => { React.useEffect(() => {
axios.get(url).then((response) => { axios.get(url).then((response) => {
if (response.data < 60) {setPost(0)} else{ if (response.data < 60) {
setPost(Math.round(response.data / 60))}; setPost(0);
} else {
setPost(Math.round(response.data / 60));
}
}); });
}, [url]); }, [url]);
...@@ -18,8 +21,8 @@ export default function WaitingTime({ place }) { ...@@ -18,8 +21,8 @@ export default function WaitingTime({ place }) {
return ( return (
<div className="parent"> <div className="parent">
<div className="waiting-time"> <div className="waiting-time">
Temps d'attente estimé à <b>{post} minutes</b>. Temps d&apos;attente estimé à <b>{post} minutes</b>.
</div> </div>
</div> </div>
) );
} }
export { default as Header } from "./Header" export { default as Header } from "./Header";
export { default as Footer } from "./Footer" export { default as Footer } from "./Footer";
export { default as Timetable } from "./Timetable" export { default as Timetable } from "./Timetable";
export { default as WaitingTime } from "./WaitingTime" export { default as WaitingTime } from "./WaitingTime";
export { default as DailyGraph } from "./Graph" export { default as DailyGraph } from "./Graph";
import React from "react"; import React from "react";
import { DailyGraph, Timetable, WaitingTime } from "../components" import { DailyGraph, Timetable, WaitingTime } from "../components";
export default function Eiffel() { export default function Eiffel() {
return ( return (
<div> <div>
<h2> <h2>RU Eiffel</h2>
RU Eiffel
</h2>
<WaitingTime place="eiffel" /> <WaitingTime place="eiffel" />
<DailyGraph place="eiffel" day={3} min_time_hour={12} min_time_mn={0} max_time_hour={12} max_time_mn={40} interval={300}/> <DailyGraph
<Timetable schedule={ { place="eiffel"
'LundiMidi': '11h30 - 14h', day={3}
'LundiSoir': '18h30 - 21h', min_time_hour={12}
'MardiMidi': '11h30 - 14h', min_time_mn={0}
'MardiSoir': '18h30 - 21h', max_time_hour={12}
'MercrediMidi': '11h30 - 14h', max_time_mn={40}
'MercrediSoir': '18h30 - 21h', interval={300}
'JeudiMidi': '11h30 - 14h', />
'JeudiSoir': '18h30 - 21h', <Timetable
'VendrediMidi': '11h30 - 14h', schedule={{
'VendrediSoir': '18h30 - 21h'} }/> LundiMidi: "11h30 - 14h",
LundiSoir: "18h30 - 21h",
MardiMidi: "11h30 - 14h",
MardiSoir: "18h30 - 21h",
MercrediMidi: "11h30 - 14h",
MercrediSoir: "18h30 - 21h",
JeudiMidi: "11h30 - 14h",
JeudiSoir: "18h30 - 21h",
VendrediMidi: "11h30 - 14h",
VendrediSoir: "18h30 - 21h",
}}
/>
</div> </div>
) );
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment