тут нихуя не работает, ебаный рот этого казино
This commit is contained in:
39
frontend/style/lib/cartStorage.ts
Normal file
39
frontend/style/lib/cartStorage.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
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, '[]')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user