diff --git a/code/controllers/subsystems/initialization/codex.dm b/code/controllers/subsystems/initialization/codex.dm
index ab014562b0b..3d60b85aaa4 100644
--- a/code/controllers/subsystems/initialization/codex.dm
+++ b/code/controllers/subsystems/initialization/codex.dm
@@ -34,6 +34,9 @@ SUBSYSTEM_DEF(codex)
var/singleton/recipe/recipe = GET_SINGLETON(reaction_path)
var/list/cookingRecipeData = list()
+ // ID for TGUI to use
+ cookingRecipeData["id"] = "[reaction_path]"
+
// result
var/obj/item/recipe_result = recipe.result
cookingRecipeData["result"] = initial(recipe_result.name)
@@ -74,6 +77,8 @@ SUBSYSTEM_DEF(codex)
cookingRecipeData["ingredients"] += "[reagent.name] coating"
// kitchen appliance
+ cookingRecipeData["appliances"] = ""
+
if(recipe.appliance)
cookingRecipeData["appliances"] = recipe.get_appliance_names()
diff --git a/html/changelogs/TGUISearchFixing.yml b/html/changelogs/TGUISearchFixing.yml
new file mode 100644
index 00000000000..0b0c59665fb
--- /dev/null
+++ b/html/changelogs/TGUISearchFixing.yml
@@ -0,0 +1,7 @@
+author: TheGreyWolf
+
+delete-after: True
+
+changes:
+ - bugfix: "Fixed the bugged search function in the cooking codex."
+ - bugfix: "Fixed potential duplicate and entries not being removed in the cooking codex and cargo programs."
diff --git a/tgui/packages/tgui/interfaces/CargoControl.tsx b/tgui/packages/tgui/interfaces/CargoControl.tsx
index 204826e06e3..7924bd18644 100644
--- a/tgui/packages/tgui/interfaces/CargoControl.tsx
+++ b/tgui/packages/tgui/interfaces/CargoControl.tsx
@@ -268,7 +268,7 @@ export const CargoControl = (props) => {
Price
{data.order_details.items.map((item) => (
-
+
{item.name}
{item.supplier_name}
{item.price.toFixed(2)}电
diff --git a/tgui/packages/tgui/interfaces/CargoDelivery.tsx b/tgui/packages/tgui/interfaces/CargoDelivery.tsx
index c7a39f06f28..b054d9cff8b 100644
--- a/tgui/packages/tgui/interfaces/CargoDelivery.tsx
+++ b/tgui/packages/tgui/interfaces/CargoDelivery.tsx
@@ -222,7 +222,7 @@ export const Overview = (props) => {
Price
{data.order_details.items.map((item) => (
-
+
{item.name}
{item.supplier_name}
{item.price}电
diff --git a/tgui/packages/tgui/interfaces/CargoOrder.tsx b/tgui/packages/tgui/interfaces/CargoOrder.tsx
index 79d9b4d757e..3a0e5ab0e45 100644
--- a/tgui/packages/tgui/interfaces/CargoOrder.tsx
+++ b/tgui/packages/tgui/interfaces/CargoOrder.tsx
@@ -207,7 +207,7 @@ export const MainPage = (props) => {
.map((item) => (
{
{data.crate_fee.toFixed(2)}电
{data.order_items.map((item) => (
-
+
{item.name}
{item.price.toFixed(2)}电
diff --git a/tgui/packages/tgui/interfaces/CookingCodex.tsx b/tgui/packages/tgui/interfaces/CookingCodex.tsx
index 6db4fdb5a2b..9405a5807d4 100644
--- a/tgui/packages/tgui/interfaces/CookingCodex.tsx
+++ b/tgui/packages/tgui/interfaces/CookingCodex.tsx
@@ -8,6 +8,7 @@ export type CodexData = {
};
type Recipe = {
+ id: string;
result: string;
result_image: any; // base64 icon
ingredients: string;
@@ -45,21 +46,17 @@ export const CookingCodex = (props) => {
{data.recipes
.filter((recipe) => {
+ const query = searchTerm.toLocaleLowerCase();
+
return (
- recipe.result
- .toLocaleLowerCase()
- .includes(searchTerm.toLocaleLowerCase()) ||
- recipe.ingredients
- .toLocaleLowerCase()
- .includes(searchTerm.toLocaleLowerCase()) ||
- recipe.appliances
- .toLocaleLowerCase()
- .includes(searchTerm.toLocaleLowerCase())
+ recipe.result?.toLocaleLowerCase().includes(query) ||
+ recipe.ingredients?.toLocaleLowerCase().includes(query) ||
+ recipe.appliances?.toLocaleLowerCase().includes(query)
);
})
.sort((a, b) => a.result.localeCompare(b.result))
.map((recipe) => (
-
+
{recipe.result.toLocaleLowerCase()}