'use client';
// FatalErrorBanner — 任务级致命错误提示(B6)。生成彻底失败时给用户明确反馈,
// 不再让页面无限转圈。从 generationStore.fatalError 读。
import { useGenerationStore } from '@/stores/generationStore';

export function FatalErrorBanner() {
  const fatalError = useGenerationStore((s) => s.fatalError);
  if (!fatalError) return null;

  return (
    <div
      className="mb-4 bg-red-50 border border-status-error rounded-xl px-4 py-3"
      role="alert"
      aria-live="assertive"
    >
      <div className="flex items-start gap-2">
        <span aria-hidden="true" className="text-status-error">⚠️</span>
        <div className="flex-1 min-w-0">
          <p className="text-sm font-medium text-status-error">生成失败</p>
          <p className="text-xs text-text-secondary mt-0.5 break-words">
            {fatalError.message || '生成过程出错，请重试或联系管理员'}
          </p>
          <p className="text-xs text-text-tertiary mt-1">
            可在任务列表对该任务重新生成；多次失败请检查 key 配置或网络。
          </p>
        </div>
      </div>
    </div>
  );
}
