import { useEffect, useRef, useState } from 'react'; import { Search, Shield, Cog, Zap } from 'lucide-react'; import ScrollReveal from '../ScrollReveal'; const ProcessTimeline = () => { const [activeStep, setActiveStep] = useState(0); const sectionRef = useRef(null); const steps = [ { icon: Search, title: 'Assess', description: 'Discovery, inventory, quick wins report', details: 'We start with a comprehensive assessment of your current IT infrastructure, identifying immediate opportunities for improvement and creating a roadmap for optimization.' }, { icon: Cog, title: 'Stabilize', description: 'Patching, backups, device hygiene, ticket triage', details: 'Foundation work to ensure your systems are secure, backed up, and running smoothly. We address critical vulnerabilities and establish reliable backup procedures.' }, { icon: Shield, title: 'Harden', description: 'MFA, endpoint security, VPN, network segmentation', details: 'Implementation of robust security measures including multi-factor authentication, endpoint protection, secure remote access, and network isolation strategies.' }, { icon: Zap, title: 'Automate', description: 'Monitoring, updates, reporting, playbooks', details: 'Deploy automated monitoring systems, update management, comprehensive reporting, and documented procedures to maintain peak performance with minimal intervention.' } ]; useEffect(() => { const handleScroll = () => { if (!sectionRef.current) return; const section = sectionRef.current; const rect = section.getBoundingClientRect(); const windowHeight = window.innerHeight; // Calculate scroll progress within the section const sectionHeight = rect.height; const scrollProgress = Math.max(0, Math.min(1, (windowHeight - rect.top) / (windowHeight + sectionHeight))); // Determine active step based on scroll progress const newActiveStep = Math.min(steps.length - 1, Math.floor(scrollProgress * steps.length)); setActiveStep(newActiveStep); }; window.addEventListener('scroll', handleScroll); return () => window.removeEventListener('scroll', handleScroll); }, [steps.length]); return (
{/* Background decoration */}

How we transform your IT

Our proven four-phase methodology ensures systematic improvement and lasting results.

{/* Timeline line */}
{/* Steps */}
{steps.map((step, index) => { const Icon = step.icon; const isActive = index <= activeStep; const isEven = index % 2 === 0; return (
{/* Step content */}
Step {index + 1}

{step.title}

{step.description}

{step.details}

{/* Timeline dot */}
{/* Spacer for layout */}
); })}
); }; export default ProcessTimeline;