UNPKG

@thunderstorefront/thunder

Version:

## Commands

42 lines (35 loc) 909 B
import type { SortInput } from '@thunderstorefront/types'; export interface UseSorting { sortValue: Ref<string>; sortOrder: Ref<string>; getSort: () => SortInput; setSort: (value: string, order: string) => void; } export function useSorting(): UseSorting { const { storeConfig } = useStoreConfig(); const sortValue = useState<string>( 'sortValue', () => storeConfig.value?.catalogDefaultSortBy || '' ); const sortOrder = useState<string>('sortOrder', () => storeConfig.value?.storeSortOrder ? 'ASC' : 'DESC' ); function setSort(value: string, order: string): void { sortValue.value = value; sortOrder.value = order; } function getSort(): SortInput { if (!sortOrder.value && !sortValue.value) { return {}; } return { [sortValue.value]: sortOrder.value }; } return { sortValue, sortOrder, getSort, setSort }; }