'use client'; import React from 'react'; import Link from 'next/link'; interface OperationsErrorStateProps { status: 401 | 403 | 404 | 503 | 'disabled' | 'network' | number; message?: string; onRetry?: () => void; } export function OperationsErrorState({ status, message, onRetry, }: OperationsErrorStateProps) { let title = 'Operations Error'; let description = message ?? 'An unexpected error occurred in the Operations console.'; let icon = 'error'; let showSignIn = false; let showRetry = true; if (status === 401) { title = 'Authentication Required'; description = message ?? 'Your Operations session has expired or is unauthenticated.'; icon = 'lock'; showSignIn = true; showRetry = false; } else if (status === 403) { title = 'Access Restricted'; description = message ?? 'You do not have sufficient authority to access Operations.'; icon = 'gavel'; showSignIn = false; showRetry = false; } else if (status === 404) { title = 'Resource Not Found'; description = message ?? 'The requested Operations resource does not exist.'; icon = 'search_off'; } else if (status === 503 || status === 'network') { title = 'Operations Temporarily Unavailable'; description = message ?? 'Unable to communicate with the Operations API. Try again in a few moments.'; icon = 'cloud_off'; } else if (status === 'disabled') { title = 'Operations Disabled'; description = message ?? 'The Operations platform is currently disabled by system policy.'; icon = 'block'; showRetry = false; } return (
{icon}
STATUS {typeof status === 'number' ? status : status.toUpperCase()}

{title}

{description}

{showSignIn && ( login Sign In )} {showRetry && onRetry && ( )} Return Home
); }