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