From 9b20404929e5f769b2e8cd1e5f8958f6a4a3b1e8 Mon Sep 17 00:00:00 2001 From: Index Date: Sun, 15 Sep 2024 11:20:03 -0500 Subject: [PATCH] minor: cache asset designer data and rename "Item Modeler" to "Asset Designer" --- js/places/place-view.js | 1 - js/store/item-view.js | 32 +++++++++++++++++++++++++------- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/js/places/place-view.js b/js/places/place-view.js index 7a862fd..3ef7dd5 100644 --- a/js/places/place-view.js +++ b/js/places/place-view.js @@ -546,7 +546,6 @@ async function ReaddCopyable() { } if (PlaceDetails.isCopyable) { - console.log('is copyable') const TitleCardButtons = document.querySelector('.card:has(h1.my-0) .col-auto[style^="m"]') const DownloadCopyButton = document.createElement('button') diff --git a/js/store/item-view.js b/js/store/item-view.js index 0cce8c4..31851c5 100755 --- a/js/store/item-view.js +++ b/js/store/item-view.js @@ -1,4 +1,5 @@ const ItemID = window.location.pathname.split('/')[2]; +let ItemModeler = null; const ItemType = document.querySelector('.row .badge').innerHTML; var Settings; @@ -65,7 +66,27 @@ var Utilities; HandleItemWishlist(); } - ItemCreator() + if (Settings.AssetDesignerCreditOn == true) { + chrome.storage.local.get(['PolyPlus_AssetDesigners'], async function(result){ + let AssetDesignerData = result['PolyPlus_AssetDesigners']; + + // cache for 5 minutes + if (AssetDesignerData === undefined || (new Date().getTime() - AssetDesignerData.requested > 300000)) { + AssetDesignerData = await ((await fetch('https://polyplus.vercel.app/data/itemModelers.json')).json()); + + chrome.storage.local.set({['PolyPlus_AssetDesigners']: { + data: AssetDesignerData, + requested: new Date().getTime() + }}, function(){}); + } else { + AssetDesignerData = AssetDesignerData.data + } + + if (AssetDesignerData[ItemID]) { + AssetDesignerInfo(AssetDesignerData) + } + }); + } }); })(); @@ -868,18 +889,15 @@ async function ValueListData() { } } -async function ItemCreator() { - const ItemCreatorData = await ((await fetch('https://polyplus.vercel.app/data/itemModelers.json')).json()) - if (!ItemCreatorData[ItemID]) { return } - +async function AssetDesignerInfo(data) { let QuickStats = document.querySelectorAll('.row:has(h3, h6, [data-bs-tooltip])')[2]; const CreatorStat = document.createElement('div') CreatorStat.classList = 'col text-center' CreatorStat.innerHTML = ` -
Item Modeler
+
Asset Designer

- ${ItemCreatorData[ItemID]} + ${data[ItemID]}

` QuickStats.appendChild(CreatorStat)