"use client";
import React, { useState } from "react";
import { Card } from "@/components/ui/card";
import { Button } from "@/components/ui/button";
import { Badge } from "@/components/ui/badge";
import { Input } from "@/components/ui/input";
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import {
ShoppingCart,
Plus,
Minus,
Eye,
Heart,
Package,
Building2,
Calendar,
Users,
Search,
Star,
Truck
} from "lucide-react";
export function SuppliesDemo() {
const [selectedQuantity, setSelectedQuantity] = useState(1);
const [cartItems, setCartItems] = useState(3);
const [cartTotal, setCartTotal] = useState(15750);
const formatCurrency = (amount: number) => {
return new Intl.NumberFormat('ru-RU', {
style: 'currency',
currency: 'RUB',
minimumFractionDigits: 0
}).format(amount);
};
const mockProduct = {
id: "1",
name: "Футболка мужская базовая хлопок 100%",
brand: "BASIC",
price: 1299,
discount: 15,
quantity: 47,
color: "Черный",
size: "L",
mainImage: "/api/placeholder/300/300",
isNew: true,
isBestseller: false
};
const mockWholesaler = {
id: "w1",
name: "ТекстильПром ООО",
rating: 4.8,
reviewsCount: 1247,
location: "Москва",
specialization: "Текстиль и одежда",
verified: true
};
const discountedPrice = mockProduct.discount
? mockProduct.price * (1 - mockProduct.discount / 100)
: mockProduct.price;
return (
Поставки - Компоненты
Демонстрация компонентов системы управления поставками
Карточки товаров
Карточки поставщиков
Плавающая корзина
Типы поставок
Карточки товаров
Интерактивные карточки товаров с возможностью управления количеством
{/* Обычная карточка товара */}
{/* Количество в наличии */}
50
? 'bg-green-500/80'
: mockProduct.quantity > 10
? 'bg-yellow-500/80'
: 'bg-red-500/80'
} text-white border-0 backdrop-blur text-xs`}>
{mockProduct.quantity}
{/* Скидка */}
{mockProduct.discount && (
-{mockProduct.discount}%
)}
{/* Overlay с кнопками */}
{/* Заголовок и бренд */}
{mockProduct.brand && (
{mockProduct.brand}
)}
{mockProduct.isNew && (
NEW
)}
{mockProduct.isBestseller && (
HIT
)}
{mockProduct.name}
{/* Основная характеристика */}
{mockProduct.color && {mockProduct.color}}
{mockProduct.size && {mockProduct.size}}
{/* Цена */}
{formatCurrency(discountedPrice)}
{mockProduct.discount && (
{formatCurrency(mockProduct.price)}
)}
{/* Управление количеством */}
{
const value = e.target.value.replace(/[^0-9]/g, '');
const numValue = parseInt(value) || 0;
setSelectedQuantity(Math.min(mockProduct.quantity, numValue));
}}
className="h-8 w-12 text-center bg-white/10 border-white/20 text-white text-sm"
/>
{selectedQuantity > 0 && (
{selectedQuantity}
)}
{/* Сумма для выбранного товара */}
{selectedQuantity > 0 && (
{formatCurrency(discountedPrice * selectedQuantity)}
)}
{/* Компактная карточка товара */}
Товар компактно
Краткое описание
{formatCurrency(1599)}
В наличии
{/* Карточка товара со статусом */}
Ожидается
Арт: TB-001
Товар с уведомлением
Поступление: 15 марта
Количество: ~200 шт
{formatCurrency(899)}
Карточки поставщиков
Информационные карточки поставщиков и поставщиков
{/* Главная карточка поставщика */}
{mockWholesaler.name}
{mockWholesaler.specialization}
{mockWholesaler.verified && (
Верифицирован
)}
Рейтинг:
{Array.from({ length: 5 }, (_, i) => (
))}
{mockWholesaler.rating}
Отзывы:
{mockWholesaler.reviewsCount.toLocaleString('ru-RU')}
Местоположение:
{mockWholesaler.location}
{/* Компактная карточка поставщика */}
Логистический партнер
Быстрая доставка
{Array.from({ length: 5 }, (_, i) => (
))}
(4.9)
{/* Карточка нового поставщика */}
Новый партнер
ТехноТрейд ООО
Электроника и техника
Заявка на партнерство
Плавающая корзина
Плавающий элемент для быстрого доступа к корзине
{/* Демонстрация плавающей корзины */}
Область контента страницы
Плавающая корзина появляется в правом нижнем углу
{/* Демо плавающей корзины */}
{/* Различные варианты плавающих кнопок */}
Стандартная корзина
Компактная
С индикатором
{cartItems}
{/* Кнопки управления демо */}
Типы поставок
Различные варианты выбора типа поставки
{/* Вариант 1: Карточки */}
Карточки
Создание поставки через выбор товаров по карточкам
Доступно
{/* Вариант 2: Поставщик */}
Поставщик
Создание поставки через выбор товаров у поставщиков
Доступно
{/* Дополнительные типы */}
Импорт
Массовый импорт товаров из файла
Скоро
Регулярные
Автоматические поставки по расписанию
В разработке
{/* Статусы поставок */}
);
}