From 537bbe3394c88a902737910a09aac4ff7ad47d45 Mon Sep 17 00:00:00 2001 From: soup Date: Sat, 6 May 2023 16:08:12 +0200 Subject: [PATCH] enhancement(filters): exclude `tags_match_logic` on export if default value (#908) ignore tags_match_logic on export if default value --- web/src/screens/filters/list.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/web/src/screens/filters/list.tsx b/web/src/screens/filters/list.tsx index 1cdc217..ec4b8a1 100644 --- a/web/src/screens/filters/list.tsx +++ b/web/src/screens/filters/list.tsx @@ -391,14 +391,16 @@ const FilterItemDropdown = ({ filter, onToggle }: FilterItemDropdownProps) => { delete completeFilter.external_webhook_expect_status; // Remove properties with default values from the exported filter to minimize the size of the JSON string - ["enabled", "priority", "smart_episode", "resolutions", "sources", "codecs", "containers"].forEach((key) => { + ["enabled", "priority", "smart_episode", "resolutions", "sources", "codecs", "containers", "tags_match_logic", "except_tags_match_logic"].forEach((key) => { const value = completeFilter[key as keyof CompleteFilterType]; if (["enabled", "priority", "smart_episode"].includes(key) && (value === false || value === 0)) { delete completeFilter[key as keyof CompleteFilterType]; } else if (["resolutions", "sources", "codecs", "containers"].includes(key) && Array.isArray(value) && value.length === 0) { delete completeFilter[key as keyof CompleteFilterType]; + } else if (["tags_match_logic", "except_tags_match_logic"].includes(key) && value === "ANY") { + delete completeFilter[key as keyof CompleteFilterType]; } - }); + }); // Create a JSON string from the filter data, including a name and version const json = JSON.stringify(