21 lines
550 B
TypeScript
21 lines
550 B
TypeScript
import { getCookie, setCookie } from "@/lib/cookies";
|
|
|
|
const COOKIE_NAME = "recent-lists";
|
|
const MAX_RECENT_LISTS = 32;
|
|
|
|
export function getRecentLists(): string[] {
|
|
const rawData = getCookie(COOKIE_NAME, "");
|
|
if (!rawData) {
|
|
return [];
|
|
}
|
|
return rawData.split(",");
|
|
}
|
|
|
|
export function saveRecentList(list: string): void {
|
|
const recentLists = [list]
|
|
.concat(getRecentLists())
|
|
.filter((v, i, a) => a.indexOf(v) === i)
|
|
.slice(0, MAX_RECENT_LISTS);
|
|
setCookie(COOKIE_NAME, recentLists.join(","));
|
|
}
|