import React from 'react'; import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { AlertTriangle, Edit, Trash2, Clock } from 'lucide-react'; import { ApontamentoImprodutivo, calculateDuration } from '@/hooks/useRDOImprodutivos'; interface ImprodutivosListProps { improdutivos: ApontamentoImprodutivo[]; onEdit?: (improdutivo: ApontamentoImprodutivo) => void; onDelete?: (id: string) => void; loading?: boolean; } export const ImproduitvosList: React.FC = ({ improdutivos, onEdit, onDelete, loading = false, }) => { if (improdutivos.length === 0) { return (

Nenhum tempo improdutivo registrado

); } // Calcular total de tempo improdutivo const totalMinutos = improdutivos.reduce((acc, item) => { const duracao = calculateDuration(item.hora_inicio, item.hora_fim); const [horas, minutos] = duracao.split(':').map(Number); return acc + (horas * 60) + minutos; }, 0); const totalHoras = Math.floor(totalMinutos / 60); const restoMinutos = totalMinutos % 60; const totalFormatado = `${totalHoras}h ${restoMinutos.toString().padStart(2, '0')}m`; return (
Tempos Improdutivos Total: {totalFormatado}
{improdutivos.map((improdutivo) => (
{improdutivo.motivos_improdutivos?.motivo}
{improdutivo.motivos_improdutivos?.categoria}
{improdutivo.motivos_improdutivos?.descricao && (

{improdutivo.motivos_improdutivos.descricao}

)}
{improdutivo.hora_inicio} - {improdutivo.hora_fim} Duração: {calculateDuration(improdutivo.hora_inicio, improdutivo.hora_fim)}
{improdutivo.descricao && (

Descrição:

{improdutivo.descricao}

)}
{onEdit && ( )} {onDelete && ( )}
))}
); };