import React, { useState, useEffect } from 'react'; import { Clock, Mail, Phone, X, CheckCircle, Star, Zap, Shield, Activity, ArrowRight, ChevronDown } from 'lucide-react'; export default function RomanPortfolioWebsite() { const [selectedProject, setSelectedProject] = useState(null); const [formData, setFormData] = useState({ name: '', email: '', phone: '', projectType: '', message: '' }); const [isSubmitted, setIsSubmitted] = useState(false); const [speedPrediction, setSpeedPrediction] = useState({ pages: 5, contentSize: 2, features: { animations: false, video: false, ecommerce: false, blog: false, userAccounts: false }, result: null, history: [] }); useEffect(() => { const savedHistory = localStorage.getItem('speedPredictionHistory'); if (savedHistory) { try { const parsedHistory = JSON.parse(savedHistory); setSpeedPrediction(prev => ({ ...prev, history: parsedHistory })); } catch (error) { console.error('Error loading prediction history:', error); } } }, []); useEffect(() => { if (speedPrediction.history.length > 0) { localStorage.setItem('speedPredictionHistory', JSON.stringify(speedPrediction.history)); } }, [speedPrediction.history]); const handlePredictionInputChange = (e) => { const { name, value, type, checked } = e.target; if (name.startsWith('feature-')) { const featureName = name.replace('feature-', ''); setSpeedPrediction(prev => ({ ...prev, features: { ...prev.features, [featureName]: checked } })); } else { setSpeedPrediction(prev => ({ ...prev, [name]: type === 'number' ? parseInt(value, 10) : value })); } }; const calculateSpeedPrediction = () => { let baseTime = 1.0; baseTime += (speedPrediction.pages * 0.1); baseTime += (speedPrediction.contentSize * 0.3); if (speedPrediction.features.animations) baseTime += 0.5; if (speedPrediction.features.video) baseTime += 1.0; if (speedPrediction.features.ecommerce) baseTime += 1.2; if (speedPrediction.features.blog) baseTime += 0.3; if (speedPrediction.features.userAccounts) baseTime += 0.8; const randomFactor = 0.9 + (Math.random() * 0.2); baseTime *= randomFactor; const finalTime = Math.round(baseTime * 10) / 10; let speedCategory; if (finalTime < 2.0) { speedCategory = 'fast'; } else if (finalTime < 4.0) { speedCategory = 'medium'; } else { speedCategory = 'slow'; } const result = { loadTime: finalTime, category: speedCategory, timestamp: new Date().toISOString() }; setSpeedPrediction(prev => ({ ...prev, result, history: [...prev.history, { ...result, inputs: { pages: prev.pages, contentSize: prev.contentSize, features: {...prev.features} } }] })); }; const getSpeedColor = (category) => { switch(category) { case 'fast': return 'text-green-500'; case 'medium': return 'text-yellow-500'; case 'slow': return 'text-red-500'; default: return 'text-gray-400'; } }; const getNeedleAngle = (loadTime) => { const maxTime = 8; const clampedTime = Math.min(loadTime, maxTime); return (clampedTime / maxTime) * 180; }; const portfolioProjects = [ { id: 1, title: "Astro Kids Harmonizer", shortDescription: "Астрологический сайт для детей с интерактивными элементами", description: "Современный астрологический сайт, специально разработанный для детской аудитории. Включает интерактивные гороскопы, красочный дизайн и удобную навигацию.", image: "https://assets.sitebrew.ai/generated-1748502305110.webp", category: "Детский сайт", developmentTime: "45 минут", technologies: ["React", "CSS3", "Responsive Design"], features: [ "Яркий детский дизайн", "Интерактивные астрологические элементы", "Адаптивная верстка для всех устройств", "Быстрая загрузка страниц" ] }, { id: 2, title: "Neural Scribe Hub Blog", shortDescription: "Современный блог с чистым дизайном и удобной навигацией", description: "Профессиональный блог-платформа с современным дизайном, оптимизированная для чтения и SEO. Включает систему комментариев и социальные функции.", image: "https://assets.sitebrew.ai/generated-1748502305303.webp", category: "Блог", developmentTime: "1 час", technologies: ["HTML5", "CSS3", "JavaScript", "SEO"], features: [ "Чистый и читаемый дизайн", "SEO-оптимизация", "Система комментариев", "Интеграция с соцсетями" ] }, { id: 3, title: "Speedy Site Landing", shortDescription: "Высококонверсионная посадочная страница для продажи курсов", description: "Продающая посадочная страница, разработанная для максимальной конверсии. Включает все необходимые элементы для успешных продаж онлайн-курсов.", image: "https://assets.sitebrew.ai/generated-1748502306610.webp", category: "Landing Page", developmentTime: "50 минут", technologies: ["React", "Conversion Optimization", "Analytics"], features: [ "Высокая конверсия", "A/B тестирование", "Интеграция с платежными системами", "Аналитика и отслеживание" ] }, { id: 4, title: "Корпоративный сайт", shortDescription: "Представительский сайт для IT-компании", description: "Современный корпоративный сайт с презентацией услуг, командой и портфолио. Полностью адаптивный дизайн и быстрая загрузка.", image: "https://assets.sitebrew.ai/generated-1748502305110.webp", category: "Корпоративный", developmentTime: "1 час 15 минут", technologies: ["React", "TypeScript", "Tailwind CSS"], features: [ "Презентация услуг", "Раздел команды", "Портфолио проектов", "Форма обратной связи" ] }, { id: 5, title: "Интернет-магазин", shortDescription: "E-commerce решение с корзиной и оплатой", description: "Полнофункциональный интернет-магазин с каталогом товаров, корзиной, системой оплаты и административной панелью.", image: "https://assets.sitebrew.ai/generated-1748502305303.webp", category: "E-commerce", developmentTime: "1 час 30 минут", technologies: ["React", "Node.js", "Payment API"], features: [ "Каталог товаров", "Корзина покупок", "Система оплаты", "Административная панель" ] }, { id: 6, title: "Портфолио фотографа", shortDescription: "Элегантное портфолио с галереей работ", description: "Стильное портфолио для фотографа с красивой галереей, информацией об услугах и формой заказа съемки.", image: "https://assets.sitebrew.ai/generated-1748502306610.webp", category: "Портфолио", developmentTime: "40 минут", technologies: ["HTML5", "CSS3", "Lightbox", "Responsive"], features: [ "Галерея с лайтбоксом", "Презентация услуг", "Форма заказа", "Мобильная оптимизация" ] } ]; const painPoints = [ { icon: Clock, title: "Сжатые сроки", problem: "Нужен сайт \"еще вчера\", а разработчики говорят о месяцах", solution: "Создаю сайты за 1 час. Публикация через 2 часа после утверждения." }, { icon: Shield, title: "Высокие цены", problem: "Стоимость разработки сайта начинается от 50 000 рублей", solution: "Мои цены начинаются от 2 500 рублей. Качество не страдает." }, { icon: Zap, title: "Сложное общение", problem: "Разработчики говорят на техническом языке, не понимают бизнес", solution: "Говорю простым языком, понимаю потребности бизнеса." } ]; const handleInputChange = (e) => { setFormData({ ...formData, [e.target.name]: e.target.value }); }; const handleSubmit = (e) => { e.preventDefault(); setIsSubmitted(true); console.log('Form submitted:', formData); }; return (
{/* Hero Section - Enhanced with animations and improved layout */}
{/* Background decoration elements */}
Профессиональная веб-разработка

Сайты под ключ за 1 час

Быстро. Качественно. Доступно. От 2 500 рублей.

1 час разработки
2 часа до публикации
От 2 500 ₽
{/* Portfolio Section - Enhanced card design and hover effects */}
Портфолио

Мои работы

Каждый проект создан с нуля за рекордное время без потери качества

{portfolioProjects.map((project) => (
setSelectedProject(project)} className="group bg-white rounded-xl overflow-hidden cursor-pointer transition-all duration-300 hover:shadow-xl hover:shadow-slate-200/60 border border-gray-100 hover:border-gray-200" >
{project.title}

Нажмите для подробностей

{project.category} {project.developmentTime}

{project.title}

{project.shortDescription}

))}
{/* Pain Points Section - Enhanced with better cards and icons */}
Решения

Знакомые проблемы?

Я решаю типичные боли при заказе сайтов

{painPoints.map((point, index) => (

{point.title}

Проблема:

{point.problem}

Решение:

{point.solution}

))}
{/* About Section - Enhanced with better layout and styling */}
Роман Данилов
Обо мне

Роман Данилов

Специалист по быстрой разработке сайтов с многолетним опытом и сотнями успешных проектов

5+ лет опыта в веб-разработке

Работаю с современными технологиями и фреймворками

100+ успешно реализованных проектов

От лендингов до сложных корпоративных сайтов

Специализация на скоростной разработке

Уникальная методология для быстрого создания сайтов

Гарантия качества и поддержка

Сопровождение проекта после запуска

{/* Speed Prediction Tool Section - Completely redesigned for better UX */}
Инструмент

Предсказание скорости сайта

Узнайте, насколько быстрым будет ваш сайт на основе требований проекта

{/* Input Form - Left side */}

1
Параметры проекта

{speedPrediction.pages}
1 25 50
{speedPrediction.contentSize} МБ
1 МБ 5 МБ 10 МБ
{/* Results Display - Right side */}

2
Результат предсказания

{speedPrediction.result ? (
{speedPrediction.result.loadTime} сек

Ожидаемое время загрузки вашего сайта

{/* Enhanced Speed Gauge */}
{/* Gauge Background with better gradient */}
{/* Gauge Cover with better styling */}
{/* Gauge Markings with tick marks */}
Медленно
Средне
Быстро
{/* Gauge Needle with animation */}
{/* Gauge Center with better styling */}
{/* Recommendations with better styling */}

Рекомендации по оптимизации:

    {speedPrediction.result.loadTime > 3 && (
  • Оптимизация изображений и медиа-контента
  • )} {speedPrediction.features.animations && (
  • Упрощение анимаций или их отложенная загрузка
  • )} {speedPrediction.features.video && (
  • Использование оптимизированных видео-плееров
  • )} {speedPrediction.contentSize > 3 && (
  • Сжатие и минификация ресурсов
  • )}
  • Использование кэширования браузера
) : (

Готовы узнать скорость вашего сайта?

Заполните параметры проекта слева и нажмите "Рассчитать скорость" для получения предсказания

)}
{/* Contact Section - Enhanced form design */}
Свяжитесь со мной

Получите бесплатный макет

Опишите ваш проект, и я создам макет бесплатно

{!isSubmitted ? (