oont-astro/src/lib/cart.ts
2025-04-04 12:59:24 +03:00

22 lines
488 B
TypeScript

import { writable } from 'svelte/store';
type CartItem = any;
function createCart() {
const { subscribe, set, update } = writable<CartItem[]>([]);
return {
subscribe,
add: (product: CartItem) =>
update((items) => {
if (items.find((item) => item.id === product.id)) return items;
return [...items, product];
}),
remove: (id: number) =>
update((items) => items.filter((item) => item.id !== id)),
clear: () => set([]),
};
}
export const cart = createCart();