1
0
mirror of https://github.com/XFox111/TabsAsideExtension.git synced 2026-04-22 07:58:01 +03:00

Major 3.0 (#118)

Co-authored-by: Maison da Silva <maisonmdsgreen@hotmail.com>
This commit is contained in:
2025-07-30 15:02:26 +03:00
committed by GitHub
parent d6996031b6
commit 2bd9337e63
200 changed files with 19452 additions and 3339 deletions
@@ -0,0 +1,23 @@
import { getCollectionTitle } from "@/entrypoints/sidepanel/utils/getCollectionTitle";
import { CollectionItem } from "@/models/CollectionModels";
export default function sortCollections(
collections: CollectionItem[],
mode?: CollectionSortMode | null
): CollectionItem[]
{
return sorters[mode ?? "custom"]([...collections]);
}
export type CollectionSortMode = "ascending" | "descending" | "newest" | "oldest" | "custom";
const sorters: Record<CollectionSortMode, CollectionSorter> =
{
ascending: i => i.sort((a, b) => getCollectionTitle(a).localeCompare(getCollectionTitle(b))),
descending: i => i.sort((a, b) => getCollectionTitle(b).localeCompare(getCollectionTitle(a))),
newest: i => i.sort((a, b) => b.timestamp - a.timestamp),
oldest: i => i.sort((a, b) => a.timestamp - b.timestamp),
custom: i => i
};
type CollectionSorter = (collections: CollectionItem[]) => CollectionItem[];