diff --git a/frontend/src/ts/collections/results.ts b/frontend/src/ts/collections/results.ts index 3650bef1ef1a..fbce9bab39a0 100644 --- a/frontend/src/ts/collections/results.ts +++ b/frontend/src/ts/collections/results.ts @@ -1,6 +1,7 @@ import { ResultMinified } from "@monkeytype/schemas/results"; import { Difficulty, Mode, Mode2 } from "@monkeytype/schemas/shared"; import { ResultFilters } from "@monkeytype/schemas/users"; +import { quoteDescToGroup } from "@monkeytype/schemas/quotes"; import { queryCollectionOptions } from "@tanstack/query-db-collection"; import { avg, @@ -497,12 +498,7 @@ export function createResultsQueryState( numbers: boolFilter(filters.numbers), timestamp: timestampFilter(filters.date), quoteLength: [ - ...valueFilter(filters.quoteLength, { - short: 0, - medium: 1, - long: 2, - thicc: 3, - }), + ...valueFilter(filters.quoteLength, quoteDescToGroup), -1, // fallback value for results without quoteLength, set in the collection ], tags: valueFilter(filters.tags), diff --git a/frontend/src/ts/components/modals/MobileTestConfigModal.tsx b/frontend/src/ts/components/modals/MobileTestConfigModal.tsx index dd16f99e979c..9d348cf72777 100644 --- a/frontend/src/ts/components/modals/MobileTestConfigModal.tsx +++ b/frontend/src/ts/components/modals/MobileTestConfigModal.tsx @@ -4,6 +4,7 @@ import type { } from "@monkeytype/schemas/configs"; import type { Mode } from "@monkeytype/schemas/shared"; +import { quoteGroupToDesc } from "@monkeytype/schemas/quotes"; import { For, JSXElement, Show } from "solid-js"; import { setConfig, setQuoteLengthAll } from "../../config/setters"; @@ -26,13 +27,13 @@ const quoteLengths: { loginRequired?: boolean; }[] = [ { value: "all", label: "all" }, - { value: "0", label: "short" }, - { value: "1", label: "medium" }, - { value: "2", label: "long" }, - { value: "3", label: "thicc" }, + ...Object.entries(quoteGroupToDesc).map(([group, desc]) => ({ + value: group, + label: desc, + })), { value: "-3", label: "favorite", loginRequired: true }, { value: "-2", label: "search" }, -] as const; +]; function MCButton(props: { text: string; diff --git a/frontend/src/ts/components/modals/QuoteRateModal.tsx b/frontend/src/ts/components/modals/QuoteRateModal.tsx index 4a04aa051cfb..acd558d90585 100644 --- a/frontend/src/ts/components/modals/QuoteRateModal.tsx +++ b/frontend/src/ts/components/modals/QuoteRateModal.tsx @@ -28,16 +28,6 @@ export function QuoteRateModal(): JSXElement { const [rating, setRating] = createSignal(0); const [hoverRating, setHoverRating] = createSignal(0); - const getLengthDesc = (): string => { - const quote = selectedQuote(); - if (!quote) return "-"; - if (quote.group === 0) return "short"; - if (quote.group === 1) return "medium"; - if (quote.group === 2) return "long"; - if (quote.group === 3) return "thicc"; - return "-"; - }; - const displayRating = (): number => hoverRating() || rating(); const handleBeforeShow = (): void => { @@ -152,7 +142,7 @@ export function QuoteRateModal(): JSXElement {