import { ref } from "vue"; import { defineStore } from "pinia"; import { getCookie, setCookie } from "@/lib/cookies"; const COOKIE_NAME = "recent-lists"; const MAX_RECENT_LISTS = 32; export const useListStore = defineStore("lists", () => { const lists = ref([]); const rawData = getCookie(COOKIE_NAME, ""); if (rawData) { lists.value = rawData.split(","); } function addList(list: string) { lists.value = [list] .concat(lists.value) .filter((v, i, a) => a.indexOf(v) === i) .slice(0, MAX_RECENT_LISTS); setCookie(COOKIE_NAME, lists.value.join(",")); } return { lists, addList }; });