diff --git a/src/controllers/custom/getItemListsController.ts b/src/controllers/custom/getItemListsController.ts index 14bdc021..38add971 100644 --- a/src/controllers/custom/getItemListsController.ts +++ b/src/controllers/custom/getItemListsController.ts @@ -8,6 +8,7 @@ import { ExportRecipes, ExportResources, ExportSentinels, + ExportSyndicates, ExportUpgrades, ExportWarframes, ExportWeapons @@ -36,6 +37,7 @@ const getItemListsController: RequestHandler = (req, response) => { res.SpaceSuits = []; res.MechSuits = []; res.miscitems = []; + res.Syndicates = []; for (const [uniqueName, item] of Object.entries(ExportWarframes)) { if ( item.productCategory == "Suits" || @@ -160,6 +162,12 @@ const getItemListsController: RequestHandler = (req, response) => { badItems[uniqueName] = true; } } + for (const [uniqueName, syndicate] of Object.entries(ExportSyndicates)) { + res.Syndicates.push({ + uniqueName, + name: getString(syndicate.name, lang) + }); + } response.json({ badItems, diff --git a/static/webui/index.html b/static/webui/index.html index 92dd82d0..08995f54 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -465,6 +465,15 @@

+
+ +
+ + +
+
diff --git a/static/webui/script.js b/static/webui/script.js index 0d89cca5..476c3c6a 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -191,6 +191,15 @@ function fetchItemList() { }); } else if (type == "uniqueLevelCaps") { uniqueLevelCaps = items; + } else if (type == "Syndicates") { + items.forEach(item => { + if (item.uniqueName.startsWith("RadioLegion")) item.name += " (" + item.uniqueName + ")"; + const option = document.createElement("option"); + option.value = item.uniqueName; + option.innerHTML = item.name; + document.getElementById("changeSyndicate").appendChild(option); + itemMap[item.uniqueName] = { ...item, type }; + }); } else if (type != "badItems") { items.forEach(item => { if (item.uniqueName in data.badItems) { @@ -524,6 +533,8 @@ function updateInventory() { single.loadRoute("/webui/inventory"); } } + + document.getElementById("changeSyndicate").value = data.SupportedSyndicate ?? ""; }); }); } @@ -1096,3 +1107,12 @@ function doImport() { }); }); } + +function doChangeSupportedSyndicate() { + const uniqueName = document.getElementById("changeSyndicate").value; + revalidateAuthz(() => { + $.get("/api/setSupportedSyndicate.php?" + window.authz + "&syndicate=" + uniqueName).done(function () { + updateInventory(); + }); + }); +} diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index 134a91a9..2087b210 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -106,6 +106,9 @@ dict = { cheats_account: `Account`, cheats_unlockAllFocusSchools: `Unlock All Focus Schools`, cheats_helminthUnlockAll: `Fully Level Up Helminth`, + cheats_changeSupportedSyndicate: `Supported syndicate`, + cheats_changeButton: `Change`, + cheats_none: `None`, import_importNote: `You can provide a full or partial inventory response (client respresentation) here. All fields that are supported by the importer will be overwritten in your account.`, import_submit: `Submit`, } \ No newline at end of file diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index d4d1eee4..97310997 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -107,6 +107,9 @@ dict = { cheats_account: `Аккаунт`, cheats_unlockAllFocusSchools: `Разблокировать все школы фокуса`, cheats_helminthUnlockAll: `Полностью улучшить Гельминта`, + cheats_changeSupportedSyndicate: `Поддерживаемый синдикат`, + cheats_changeButton: `Изменить`, + cheats_none: `Отсутствует`, import_importNote: `Вы можете загрузить полный или частичный ответ инвентаря (клиентское представление) здесь. Все поддерживаемые поля будут перезаписаны в вашем аккаунте.`, import_submit: `Отправить`, -} +} \ No newline at end of file