rgncycle-ui/app/pages/home.jsx

83 lines
1.9 KiB
React
Raw Normal View History

2023-04-21 14:44:43 +02:00
import React, {useEffect,useState} from 'react'
import axios from 'axios';
import List from '../components/list';
2023-04-27 15:05:12 +02:00
import EntitiesMap from '../components/entities-map-comp';
import RelationsMap from '../components/relations-map-comp';
2023-09-22 16:49:32 +02:00
import DistancesMap from '../components/distances-map-comp';
2023-04-21 13:46:00 +02:00
import '../style.css';
2023-09-22 16:49:32 +02:00
2023-04-21 14:44:43 +02:00
export default function Home(){
2023-09-22 16:49:32 +02:00
//store distances
const [distances,setDistances]=useState([]);
2023-04-27 15:05:12 +02:00
2023-04-21 14:44:43 +02:00
//store entites
const [entities,setEntities]=useState([]);
2023-09-22 16:49:32 +02:00
//store relations
const [relations,setRelations]=useState([]);
2023-04-21 14:44:43 +02:00
//get entities
const fetchEntities = () => {
axios.get('https://v1rgncy.api.swingbe.de/entities/info')
2023-04-21 14:44:43 +02:00
.then((response) => {
setEntities(response.data);
})
.catch((error) => {
console.error('Home:fetchEntities() error: ' + error);
});
};
2023-09-22 16:49:32 +02:00
//get distances
const fetchDistances = () => {
axios.get('https://v1rgncy.api.swingbe.de/distances/info')
.then((response) => {
setDistances(response.data);
})
.catch((error) => {
console.error('Home:fetchDistances() error: ' + error);
});
};
2023-04-27 15:05:12 +02:00
//get relations
const fetchRelations = () => {
axios.get('https://v1rgncy.api.swingbe.de/relations/info')
2023-04-27 15:05:12 +02:00
.then((response) => {
setRelations(response.data);
})
.catch((error) => {
console.error('Home:fetchRelations() error: ' + error);
});
};
2023-04-21 14:44:43 +02:00
//on page load
useEffect(()=>{
2023-09-22 16:49:32 +02:00
fetchDistances();
2023-04-21 14:44:43 +02:00
fetchEntities();
2023-04-27 15:05:12 +02:00
fetchRelations();
2023-04-21 14:44:43 +02:00
},[]);
2023-05-15 09:24:20 +02:00
if(entities.length>0){
return (
<>
<List entities={entities} />
<EntitiesMap entities={entities} />
<RelationsMap
entities={entities}
relations={relations}
/>
2023-09-22 16:49:32 +02:00
<DistancesMap distances={distances} />
2023-05-15 09:24:20 +02:00
</>
);
}else{
return (
<>
<h1>Home</h1>
<p>Home loading...</p>
</>
);
}
2023-04-21 13:46:00 +02:00
}