import React, { useEffect, useMemo, useState } from "react";
import { BrowserRouter, Routes, Route, Link, NavLink as RRNavLink } from "react-router-dom";
import { motion } from "framer-motion";
import {
ArrowRight,
Check,
Mail,
MapPin,
Menu,
Phone,
Star,
Sun,
Moon,
Factory,
Scissors,
Shirt,
Image,
Sparkles,
Needle,
} from "lucide-react";
import { Button } from "@/components/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
import { Input } from "@/components/ui/input";
import { Textarea } from "@/components/ui/textarea";
// === Базовые настройки бренда (меняйте под себя) ===
const BRAND = {
name: "ООО «PROUniform»",
tagline: "Униформа и мерч с вашим логотипом",
phone: "+7 (999) 123-45-67",
email: "sales@prouniform.ru",
address: "Москва, ул. Производственная, 1",
primary: "from-indigo-600 to-blue-600",
};
// === Утилиты ===
const Container = ({ children, className = "" }) => (
{children}
);
const PageHeader = ({ icon: Icon, title, subtitle }) => (
{Icon && }{BRAND.name}
{title}
{subtitle &&
{subtitle}
}
);
const Stat = ({ value, label }) => (
);
const Feature = ({ icon: Icon, title, desc }) => (
);
const fadeInUp = {
hidden: { opacity: 0, y: 16 },
show: { opacity: 1, y: 0, transition: { duration: 0.5 } },
};
// === Навигация ===
const NavLink = ({ to, children }) => (
`text-sm font-medium px-3 py-2 rounded-xl transition ${
isActive ? "bg-muted text-foreground" : "text-muted-foreground hover:text-foreground"
}`
}
>
{children}
);
const Header = ({ dark, setDark }) => {
const [open, setOpen] = useState(false);
return (
);
};
const Footer = () => (
);
// === Главная/О нас ===
const AboutPage = () => {
return (
Почему мы
С какие задачами обращаются
Униформа для персонала: футболки, худи, фартуки, куртки
Мерч для конференций, ивентов, промо‑акций
Капсулы одежды под бренд‑гайд
Наклейки UV‑DTF для сложных поверхностей
);
};
// === Швейное производство ===
const SewingPage = () => {
const machines = [
{ name: "1–/2–игольные промышленные машины", note: "Juki, Jack" },
{ name: "Оверлоки/распошивальные", note: "Siruba, Juki" },
{ name: "Плоттер раскроя", note: "Лекала по вашим меркам" },
{ name: "Термопресс широкоформатный", note: "для термоаппликаций" },
];
const steps = [
"Бриф и подбор тканей/фурнитуры",
"Конструктор, лекала и пилотный образец",
"Закупка и раскрой",
"Пошив и ОТК",
"Брендирование (DTF/вышивка/UV‑DTF)",
"Упаковка и логистика",
];
return (
Оборудование
{machines.map((m, i) => (
{m.name}
— {m.note}
))}
Процесс
{steps.map((s, i) => (
))}
);
};
// === DTF ===
const DTFPage = () => {
const reqs = [
"Формат: PNG/PDF с прозрачным фоном",
"Разрешение: 300 dpi",
"Профиль цвета: sRGB",
"Минимальная линия: 0.3 мм",
];
const benefits = [
"Глянцевый/матовый финиш",
"Стойкость к стирке 60°",
"Передача мелких деталей",
"Подходит для хлопка/полиэстера/смесей",
];
return (
Требования к макетам
{reqs.map((r, i) => (
{r}
))}
Плюсы DTF
{benefits.map((b, i) => (
{b}
))}
);
};
// === UV DTF ===
const UVDTFPage = () => {
const uses = [
"Наклейки для бутылок, термокружек, шейкеров",
"Брендинг электроники и сувениров",
"Неровные и сложные поверхности",
];
const features = [
"Рельефный эффект, премиальный вид",
"Сверхвысокая износостойкость",
"Адгезия к стеклу/металлу/пластику",
];
return (
Где применяется
{uses.map((u, i) => (
{u}
))}
Особенности UV DTF
{features.map((f, i) => (
{f}
))}
);
};
// === Вышивка ===
const EmbroideryPage = () => {
const types = [
"Классическая плоская",
"Объёмная 3D‑вышивка",
"Аппликация/чейн‑стич",
"Комбинированная (вышивка + DTF)",
];
const specs = [
"Макс. поле: 360×200 мм",
"Игольницы: 12‑15 цветов",
"Файлы: DST, EMB (или PNG 300 dpi)",
];
return (
Виды
{types.map((t, i) => (
{t}
))}
Характеристики
{specs.map((s, i) => (
{s}
))}
);
};
// === Контакты ===
const ContactsPage = () => {
return (
);
};
// === Домашняя страница (краткий обзор услуг) ===
const HomePage = () => {
const services = [
{ to: "/sewing", icon: Factory, title: "Швейное производство", desc: "Собственный цех: от пилота до серии." },
{ to: "/dtf", icon: Image, title: "DTF", desc: "Яркие переносы, мелкие детали, стойкость." },
{ to: "/uv-dtf", icon: Sparkles, title: "UV DTF", desc: "Объёмные наклейки для любых поверхностей." },
{ to: "/embroidery", icon: Needle, title: "Вышивка", desc: "Премиальный вид и долговечность." },
];
return (
Униформа и мерч для брендов и команд
Полный цикл: пошив, DTF/UV‑DTF, вышивка. Быстро, ровно, по бренд‑гайду.
Услуги
{services.map((s, i) => (
Сервис
{s.title}
{s.desc}
))}
);
};
// === Приложение ===
export default function App() {
const [dark, setDark] = useState(false);
useEffect(() => {
document.documentElement.classList.toggle("dark", dark);
}, [dark]);
return (
} />
} />
} />
} />
} />
} />
} />
);
}