'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.
);
}