// File: components/ai/AiStatusBanner.tsx // Change Log // - 2026-05-14: เพิ่ม banner สำหรับ graceful degradation ของ AI staging. '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; queuePaused?: boolean; } export function AiStatusBanner({ isOffline, queuePaused = false }: AiStatusBannerProps) { const t = useTranslations(); if (isOffline) { return ( {t('ai.service_unavailable')} {t('ai.status.offlineDescription')} ); } if (queuePaused) { return ( {t('ai.status.queue-paused')} {t('ai.status.queuePausedDescription')} ); } return ( {t('ai.status.onlineTitle')} {t('ai.status.onlineDescription')} ); }