Central de alertas para fazendas com filtros, tipos de alerta e resumo AI. Específico para agro.
O MockFarmAlerts simula uma central de alertas para operações agrícolas, com filtros por severidade, múltiplos tipos de alerta e resumo gerado por AI. Específico para o setor agro.
import { MockFarmAlerts, demoFarmAlertsData } from '@/components/linear/mock-farm-alerts'
Prop Tipo Default Descrição criticalCountnumber— Total de alertas críticos warningCountnumber— Total de alertas de atenção alertsFarmAlert[]— Lista de alertas classNamestring— Classes adicionais
interface FarmAlert {
id : string ;
type : 'weather' | 'machine' | 'inventory' | 'financial' | 'task' | 'market' ;
severity : 'critical' | 'warning' | 'info' ;
title : string ;
description : string ;
timestamp : string ;
source : string ;
action ?: {
label : string ;
href ?: string ;
};
}
< MockFarmAlerts
{ ... demoFarmAlertsData}
className = "h-[500px]"
/>
Type Ícone Label weather🌧️ Clima machine🚜 Máquinas inventory📦 Estoque financial💰 Financeiro task✅ Tarefas market📈 Mercado
Severity Cor Badge criticalVermelho Pulsa animado warningÂmbar Estático infoAzul Estático
Badges com contadores de críticos e atenção
Badge crítico com animação pulse
Botões: Todos, Críticos, Atenção, Info
Estado ativo em primary
Cards coloridos por severidade
Ícone do tipo
Timestamp e fonte
Botão de ação
Grid 3 colunas com contadores por tipo
Ícones e labels
Card em destaque com fundo primary/5
Texto com recomendações baseadas nos alertas
export const demoFarmAlertsData = {
criticalCount: 2 ,
warningCount: 3 ,
alerts: [
{
id: '1' ,
type: 'weather' ,
severity: 'critical' ,
title: 'Tempestade prevista em 48h' ,
description: 'Previsão de chuva forte (45mm) para quinta-feira.' ,
timestamp: '10:30' ,
source: 'INMET' ,
action: { label: 'Ver previsão' },
},
{
id: '2' ,
type: 'machine' ,
severity: 'critical' ,
title: 'Manutenção urgente — Case IH' ,
description: 'Trator precisa de revisão. 12h de operação restantes.' ,
timestamp: '09:15' ,
source: 'Sistema de bordo' ,
action: { label: 'Agendar' },
},
// ...
],
}
import { MockFarmAlerts } from '@/components/linear/mock-farm-alerts'
const data = {
criticalCount: 1 ,
warningCount: 2 ,
alerts: [
{
id: '1' ,
type: 'inventory' as const ,
severity: 'critical' as const ,
title: 'Combustível abaixo do mínimo' ,
description: 'Tanque com 500L restantes. Consumo diário: 200L.' ,
timestamp: '08:00' ,
source: 'Sensor' ,
action: { label: 'Fazer pedido' },
},
],
}
export function Demo () {
return < MockFarmAlerts { ... data} />
}
< BentoCard
title = "Alertas da Fazenda"
description = "Monitoramento integrado com recomendações AI"
colSpan = { 2 }
>
< MockFarmAlerts { ... demoFarmAlertsData} />
</ BentoCard >