From 45fbdd1f35d69bba537501339476f811a818baae Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Tue, 22 Apr 2025 00:48:51 +0200 Subject: [PATCH 1/2] don't provide "max rank" option for mods where maxRank=0 --- static/webui/script.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/webui/script.js b/static/webui/script.js index a2b8619c..49ed109d 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -788,7 +788,7 @@ function updateInventory() { { const td = document.createElement("td"); td.classList = "text-end text-nowrap"; - { + if (maxRank != 0) { const a = document.createElement("a"); a.href = "#"; a.onclick = function (event) { -- 2.47.2 From 8c6a35d9e0461284cfd983688ee484b6781dbe5d Mon Sep 17 00:00:00 2001 From: Sainan <63328889+Sainan@users.noreply.github.com> Date: Tue, 22 Apr 2025 00:57:02 +0200 Subject: [PATCH 2/2] add "remove unranked mods", excluding parazon mods --- src/app.ts | 2 +- .../custom/getItemListsController.ts | 4 +++ static/webui/index.html | 3 ++- static/webui/script.js | 25 +++++++++++++++++++ static/webui/translations/de.js | 1 + static/webui/translations/en.js | 1 + static/webui/translations/es.js | 1 + static/webui/translations/fr.js | 1 + static/webui/translations/ru.js | 1 + static/webui/translations/zh.js | 1 + 10 files changed, 38 insertions(+), 2 deletions(-) diff --git a/src/app.ts b/src/app.ts index c8b19583..291372f0 100644 --- a/src/app.ts +++ b/src/app.ts @@ -26,7 +26,7 @@ app.use((req, _res, next) => { app.use(bodyParser.raw()); app.use(express.json({ limit: "4mb" })); -app.use(bodyParser.text()); +app.use(bodyParser.text({ limit: "4mb" })); app.use(requestLogger); app.use("/api", apiRouter); diff --git a/src/controllers/custom/getItemListsController.ts b/src/controllers/custom/getItemListsController.ts index 214c51e7..1c7d95f4 100644 --- a/src/controllers/custom/getItemListsController.ts +++ b/src/controllers/custom/getItemListsController.ts @@ -29,6 +29,7 @@ interface ListedItem { badReason?: "starter" | "frivolous" | "notraw"; partType?: string; chainLength?: number; + parazon?: boolean; } const relicQualitySuffixes: Record = { @@ -196,6 +197,9 @@ const getItemListsController: RequestHandler = (req, response) => { } else if (upgrade.upgradeEntries) { mod.badReason = "notraw"; } + if (upgrade.type == "PARAZON") { + mod.parazon = true; + } res.mods.push(mod); } for (const [uniqueName, upgrade] of Object.entries(ExportAvionics)) { diff --git a/static/webui/index.html b/static/webui/index.html index 5df7ba59..eb131de2 100644 --- a/static/webui/index.html +++ b/static/webui/index.html @@ -490,8 +490,9 @@
-
+
+
diff --git a/static/webui/script.js b/static/webui/script.js index 49ed109d..46ac7477 100644 --- a/static/webui/script.js +++ b/static/webui/script.js @@ -1596,6 +1596,31 @@ function doAddAllMods() { }); } +function doRemoveUnrankedMods() { + revalidateAuthz(() => { + const req = $.get("/api/inventory.php?" + window.authz + "&xpBasedLevelCapDisabled=1"); + req.done(inventory => { + window.itemListPromise.then(itemMap => { + $.post({ + url: "/api/sell.php?" + window.authz, + contentType: "text/plain", + data: JSON.stringify({ + SellCurrency: "SC_RegularCredits", + SellPrice: 0, + Items: { + Upgrades: inventory.RawUpgrades.filter( + x => !itemMap[x.ItemType]?.parazon && x.ItemCount > 0 + ).map(x => ({ String: x.ItemType, Count: x.ItemCount })) + } + }) + }).done(function () { + updateInventory(); + }); + }); + }); + }); +} + // Powersuit Route single.getRoute("#powersuit-route").on("beforeload", function () { diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js index 061da9c4..30153e09 100644 --- a/static/webui/translations/de.js +++ b/static/webui/translations/de.js @@ -115,6 +115,7 @@ dict = { mods_rivens: `Rivens`, mods_mods: `Mods`, mods_bulkAddMods: `Fehlende Mods hinzufügen`, + mods_removeUnranked: `[UNTRANSLATED] Remove Unranked Mods`, cheats_administratorRequirement: `Du musst Administrator sein, um diese Funktion nutzen zu können. Um Administrator zu werden, füge |DISPLAYNAME| zu administratorNames in der config.json hinzu.`, cheats_server: `Server`, cheats_skipTutorial: `Tutorial überspringen`, diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js index cd27b42d..dc895457 100644 --- a/static/webui/translations/en.js +++ b/static/webui/translations/en.js @@ -114,6 +114,7 @@ dict = { mods_rivens: `Rivens`, mods_mods: `Mods`, mods_bulkAddMods: `Add Missing Mods`, + mods_removeUnranked: `Remove Unranked Mods`, cheats_administratorRequirement: `You must be an administrator to use this feature. To become an administrator, add |DISPLAYNAME| to administratorNames in the config.json.`, cheats_server: `Server`, cheats_skipTutorial: `Skip Tutorial`, diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js index 96916759..24eed094 100644 --- a/static/webui/translations/es.js +++ b/static/webui/translations/es.js @@ -115,6 +115,7 @@ dict = { mods_rivens: `Agrietados`, mods_mods: `Mods`, mods_bulkAddMods: `Agregar mods faltantes`, + mods_removeUnranked: `[UNTRANSLATED] Remove Unranked Mods`, cheats_administratorRequirement: `Debes ser administrador para usar esta función. Para convertirte en administrador, agrega |DISPLAYNAME| a administratorNames en el archivo config.json.`, cheats_server: `Servidor`, cheats_skipTutorial: `Omitir tutorial`, diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js index bf76ac9e..7c700ac7 100644 --- a/static/webui/translations/fr.js +++ b/static/webui/translations/fr.js @@ -115,6 +115,7 @@ dict = { mods_rivens: `Rivens`, mods_mods: `Mods`, mods_bulkAddMods: `Ajouter les mods manquants`, + mods_removeUnranked: `[UNTRANSLATED] Remove Unranked Mods`, cheats_administratorRequirement: `Rôle d'administrateur requis pour cette fonctionnalité. Ajoutez |DISPLAYNAME| à la ligne administratorNames dans le fichier config.json.`, cheats_server: `Serveur`, cheats_skipTutorial: `Passer le tutoriel`, diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js index b299c14c..1dc9df18 100644 --- a/static/webui/translations/ru.js +++ b/static/webui/translations/ru.js @@ -115,6 +115,7 @@ dict = { mods_rivens: `Моды Разлома`, mods_mods: `Моды`, mods_bulkAddMods: `Добавить отсутствующие моды`, + mods_removeUnranked: `[UNTRANSLATED] Remove Unranked Mods`, cheats_administratorRequirement: `Вы должны быть администратором для использования этой функции. Чтобы стать администратором, добавьте \"|DISPLAYNAME|\" в administratorNames в config.json.`, cheats_server: `Сервер`, cheats_skipTutorial: `Пропустить обучение`, diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js index f97ec5d2..ae832c7d 100644 --- a/static/webui/translations/zh.js +++ b/static/webui/translations/zh.js @@ -115,6 +115,7 @@ dict = { mods_rivens: `裂罅MOD`, mods_mods: `Mods`, mods_bulkAddMods: `添加缺失MOD`, + mods_removeUnranked: `[UNTRANSLATED] Remove Unranked Mods`, cheats_administratorRequirement: `您必须是管理员才能使用此功能。要成为管理员,请将 |DISPLAYNAME| 添加到 config.json 的 administratorNames 中。`, cheats_server: `服务器`, cheats_skipTutorial: `跳过教程`, -- 2.47.2