'use client'; import { Heading } from '@/ui/Heading'; import { Stack } from '@/ui/Stack'; import { Text } from '@/ui/Text'; import { motion, useReducedMotion } from 'framer-motion'; import { useEffect, useState } from 'react'; export function CompanionAutomationMockup() { const shouldReduceMotion = useReducedMotion(); const [isMobile, setIsMobile] = useState(false); useEffect(() => { const checkMobile = () => setIsMobile(window.innerWidth < 768); checkMobile(); window.addEventListener('resize', checkMobile); return () => window.removeEventListener('resize', checkMobile); }, []); // Simple mobile version - just the essence of automation if (isMobile) { return ( {/* Simple progress indicator */} Creating Session AUTOMATED {/* Simple CTA */} One Click ); } // Desktop version - richer with more automation steps return ( {/* Companion App Header - Enhanced */} GridPilot Companion AUTOMATED SESSION CREATOR {/* Browser Automation Visual - Full workflow */} {/* Browser Window Mockup */} members.iracing.com {/* Automation Steps - More detailed */} {[ { label: 'Open iRacing', status: 'Complete', detail: 'Browser ready' }, { label: 'Navigate to Hosted', status: 'Complete', detail: 'Page loaded' }, { label: 'Create Session', status: 'Running', detail: 'Filling form...' }, { label: 'Configure Settings', status: 'Pending', detail: 'Waiting...' } ].map((step, index) => ( {step.status === 'Complete' && ( )} {step.status === 'Running' && ( )} {step.status === 'Pending' && ( )} {step.label} {step.detail.toUpperCase()} {step.status !== 'Pending' && ( )} ))} {/* Automation Running Indicator */} Running {/* One-Click Action - Enhanced */} Create Session One click. All fields automated. ); }