/** * Sandbox Rejection Screen * * Shown in web mode when user denies the sandbox risk confirmation. * Prompts them to either restart the app in a container or reload to try again. */ import { useState } from 'react'; import { createLogger } from '@automaker/utils/logger'; import { ShieldX, RefreshCw, Container, Copy, Check } from 'lucide-react'; const logger = createLogger('SandboxRejectionScreen'); import { Button } from '@/components/ui/button'; const DOCKER_COMMAND = 'npm run dev:docker'; export function SandboxRejectionScreen() { const [copied, setCopied] = useState(false); const handleReload = () => { // Clear the rejection state and reload sessionStorage.removeItem('automaker-sandbox-denied'); window.location.reload(); }; const handleCopy = async () => { try { await navigator.clipboard.writeText(DOCKER_COMMAND); setCopied(true); setTimeout(() => setCopied(false), 2000); } catch (err) { logger.error('Failed to copy:', err); } }; return (

Access Denied

You declined to accept the risks of running Automaker outside a sandbox environment.

Run in Docker (Recommended)

Run Automaker in a containerized sandbox environment:

{DOCKER_COMMAND}
); }