diff --git a/src/Action.js b/src/Action.js index 4fcf29b..c1384e9 100644 --- a/src/Action.js +++ b/src/Action.js @@ -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}?columns=Icon,Name,ActionCategoryTargetID`, { mode: "cors" })).json() if (current) { + actionMap.set(actionId, data) setApiData(data) } })() @@ -80,7 +89,7 @@ export default function Action({ actionId, additionalClasses }) {