mirror of
https://github.com/stashapp/stash.git
synced 2025-12-07 00:43:12 +01:00
Fix scene marker pinned filters (#3687)
This commit is contained in:
parent
da1ef146c6
commit
89ed6e9a67
1 changed files with 19 additions and 3 deletions
|
|
@ -33,6 +33,7 @@ import { CriterionType } from "src/models/list-filter/types";
|
||||||
import { useToast } from "src/hooks/Toast";
|
import { useToast } from "src/hooks/Toast";
|
||||||
import { useConfigureUI } from "src/core/StashService";
|
import { useConfigureUI } from "src/core/StashService";
|
||||||
import { IUIConfig } from "src/core/config";
|
import { IUIConfig } from "src/core/config";
|
||||||
|
import { FilterMode } from "src/core/generated-graphql";
|
||||||
|
|
||||||
interface ICriterionList {
|
interface ICriterionList {
|
||||||
criteria: string[];
|
criteria: string[];
|
||||||
|
|
@ -188,6 +189,21 @@ const CriterionOptionList: React.FC<ICriterionList> = ({
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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 {
|
interface IEditFilterProps {
|
||||||
filter: ListFilterModel;
|
filter: ListFilterModel;
|
||||||
editingCriterion?: string;
|
editingCriterion?: string;
|
||||||
|
|
@ -260,7 +276,7 @@ export const EditFilterDialog: React.FC<IEditFilterProps> = ({
|
||||||
const [saveUI] = useConfigureUI();
|
const [saveUI] = useConfigureUI();
|
||||||
|
|
||||||
const pinnedFilters = useMemo(
|
const pinnedFilters = useMemo(
|
||||||
() => ui.pinnedFilters?.[currentFilter.mode.toLowerCase()] ?? [],
|
() => ui.pinnedFilters?.[filterModeToConfigKey(currentFilter.mode)] ?? [],
|
||||||
[currentFilter.mode, ui.pinnedFilters]
|
[currentFilter.mode, ui.pinnedFilters]
|
||||||
);
|
);
|
||||||
const pinnedElements = useMemo(
|
const pinnedElements = useMemo(
|
||||||
|
|
@ -289,7 +305,7 @@ export const EditFilterDialog: React.FC<IEditFilterProps> = ({
|
||||||
]);
|
]);
|
||||||
|
|
||||||
async function updatePinnedFilters(filters: string[]) {
|
async function updatePinnedFilters(filters: string[]) {
|
||||||
const currentMode = currentFilter.mode.toLowerCase();
|
const configKey = filterModeToConfigKey(currentFilter.mode);
|
||||||
try {
|
try {
|
||||||
await saveUI({
|
await saveUI({
|
||||||
variables: {
|
variables: {
|
||||||
|
|
@ -297,7 +313,7 @@ export const EditFilterDialog: React.FC<IEditFilterProps> = ({
|
||||||
...configuration?.ui,
|
...configuration?.ui,
|
||||||
pinnedFilters: {
|
pinnedFilters: {
|
||||||
...ui.pinnedFilters,
|
...ui.pinnedFilters,
|
||||||
[currentMode]: filters,
|
[configKey]: filters,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue