тут нихуя не работает, ебаный рот этого казино

This commit is contained in:
User
2025-01-08 15:14:15 +03:00
parent 847102e843
commit 8c4c3f2e38
56 changed files with 1448 additions and 267 deletions

View 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, '[]')
}

View File

@@ -0,0 +1,16 @@
import Cookies from 'js-cookie';
export const updateCartCookie = (cartItems) => {
const cartData = JSON.stringify(cartItems);
Cookies.set('cart', cartData, { expires: 7 }); // Cookie expires in 7 days
};
export const getCartFromCookie = () => {
const cartData = Cookies.get('cart');
return cartData ? JSON.parse(cartData) : [];
};
export const clearCartCookie = () => {
Cookies.remove('cart');
};

View File

@@ -0,0 +1,60 @@
import { Product } from "@/types/product"
export const SAMPLE_PRODUCTS: Product[] = [
{
id: 1,
title: "Кофе растворимый Жокей Крепкий, 3 в 1, с сахаром",
price: 89,
oldPrice: 172,
discount: 48,
image: "/placeholder.svg",
isHotDeal: true,
isSale: true,
},
{
id: 2,
title: "Рексона Дезодорант женский твердый стик",
price: 235,
oldPrice: 397,
discount: 40,
image: "/placeholder.svg",
isHotDeal: true,
},
{
id: 3,
title: "Сухой корм Мираторг MEAT с нежной телятиной",
price: 187,
oldPrice: 294,
discount: 36,
image: "/placeholder.svg",
isHotDeal: true,
},
{
id: 4,
title: "Сухой корм KITEKAT™ для взрослых кошек «Мясной пир»",
price: 174,
oldPrice: 209,
discount: 16,
image: "/placeholder.svg",
isHotDeal: true,
},
{
id: 5,
title: "Специальное чистящее средство для стиральных машин",
price: 197,
oldPrice: 469,
discount: 57,
image: "/placeholder.svg",
isHotDeal: true,
},
{
id: 6,
title: "Крем для лица увлажняющий",
price: 184,
oldPrice: 413,
discount: 55,
image: "/placeholder.svg",
isHotDeal: true,
},
]

View File

@@ -1,6 +1,7 @@
import { clsx, type ClassValue } from "clsx"
import { type ClassValue, clsx } from "clsx"
import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}