This repository has been archived on 2025-07-07. You can view files and clone it, but cannot push or open issues or pull requests.
Files
eternos/frontend/style/lib/cartStorage.ts

40 lines
858 B
TypeScript

import fs from 'fs'
import path from 'path'
const DATA_DIR = path.join(process.cwd(), 'data')
const CART_FILE_PATH = path.join(DATA_DIR, 'cart.json')
export interface CartItem {
id: number
title: string
price: number
quantity: number
}
const ensureDataDir = () => {
if (!fs.existsSync(DATA_DIR)) {
fs.mkdirSync(DATA_DIR, { recursive: true })
}
}
export const saveCart = (cartItems: CartItem[]): void => {
ensureDataDir()
const cartData = JSON.stringify(cartItems, null, 2)
fs.writeFileSync(CART_FILE_PATH, cartData)
}
export const getCart = (): CartItem[] => {
ensureDataDir()
if (!fs.existsSync(CART_FILE_PATH)) {
return []
}
const cartData = fs.readFileSync(CART_FILE_PATH, 'utf-8')
return JSON.parse(cartData)
}
export const clearCart = (): void => {
ensureDataDir()
fs.writeFileSync(CART_FILE_PATH, '[]')
}