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

!feat: major 3.0 release candidate

This commit is contained in:
2025-05-03 23:59:43 +03:00
parent dbc8c7fd4d
commit 39793a38c3
143 changed files with 14277 additions and 0 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[];