Save a ton of bandwidth by using a rudimentary cache

This commit is contained in:
Oowazu Nonowazu 2020-12-13 01:23:05 -06:00
parent f1f94bafe5
commit ffe45c9218

View File

@ -53,16 +53,25 @@ const ogcdOverrides = new Set([
114 //bard MB
])
const actionMap = new Map()
export default function Action({ actionId, additionalClasses }) {
const [apiData, setApiData] = React.useState()
React.useEffect(() => {
const mapData = actionMap.get(actionId)
if (mapData != null) {
setApiData(mapData)
return
}
let current = true
void (async () => {
const data = await (await fetch(`https://xivapi.com/Action/${actionId}`, {
const data = await (await fetch(`https://xivapi.com/Action/${actionId}?colums=Icon,Name,ActionCategoryTargetID`, {
mode: "cors"
})).json()
if (current) {
actionMap.set(actionId, data)
setApiData(data)
}
})()
@ -80,7 +89,7 @@ export default function Action({ actionId, additionalClasses }) {
<img
className={
gcdOverrides.has(actionId) ||
(!ogcdOverrides.has(actionId) && apiData.ActionCategory.ID !== 4)
(!ogcdOverrides.has(actionId) && apiData.ActionCategoryTargetID !== 4)
? `gcd ${additionalClasses}`
: `ogcd ${additionalClasses}`
}