import { DropdownButton, Link, Menu, SvgIcon, Text, allureIcons } from "@allurereport/web-components"; import clsx from "clsx"; import type { ComponentChildren } from "preact"; import { useI18n } from "@/stores/locale"; import { setTreeDirection, setTreeSortBy, treeFiltersStore } from "@/stores/tree"; import * as styles from "./styles.scss"; const BtnWrapper = ({ children }: { children: ComponentChildren }) => { return
{children}
; }; export const SortBy = () => { const { t: sortByLocale } = useI18n("sort-by"); const { t: sortByValuesLocale } = useI18n("sort-by.values"); const { t: sortByDirectionsLocale } = useI18n("sort-by.directions"); const { sortBy, direction } = treeFiltersStore.value; const displayedSortByValue = sortByValuesLocale(sortBy); const displayedDirection = sortByDirectionsLocale(`${sortBy}-${direction}-short`); return (
{sortByLocale("sort-by-text")}   ( {displayedSortByValue} {displayedDirection} )} > ( } > {sortByLocale("sort-by-category")} )} > setTreeSortBy("order")} isChecked={sortBy === "order"}> {sortByValuesLocale("order")} setTreeSortBy("duration")} isChecked={sortBy === "duration"}> {sortByValuesLocale("duration")} setTreeSortBy("status")} isChecked={sortBy === "status"}> {sortByValuesLocale("status")} setTreeSortBy("alphabet")} isChecked={sortBy === "alphabet"}> {sortByValuesLocale("alphabet")} ( } > {sortByLocale("direction-category")} )} > setTreeDirection("asc")} leadingIcon={allureIcons.lineArrowsSortLineAsc} isChecked={direction === "asc"} > {sortByDirectionsLocale(`${sortBy}-asc`)} setTreeDirection("desc")} leadingIcon={allureIcons.lineArrowsSortLineDesc} isChecked={direction === "desc"} > {sortByDirectionsLocale(`${sortBy}-desc`)}
); };