// File: components/ai/AiStatusBanner.tsx
// Change Log
// - 2026-05-14: เพิ่ม banner สำหรับ graceful degradation ของ AI staging.
// - 2026-05-21: รองรับ global banner เมื่อ Superadmin ปิด AI features.
'use client';
import { AlertTriangle, CheckCircle2 } from 'lucide-react';
import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert';
import { useTranslations } from '@/hooks/use-translations';
interface AiStatusBannerProps {
isOffline?: boolean;
aiEnabled?: boolean;
queuePaused?: boolean;
}
export function AiStatusBanner({ isOffline = false, aiEnabled = true, queuePaused = false }: AiStatusBannerProps) {
const t = useTranslations();
if (isOffline || !aiEnabled) {
return (
{t('ai.status.offlineTitle')}
{t('ai.status.disabledDescription')}
);
}
if (queuePaused) {
return (
{t('ai.status.queue-paused')}
{t('ai.status.queuePausedDescription')}
);
}
return (
{t('ai.status.onlineTitle')}
{t('ai.status.onlineDescription')}
);
}