From fd6f8074073861e3afb703e6226e759976a4ae5e Mon Sep 17 00:00:00 2001 From: sigonasr2 Date: Mon, 15 May 2023 05:59:58 -0500 Subject: [PATCH] Implemented ability to see current item locations from the item lists --- src/App.js | 136 ++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 124 insertions(+), 12 deletions(-) diff --git a/src/App.js b/src/App.js index 03ae883..c7aa01e 100755 --- a/src/App.js +++ b/src/App.js @@ -34,8 +34,11 @@ const NOTIFICATIONTIMEOUT = 300 //In seconds const progress1 = new Audio(process.env.PUBLIC_URL+"/progress1.mp3") const progress2 = new Audio(process.env.PUBLIC_URL+"/progress2.mp3") +const retainerNames = ["Ayayayaya","Kittystorage","Morecatz","Finalretainer","Nowitsabun","Butwhy","Kkittyy","Howdoesanyonenameall","Ayayayayay"]; + function Item(p){ - const {item,setLockout,contributor,lockout,itemCount,totalItemCount} = p + const {item,setLockout,contributor,lockout,itemCount,totalItemCount,playerInventory} = p + const [itemLoc,setItemLoc]=useState("") function updateItem(item,target,contributor) { var correctedVal=Math.min(item.required,target.value); @@ -50,9 +53,103 @@ function Item(p){ }) } + useEffect(()=>{ + let locObj={}; + let locs=""; + for (var i=0;i0){locs+=","} + locs+=key+" ["+it.page+"] "+((it.amtHQ>0)?("HQx"+it.amtHQ):"")+((it.amt>0)?(((it.amtHQ>0)?"|":"")+"x"+it.amt):"") + //locs+="Player Inventory ["+Math.floor((j/35+1))+"] x"+it.amt + } + setItemLoc(locs) + },[item,playerInventory]) + return - {item.name}/ {item.name} + {item.name}/ {item.name} {itemLoc} {p.name} - {displayData.map((item,i,arr)=>)} + {displayData.map((item,i,arr)=>)} } @@ -149,8 +246,6 @@ function ListApp(p){ const [checking,setChecking] = useState(false) const [lastUpdate,setLastUpdate] = useState(0) - const retainerNames = ["Ayayayaya","Kittystorage","Morecatz","Finalretainer","Nowitsabun","Butwhy","Kkittyy","Howdoesanyonenameall","Ayayayayay"]; - function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } @@ -390,6 +485,8 @@ function App() { const [missingProgressRatio,setMissingProgressRatio] = useState(0) const [completeRatio,setCompleteRatio] = useState(0) const [lastModified,setLastModified] = useState(new Date()) + const [lastUpdate,setLastUpdate] = useState(0) + const [playerInventory,setPlayerInventory] = useState([]) const [contributor,setContributor] = useState("") const [notifications,setNotifications] = useState([]) @@ -458,6 +555,21 @@ function App() { return ()=>clearInterval(interval) },[lastModified]) + useEffect(()=>{ + const interval = setInterval(()=>{ + if (nav==="main"){ + axios.get("http://projectdivar.com/inventoryData?lastUpdate="+lastUpdate) + .then((data)=>{ + if (data.data.length>0){ + setLastUpdate(new Date().getTime()) + setPlayerInventory(data.data) + } + }) + } + },1000) + return ()=>clearInterval(interval) + },[nav,lastUpdate]) + useEffect(()=>{ var notificationLastUpdate = new Date(new Date()-(NOTIFICATIONTIMEOUT*1000)) var largestNotificationID = -1 @@ -499,7 +611,7 @@ function App() { } },1000) return ()=>clearInterval(interval) - },[]) + },[nav]) const disabled=false @@ -687,15 +799,15 @@ function App() { setMatchedItems([]) } }} /> - {matchedItems.map((item)=>)} + {matchedItems.map((item)=>)} - - - - + + + + : :nav==="list"?: