feat(webui): ability to add recipes via "add items"
This commit is contained in:
parent
68335aa91b
commit
a071496c4e
8
package-lock.json
generated
8
package-lock.json
generated
@ -12,7 +12,7 @@
|
|||||||
"copyfiles": "^2.4.1",
|
"copyfiles": "^2.4.1",
|
||||||
"express": "^5",
|
"express": "^5",
|
||||||
"mongoose": "^8.9.2",
|
"mongoose": "^8.9.2",
|
||||||
"warframe-public-export-plus": "^0.5.11",
|
"warframe-public-export-plus": "^0.5.13",
|
||||||
"warframe-riven-info": "^0.1.2",
|
"warframe-riven-info": "^0.1.2",
|
||||||
"winston": "^3.17.0",
|
"winston": "^3.17.0",
|
||||||
"winston-daily-rotate-file": "^5.0.0"
|
"winston-daily-rotate-file": "^5.0.0"
|
||||||
@ -3877,9 +3877,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/warframe-public-export-plus": {
|
"node_modules/warframe-public-export-plus": {
|
||||||
"version": "0.5.11",
|
"version": "0.5.13",
|
||||||
"resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.11.tgz",
|
"resolved": "https://registry.npmjs.org/warframe-public-export-plus/-/warframe-public-export-plus-0.5.13.tgz",
|
||||||
"integrity": "sha512-NJx5l6FsC8rwh9KcWrvu3Owvxtw6DFuk1ZEfsCXl5OGhnyqdd/9U0K9kDY+5T8aIoad7/7ftU1PmbVu4KOKGTA=="
|
"integrity": "sha512-iyiaEsgZGQMU29jDag+Pq1z2q0/Zj4bCzTMtoZCSFtNUiZOPYwzjBmbYsDN0FO/yUoHu2dboW0lEYsdaofTEDQ=="
|
||||||
},
|
},
|
||||||
"node_modules/warframe-riven-info": {
|
"node_modules/warframe-riven-info": {
|
||||||
"version": "0.1.2",
|
"version": "0.1.2",
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
"copyfiles": "^2.4.1",
|
"copyfiles": "^2.4.1",
|
||||||
"express": "^5",
|
"express": "^5",
|
||||||
"mongoose": "^8.9.2",
|
"mongoose": "^8.9.2",
|
||||||
"warframe-public-export-plus": "^0.5.11",
|
"warframe-public-export-plus": "^0.5.13",
|
||||||
"warframe-riven-info": "^0.1.2",
|
"warframe-riven-info": "^0.1.2",
|
||||||
"winston": "^3.17.0",
|
"winston": "^3.17.0",
|
||||||
"winston-daily-rotate-file": "^5.0.0"
|
"winston-daily-rotate-file": "^5.0.0"
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import { RequestHandler } from "express";
|
import { RequestHandler } from "express";
|
||||||
import { getDict, getString } from "@/src/services/itemDataService";
|
import { getDict, getItemName, getString } from "@/src/services/itemDataService";
|
||||||
import {
|
import {
|
||||||
ExportArcanes,
|
ExportArcanes,
|
||||||
ExportGear,
|
ExportGear,
|
||||||
|
ExportRecipes,
|
||||||
ExportResources,
|
ExportResources,
|
||||||
ExportUpgrades,
|
ExportUpgrades,
|
||||||
ExportWarframes,
|
ExportWarframes,
|
||||||
@ -47,6 +48,18 @@ const getItemListsController: RequestHandler = (req, res) => {
|
|||||||
name: getString(item.name, lang)
|
name: getString(item.name, lang)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
const recipeNameTemplate = getString("/Lotus/Language/Items/BlueprintAndItem", lang);
|
||||||
|
for (const [uniqueName, item] of Object.entries(ExportRecipes)) {
|
||||||
|
if (!item.secretIngredientAction) {
|
||||||
|
const resultName = getItemName(item.resultType);
|
||||||
|
if (resultName) {
|
||||||
|
miscitems.push({
|
||||||
|
uniqueName: "Recipes:" + uniqueName,
|
||||||
|
name: recipeNameTemplate.replace("|ITEM|", getString(resultName, lang))
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
const mods: ListedItem[] = [];
|
const mods: ListedItem[] = [];
|
||||||
const badItems: Record<string, boolean> = {};
|
const badItems: Record<string, boolean> = {};
|
||||||
|
@ -16,7 +16,13 @@ import {
|
|||||||
dict_tr,
|
dict_tr,
|
||||||
dict_uk,
|
dict_uk,
|
||||||
dict_zh,
|
dict_zh,
|
||||||
|
ExportArcanes,
|
||||||
|
ExportCustoms,
|
||||||
|
ExportGear,
|
||||||
|
ExportKeys,
|
||||||
ExportRecipes,
|
ExportRecipes,
|
||||||
|
ExportResources,
|
||||||
|
ExportSentinels,
|
||||||
ExportWarframes,
|
ExportWarframes,
|
||||||
ExportWeapons,
|
ExportWeapons,
|
||||||
IPowersuit,
|
IPowersuit,
|
||||||
@ -84,6 +90,34 @@ export const getSuitByUniqueName = (uniqueName: string): IPowersuit | undefined
|
|||||||
return ExportWarframes[uniqueName];
|
return ExportWarframes[uniqueName];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getItemName = (uniqueName: string): string | undefined => {
|
||||||
|
if (uniqueName in ExportArcanes) {
|
||||||
|
return ExportArcanes[uniqueName].name;
|
||||||
|
}
|
||||||
|
if (uniqueName in ExportCustoms) {
|
||||||
|
return ExportCustoms[uniqueName].name;
|
||||||
|
}
|
||||||
|
if (uniqueName in ExportKeys) {
|
||||||
|
return ExportKeys[uniqueName].name;
|
||||||
|
}
|
||||||
|
if (uniqueName in ExportGear) {
|
||||||
|
return ExportGear[uniqueName].name;
|
||||||
|
}
|
||||||
|
if (uniqueName in ExportResources) {
|
||||||
|
return ExportResources[uniqueName].name;
|
||||||
|
}
|
||||||
|
if (uniqueName in ExportSentinels) {
|
||||||
|
return ExportSentinels[uniqueName].name;
|
||||||
|
}
|
||||||
|
if (uniqueName in ExportWarframes) {
|
||||||
|
return ExportWarframes[uniqueName].name;
|
||||||
|
}
|
||||||
|
if (uniqueName in ExportWeapons) {
|
||||||
|
return ExportWeapons[uniqueName].name;
|
||||||
|
}
|
||||||
|
return undefined;
|
||||||
|
};
|
||||||
|
|
||||||
export const getDict = (lang: string): Record<string, string> => {
|
export const getDict = (lang: string): Record<string, string> => {
|
||||||
switch (lang) {
|
switch (lang) {
|
||||||
case "de":
|
case "de":
|
||||||
|
Loading…
x
Reference in New Issue
Block a user