From 89ed6e9a67788d3d172c0fe652bee0dd69f30ffc Mon Sep 17 00:00:00 2001 From: DingDongSoLong4 <99329275+DingDongSoLong4@users.noreply.github.com> Date: Wed, 3 May 2023 05:24:29 +0200 Subject: [PATCH] Fix scene marker pinned filters (#3687) --- .../src/components/List/EditFilterDialog.tsx | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/ui/v2.5/src/components/List/EditFilterDialog.tsx b/ui/v2.5/src/components/List/EditFilterDialog.tsx index 4e52f1259..8a41b4a2d 100644 --- a/ui/v2.5/src/components/List/EditFilterDialog.tsx +++ b/ui/v2.5/src/components/List/EditFilterDialog.tsx @@ -33,6 +33,7 @@ import { CriterionType } from "src/models/list-filter/types"; import { useToast } from "src/hooks/Toast"; import { useConfigureUI } from "src/core/StashService"; import { IUIConfig } from "src/core/config"; +import { FilterMode } from "src/core/generated-graphql"; interface ICriterionList { criteria: string[]; @@ -188,6 +189,21 @@ const CriterionOptionList: React.FC = ({ ); }; +const FilterModeToConfigKey = { + [FilterMode.Galleries]: "galleries", + [FilterMode.Images]: "images", + [FilterMode.Movies]: "movies", + [FilterMode.Performers]: "performers", + [FilterMode.SceneMarkers]: "sceneMarkers", + [FilterMode.Scenes]: "scenes", + [FilterMode.Studios]: "studios", + [FilterMode.Tags]: "tags", +}; + +function filterModeToConfigKey(filterMode: FilterMode) { + return FilterModeToConfigKey[filterMode]; +} + interface IEditFilterProps { filter: ListFilterModel; editingCriterion?: string; @@ -260,7 +276,7 @@ export const EditFilterDialog: React.FC = ({ const [saveUI] = useConfigureUI(); const pinnedFilters = useMemo( - () => ui.pinnedFilters?.[currentFilter.mode.toLowerCase()] ?? [], + () => ui.pinnedFilters?.[filterModeToConfigKey(currentFilter.mode)] ?? [], [currentFilter.mode, ui.pinnedFilters] ); const pinnedElements = useMemo( @@ -289,7 +305,7 @@ export const EditFilterDialog: React.FC = ({ ]); async function updatePinnedFilters(filters: string[]) { - const currentMode = currentFilter.mode.toLowerCase(); + const configKey = filterModeToConfigKey(currentFilter.mode); try { await saveUI({ variables: { @@ -297,7 +313,7 @@ export const EditFilterDialog: React.FC = ({ ...configuration?.ui, pinnedFilters: { ...ui.pinnedFilters, - [currentMode]: filters, + [configKey]: filters, }, }, },