```jsx import { useState } from 'react'; export default function App() { const [selectedType, setSelectedType] = useState('Пакет с вырубной ручкой'); const [width, setWidth] = useState(30); const [height, setHeight] = useState(40); const [quantity, setQuantity] = useState(100); const [thickness, setThickness] = useState(60); const [colors, setColors] = useState(1); const [totalPrice, setTotalPrice] = useState(0); const [uploadedImage, setUploadedImage] = useState(null); const [previewImage, setPreviewImage] = useState(null); const types = [ 'Пакет с вырубной ручкой', 'Пакет с прорезной ручкой', 'Пакет дой-пак', 'Пакет майка', 'Мешок с zip-локом', 'Профилированный мешок' ]; const calculatePrice = () => { // Базовые цены и коэффициенты для расчёта стоимости const basePrices = { 'Пакет с вырубной ручкой': 5, 'Пакет с прорезной ручкой': 4.8, 'Пакет дой-пак': 7, 'Пакет майка': 4.5, 'Мешок с zip-локом': 9, 'Профилированный мешок': 6 }; const sizeMultiplier = (width * height) / 1000; const colorCosts = [0, 2, 3.5, 5]; const thicknessMultiplier = thickness / 60; const pricePerUnit = basePrices[selectedType] * sizeMultiplier * thicknessMultiplier + colorCosts[colors - 1]; const totalPrice = pricePerUnit * quantity; setTotalPrice(Math.round(totalPrice * 100) / 100); }; const handleImageUpload = (e) => { const file = e.target.files[0]; if (!file) return; const reader = new FileReader(); reader.onload = (e) => { setPreviewImage(e.target.result); setUploadedImage(file); }; reader.readAsDataURL(file); }; return (
{/* Header */}
Сервиспак
{/* Hero Section */}

Изготовление пластиковых пакетов и мешков на заказ

Высокое качество, разнообразие форматов, индивидуальные параметры и быстрые сроки производства

Рассчитать стоимость
{/* About Company */}

О компании "Сервиспак"

Компания "Сервиспак" уже более 10 лет специализируется на производстве полиэтиленовой упаковки по индивидуальным размерам. Мы предлагаем широкий ассортимент продукции от классических пакетов до сложных конструкций под любые задачи.

Наши клиенты получают не только качественную продукцию, но и полный цикл услуг — от разработки дизайна до доставки готовой партии. Мы используем современное оборудование и сырьё ведущих европейских производителей.

10+
лет опыта
1000+
довольных клиентов
100+
цветов печати
100%
контроль качества
Производство
{/* Products */}

Наша продукция

{[ { title: 'Пакет с вырубной ручкой', image: 'https://picsum.photos/400/300?random=2', description: 'Классический пакет с удобными ручками для повседневного использования.' }, { title: 'Пакет с прорезной ручкой', image: 'https://picsum.photos/400/300?random=3', description: 'Прочный пакет с усиленными ручками для тяжелых товаров.' }, { title: 'Пакет дой-пак', image: 'https://picsum.photos/400/300?random=4', description: 'Универсальная упаковка с клапаном для хранения сыпучих продуктов.' }, { title: 'Пакет майка', image: 'https://picsum.photos/400/300?random=5', description: 'Экологичная альтернатива одноразовым пакетам с логотипом вашей компании.' }, { title: 'Мешок с zip-локом', image: 'https://picsum.photos/400/300?random=6', description: 'Воздухонепроницаемая упаковка с застежкой для длительного хранения.' }, { title: 'Профилированный мешок', image: 'https://picsum.photos/400/300?random=7', description: 'Высокопрочные мешки для упаковки строительных материалов и товаров на вес.' } ].map((product, index) => (
{product.title}

{product.title}

{product.description}

))}
{/* Calculator */}

Калькулятор стоимости

setWidth(parseInt(e.target.value))} className="w-full border border-gray-300 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500" />
setHeight(parseInt(e.target.value))} className="w-full border border-gray-300 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500" />
setQuantity(parseInt(e.target.value))} className="w-full border border-gray-300 rounded-lg px-4 py-2 focus:outline-none focus:ring-2 focus:ring-blue-500" />
setThickness(parseInt(e.target.value))} className="w-full" />
{thickness} мкм
{[1, 2, 3, 4].map((num) => ( ))}
{totalPrice > 0 && (

Примерная стоимость: {totalPrice.toLocaleString()} ₽

)}
{/* Design Upload */}

Загрузите свой дизайн

Хотите посмотреть, как будет выглядеть ваш дизайн на выбранной упаковке? Загрузите изображение с вашим логотипом или принтом:

{previewImage && (
Превью
Предварительный просмотр
)}
{/* Contacts */}

Контактная информация

Адрес

620000, г. Екатеринбург, ул. Индустриальная, 15

Телефон

+7 (343) 123-45-67

+7 (343) 123-45-68

Email

info@serwispack.ru

sales@serwispack.ru

Режим работы

Понедельник - Пятница: 9:00 - 18:00

Суббота: 10:00 - 14:00

Форма обратной связи

{/* Footer */}
); } ```