"use client"; import { useState } from "react"; import Link from "next/link"; import { deleteOS } from "@/app/actions"; interface OS { id: number; numero_os: string; data_abertura: string; fechada: boolean; status: string; totalproduto: string; totalservico: string; } export default function OSList({ initialOrders }: { initialOrders: OS[] }) { const [orders, setOrders] = useState(initialOrders); const [isDeleting, setIsDeleting] = useState(null); const handleDelete = async (id: number) => { const res = await deleteOS(id); if (res.success) { setOrders(orders.filter(o => o.id !== id)); setIsDeleting(null); } else { alert(res.message); } }; return ( <>
{orders.map((order, i) => (
Ordem de serviço {order.numero_os} {order.status || 'Aberta'}
{order.data_abertura ? new Date(order.data_abertura).toLocaleDateString('pt-BR') : '-'}
{((parseFloat(order.totalproduto || '0') + parseFloat(order.totalservico || '0'))).toLocaleString('pt-BR', { style: 'currency', currency: 'BRL' })}
))}
{isDeleting && (

Confirmar Exclusão

Tem certeza que deseja excluir a Ordem de Serviço #{orders.find(o => o.id === isDeleting)?.numero_os}? Esta ação não pode ser desfeita.

)} ); }