mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 12:54:38 +03:00
[Feature] Better resolution search (#1568)
* Fix width in database test setup * Added more filters on resolution field * added test to verify resolution range is defined for every resolution * Refactor UI code Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
This commit is contained in:
@@ -1,37 +1,20 @@
|
||||
import { ResolutionEnum } from "src/core/generated-graphql";
|
||||
import {
|
||||
ResolutionCriterionInput,
|
||||
CriterionModifier,
|
||||
} from "src/core/generated-graphql";
|
||||
import { stringToResolution, resolutionStrings } from "src/utils/resolution";
|
||||
import { CriterionType } from "../types";
|
||||
import { CriterionOption, StringCriterion } from "./criterion";
|
||||
|
||||
abstract class AbstractResolutionCriterion extends StringCriterion {
|
||||
protected toCriterionInput(): ResolutionEnum | undefined {
|
||||
switch (this.value) {
|
||||
case "144p":
|
||||
return ResolutionEnum.VeryLow;
|
||||
case "240p":
|
||||
return ResolutionEnum.Low;
|
||||
case "360p":
|
||||
return ResolutionEnum.R360P;
|
||||
case "480p":
|
||||
return ResolutionEnum.Standard;
|
||||
case "540p":
|
||||
return ResolutionEnum.WebHd;
|
||||
case "720p":
|
||||
return ResolutionEnum.StandardHd;
|
||||
case "1080p":
|
||||
return ResolutionEnum.FullHd;
|
||||
case "1440p":
|
||||
return ResolutionEnum.QuadHd;
|
||||
case "1920p":
|
||||
return ResolutionEnum.VrHd;
|
||||
case "4k":
|
||||
return ResolutionEnum.FourK;
|
||||
case "5k":
|
||||
return ResolutionEnum.FiveK;
|
||||
case "6k":
|
||||
return ResolutionEnum.SixK;
|
||||
case "8k":
|
||||
return ResolutionEnum.EightK;
|
||||
// no default
|
||||
protected toCriterionInput(): ResolutionCriterionInput | undefined {
|
||||
const value = stringToResolution(this.value);
|
||||
|
||||
if (value !== undefined) {
|
||||
return {
|
||||
value,
|
||||
modifier: this.modifier,
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -42,20 +25,13 @@ class ResolutionCriterionOptionType extends CriterionOption {
|
||||
messageID: value,
|
||||
type: value,
|
||||
parameterName: value,
|
||||
options: [
|
||||
"144p",
|
||||
"240p",
|
||||
"360p",
|
||||
"480p",
|
||||
"540p",
|
||||
"720p",
|
||||
"1080p",
|
||||
"1440p",
|
||||
"4k",
|
||||
"5k",
|
||||
"6k",
|
||||
"8k",
|
||||
modifierOptions: [
|
||||
CriterionModifier.Equals,
|
||||
CriterionModifier.NotEquals,
|
||||
CriterionModifier.GreaterThan,
|
||||
CriterionModifier.LessThan,
|
||||
],
|
||||
options: resolutionStrings,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user