Files
lcbp3/frontend/components/ai/AiStatusBanner.tsx
T
admin 6cb3ae10ee
CI / CD Pipeline / build (push) Failing after 5m36s
CI / CD Pipeline / deploy (push) Has been skipped
feat(ai): unify AI architecture, implement RAG and legacy migration
2026-05-15 11:10:44 +07:00

35 lines
1.0 KiB
TypeScript

// 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;
}
export function AiStatusBanner({ isOffline }: AiStatusBannerProps) {
const t = useTranslations();
if (isOffline) {
return (
<Alert variant="destructive">
<AlertTriangle className="h-4 w-4" />
<AlertTitle>{t('ai.status.offlineTitle')}</AlertTitle>
<AlertDescription>{t('ai.status.offlineDescription')}</AlertDescription>
</Alert>
);
}
return (
<Alert>
<CheckCircle2 className="h-4 w-4" />
<AlertTitle>{t('ai.status.onlineTitle')}</AlertTitle>
<AlertDescription>{t('ai.status.onlineDescription')}</AlertDescription>
</Alert>
);
}