diff --git a/src/App.js b/src/App.js
index 56e6fcf..cc81a69 100644
--- a/src/App.js
+++ b/src/App.js
@@ -18,10 +18,13 @@ import { FaCheckCircle } from 'react-icons/fa';
const parse = require('csv-parse/lib/sync')
const axios = require('axios');
+const dataSplitters = [0,135,250,388]
+
const BACKEND_URL = "https://projectdivar.com:4505"
function ItemGroup(p) {
const { data } = p
+ const { setData1,setData2,setData3,setData4,setLastModified,lastModified } = p
const [displayData,setDisplayData] = useState([])
useEffect(()=>{
@@ -49,11 +52,36 @@ function ItemGroup(p) {
{item.name}
- {var correctedVal=Math.min(item.required,f.currentTarget.value); if (f.currentTarget.value>=item.required) {f.currentTarget.blur()} axios.post(BACKEND_URL+"/updateItem",{obtained:correctedVal,id:item.id,last_modified:new Date()}); var newData=[...displayData];newData[i].obtained=correctedVal;p.setLastModified(new Date());setDisplayData(newData.sort((a,b)=>{
- if (b.required===b.obtained&&a.required!==a.obtained) {return -1}
- if (b.required===b.obtained&&a.required===a.obtained) {return a.id-b.id}
- if (b.required!==b.obtained&&a.required!==a.obtained) {return a.id-b.id}
- }));}} type="number" min="0" max={item.required}/> / {item.required} {item.required!==item.obtained&&{
+ {var correctedVal=Math.min(item.required,f.currentTarget.value); if (f.currentTarget.value>=item.required) {f.currentTarget.blur()}
+ axios.get(BACKEND_URL+"/lastUpdate")
+ .then(async(data)=>{
+ if (new Date(data.data[0].last_modified)>lastModified) {
+ console.log("Updating entries... "+[lastModified,data.data[0].last_modified])
+ setLastModified(new Date())
+ return await axios.get("https://projectdivar.com:4505/getData")
+ .then((data)=>{
+ //setData(data.data)
+ setData1(data.data.slice(dataSplitters[0],dataSplitters[1]))
+ setData2(data.data.slice(dataSplitters[1],dataSplitters[2]))
+ setData3(data.data.slice(dataSplitters[2],dataSplitters[3]))
+ setData4(data.data.slice(dataSplitters[3],data.data.length))
+ })
+ }
+ })
+ .then((data)=>{
+ axios.post(BACKEND_URL+"/updateItem",{obtained:correctedVal,id:item.id,last_modified:new Date()});
+ var newData=[...displayData];newData[i].obtained=correctedVal;
+ setLastModified(new Date());
+ setDisplayData(newData.sort((a,b)=>{
+ if (b.required===b.obtained&&a.required!==a.obtained) {return -1}
+ if (b.required===b.obtained&&a.required===a.obtained) {return a.id-b.id}
+ if (b.required!==b.obtained&&a.required!==a.obtained) {return a.id-b.id}
+ }));
+ })
+ .catch((err)=>{
+ console.log(err.message)
+ })
+ }} type="number" min="0" max={item.required}/> / {item.required} {item.required!==item.obtained&&{
var correctedVal=item.required; if (f.currentTarget.value>=item.required) {f.currentTarget.blur()} axios.post(BACKEND_URL+"/updateItem",{obtained:correctedVal,id:item.id,last_modified:new Date()}); var newData=[...displayData];newData[i].obtained=correctedVal;p.setLastModified(new Date());setDisplayData(newData.sort((a,b)=>{
if (b.required===b.obtained&&a.required!==a.obtained) {return -1}
if (b.required===b.obtained&&a.required===a.obtained) {return a.id-b.id}
@@ -92,10 +120,10 @@ function App() {
return axios.get("https://projectdivar.com:4505/getData")
.then((data)=>{
//setData(data.data)
- setData(data.data.slice(0,135))
- setData2(data.data.slice(135,250))
- setData3(data.data.slice(250,388))
- setData4(data.data.slice(388,data.data.length))
+ setData(data.data.slice(dataSplitters[0],dataSplitters[1]))
+ setData2(data.data.slice(dataSplitters[1],dataSplitters[2]))
+ setData3(data.data.slice(dataSplitters[2],dataSplitters[3]))
+ setData4(data.data.slice(dataSplitters[3],data.data.length))
})
}
})
@@ -194,10 +222,10 @@ function App() {
{data.length>0?
<>
-
-
-
-
+
+
+
+
>:
!disabled&&