import React, { useState } from 'react';
const HomePage = () => {
// Состояния
const [aiPrompt, setAiPrompt] = useState('');
const [activeFilter, setActiveFilter] = useState('all');
const [selectedProducts, setSelectedProducts] = useState([]);
const [compareMode, setCompareMode] = useState(false);
// Данные для примеров
const examples = [
{ id: 1, title: 'Магазин кроссовок', category: 'ecommerce', img: 'https://via.placeholder.com/300x200?text=Кроссовки' },
{ id: 2, title: 'Каталог отелей', category: 'tourism', img: 'https://via.placeholder.com/300x200?text=Отели' },
{ id: 3, title: 'Сравнение курсов', category: 'education', img: 'https://via.placeholder.com/300x200?text=Курсы' },
{ id: 4, title: 'Недвижимость в Москве', category: 'realty', img: 'https://via.placeholder.com/300x200?text=Недвижимость' },
{ id: 5, title: 'Каталог услуг', category: 'services', img: 'https://via.placeholder.com/300x200?text=Услуги' },
{ id: 6, title: 'Меню ресторана', category: 'services', img: 'https://via.placeholder.com/300x200?text=Ресторан' },
];
const filteredExamples = activeFilter === 'all'
? examples
: examples.filter(ex => ex.category === activeFilter);
// Товары для виджета сравнения
const products = [
{ id: 1, name: 'Ноутбук A', price: '1200$', cpu: 'Intel i7', ram: '16GB', storage: '512GB SSD' },
{ id: 2, name: 'Ноутбук B', price: '1500$', cpu: 'AMD Ryzen 7', ram: '32GB', storage: '1TB SSD' },
{ id: 3, name: 'Ноутбук C', price: '900$', cpu: 'Intel i5', ram: '8GB', storage: '256GB SSD' },
];
const toggleProduct = (id) => {
setSelectedProducts(prev =>
prev.includes(id) ? prev.filter(p => p !== id) : [...prev, id]
);
};
const handleCompare = () => {
setCompareMode(true);
};
const selectedProductData = products.filter(p => selectedProducts.includes(p.id));
// Обработчик генерации
const handleGenerate = () => {
if (aiPrompt.trim()) {
alert(`Генерация сайта по запросу: "${aiPrompt}"\n(в реальном приложении откроется редактор)`);
} else {
alert('Пожалуйста, опишите ваш проект');
}
};
return (
{/* ========== HEADER ========== */}
{/* ========== HERO ========== */}
Создай каталог,
в котором хочется выбирать
Опишите свой бизнес словами — ИИ за минуту соберёт структуру, фильтры и дизайн.
Никакого кода и перетаскивания блоков.
setAiPrompt(e.target.value)}
placeholder="Например: интернет-магазин кроссовок с фильтром по размеру и бренду"
className="flex-1 px-5 py-3 rounded-full border border-gray-300 focus:outline-none focus:ring-2 focus:ring-indigo-500"
/>
Сгенерировать сайт
🛍️ Каталог одежды
🍽️ Меню ресторана
🏨 Сравнение отелей
📚 База курсов
{/* декоративный фон */}
{/* ========== WHY ========== */}
Почему Site.Select
{[
{ icon: '🤖', title: 'Умный ИИ-архитектор', desc: 'Не просто генерация блоков, а полноценная структура с фильтрами и связями.' },
{ icon: '🔍', title: 'Интерактивные фильтры и сравнение', desc: 'Встроенные виджеты «выбери лучшее», тесты и умный поиск.' },
{ icon: '⚡', title: 'Мгновенная адаптивность', desc: 'Сайт автоматически подстраивается под все устройства.' },
{ icon: '📊', title: 'Аналитика в реальном времени', desc: 'Какие товары чаще сравнивают, где останавливаются пользователи.' },
].map((item, idx) => (
{item.icon}
{item.title}
{item.desc}
))}
{/* ========== EXAMPLES с фильтром ========== */}
Живые примеры
{['all', 'ecommerce', 'services', 'realty', 'education', 'tourism'].map(cat => (
setActiveFilter(cat)}
className={`px-4 py-1 rounded-full text-sm font-medium transition ${
activeFilter === cat
? 'bg-indigo-600 text-white'
: 'bg-white text-gray-700 hover:bg-gray-200'
}`}
>
{cat === 'all' ? 'Все' : cat.charAt(0).toUpperCase() + cat.slice(1)}
))}
{filteredExamples.map(ex => (
{ex.title}
Посмотреть живой сайт →
))}
{/* ========== HOW IT WORKS ========== */}
Как это работает
{[
{ step: 1, title: 'Опишите', desc: 'Пишете краткое описание проекта или загружаете прайс-лист Excel.' },
{ step: 2, title: 'Настройте', desc: 'Выбираете тему, загружаете логотип, корректируете структуру.' },
{ step: 3, title: 'Опубликуйте', desc: 'Нажимаете «Опубликовать» и подключаете свой домен.' },
].map((item) => (
{item.step}
{item.title}
{item.desc}
))}
{/* ========== ИНТЕРАКТИВНЫЙ ВИДЖЕТ СРАВНЕНИЯ ========== */}
Попробуйте сравнение товаров
Выберите два ноутбука и нажмите «Сравнить»
= 2
? 'bg-indigo-600 text-white hover:bg-indigo-700'
: 'bg-gray-300 text-gray-500 cursor-not-allowed'
} transition`}
>
Сравнить
{compareMode && selectedProducts.length >= 2 && (
Характеристика
{selectedProductData.map(p => (
{p.name}
))}
{['price', 'cpu', 'ram', 'storage'].map(field => (
{field}
{selectedProductData.map(p => (
{p[field]}
))}
))}
)}
{/* ========== TESTIMONIALS ========== */}
Отзывы
{[
{ name: 'Анна', company: 'Магазин косметики', text: 'Мы запустили каталог из 500 товаров за 15 минут. Раньше на это уходила неделя!' },
{ name: 'Игорь', company: 'Агентство недвижимости', text: 'Клиенты в восторге от удобного сравнения объектов. Конверсия выросла на 30%.' },
{ name: 'Екатерина', company: 'Онлайн-школа', text: 'Создали базу курсов с фильтрами по уровню и цене — студенты легко находят нужное.' },
].map((t, idx) => (
«{t.text}»
{t.name}
{t.company}
))}
⭐ 4.9 на основе 1200+ отзывов
{/* ========== PRICING ========== */}
Выберите тариф
{[
{ name: 'Базовый', price: '0 ₽', features: ['До 100 товаров', '10 ИИ-запросов/мес', 'Поддомен .site.select'], cta: 'Начать' },
{ name: 'Про', price: '990 ₽/мес', features: ['До 5000 товаров', '100 ИИ-запросов', 'Свой домен', 'Расширенная аналитика'], cta: 'Выбрать', popular: true },
{ name: 'Бизнес', price: '2990 ₽/мес', features: ['Безлимит товаров', 'Безлимит ИИ-запросов', 'Приоритетная поддержка', 'Менеджер'], cta: 'Выбрать' },
].map((plan, idx) => (
{plan.popular &&
Популярный }
{plan.name}
{plan.price}
{plan.features.map((f, i) => {f} )}
{plan.cta}
))}
{/* ========== FOOTER ========== */}
Site.Select
Создавайте каталоги, в которых хочется выбирать.
);
};
export default HomePage;