Fix up sort cases
This commit is contained in:
parent
290ae4238e
commit
d1f31a279b
24
src/App.js
24
src/App.js
@ -30,21 +30,16 @@ function ItemGroup(p) {
|
|||||||
return <Accordion.Item className="bg-dark" eventKey={p.akey}>
|
return <Accordion.Item className="bg-dark" eventKey={p.akey}>
|
||||||
<Accordion.Header className="panel-body bg-dark">{p.name}</Accordion.Header>
|
<Accordion.Header className="panel-body bg-dark">{p.name}</Accordion.Header>
|
||||||
<Accordion.Body className="panel-body">
|
<Accordion.Body className="panel-body">
|
||||||
{p.data.sort((a,b)=>{
|
{p.data.map((item,i,arr)=><Row key={item.id} className={"pb-1 pt-1 text-light"+(Number(item.obtained)===0?" notStarted":Number(item.obtained)===Number(item.required)?" completed":" inProgress")}>
|
||||||
if (b.required===b.obtained&&a.required===a.obtained) {
|
|
||||||
return a.id-b.id
|
|
||||||
} else
|
|
||||||
if (b.required===b.obtained) {
|
|
||||||
return -1
|
|
||||||
} else {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
}).map((item,i,arr)=><Row key={item.id} className={"pb-1 pt-1 text-light"+(Number(item.obtained)===0?" notStarted":Number(item.obtained)===Number(item.required)?" completed":" inProgress")}>
|
|
||||||
<Col>
|
<Col>
|
||||||
<img src={"https://xivapi.com"+item.icon}/> {item.name}
|
<img src={"https://xivapi.com"+item.icon}/> {item.name}
|
||||||
</Col>
|
</Col>
|
||||||
<Col>
|
<Col>
|
||||||
<input style={{width:"5em"}} value={item.obtained} className="mt-1 bg-secondary" onChange={(f)=>{var newData=[...p.data];newData[i].obtained=Math.min(item.required,f.currentTarget.value);p.setData(newData);}} type="number" min="0" max={item.required}/> / {item.required}
|
<input style={{width:"5em"}} value={item.obtained} className="mt-1 bg-secondary" onChange={(f)=>{var newData=[...p.data];newData[i].obtained=Math.min(item.required,f.currentTarget.value);p.setData(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}
|
||||||
</Col>
|
</Col>
|
||||||
<Col>
|
<Col>
|
||||||
<a style={{position:"relative",top:"8px"}} className="text-muted" href={"https://garlandtools.org/db/#item/"+item.itemid} target="tools">View Item Info</a>
|
<a style={{position:"relative",top:"8px"}} className="text-muted" href={"https://garlandtools.org/db/#item/"+item.itemid} target="tools">View Item Info</a>
|
||||||
@ -109,6 +104,13 @@ function App() {
|
|||||||
})
|
})
|
||||||
.catch((err)=>{
|
.catch((err)=>{
|
||||||
console.log(err.message)
|
console.log(err.message)
|
||||||
|
setData([
|
||||||
|
{id:1726,itemid:2,name:"Fire Shard",icon:"/i/020000/020001.png",obtained:694,required:4124},
|
||||||
|
{id:1727,itemid:3,name:"Ice Shard",icon:"/i/020000/020003.png",obtained:0,required:1226},
|
||||||
|
{id:1728,itemid:4,name:"Wind Shard",icon:"/i/020000/020004.png",obtained:4719,required:4719},
|
||||||
|
{id:1729,itemid:5,name:"Earth Shard",icon:"/i/020000/020006.png",obtained:15,required:1764},
|
||||||
|
{id:1730,itemid:6,name:"Lightning Shard",icon:"/i/020000/020005.png",obtained:0,required:2374},
|
||||||
|
])
|
||||||
})
|
})
|
||||||
setUpdate(false)
|
setUpdate(false)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user