Dashboard-Automatizase/components/Toast.tsx
Luis Erlacher 0152a2fda0 feat: add n8n API testing script for Google OAuth2 schema and existing credentials
- Implemented a bash script to test n8n API and retrieve credential schemas.
- Added types for API responses, Google Calendar, and WhatsApp instances.
- Configured Vitest for testing with React and added setup for testing-library.
2025-10-10 14:29:02 -03:00

62 lines
1.3 KiB
TypeScript

"use client";
import { useEffect } from "react";
interface ToastProps {
message: string;
type: "success" | "error";
isVisible: boolean;
onClose: () => void;
}
export default function Toast({
message,
type,
isVisible,
onClose,
}: ToastProps) {
useEffect(() => {
if (isVisible) {
const timer = setTimeout(() => {
onClose();
}, 3000);
return () => clearTimeout(timer);
}
}, [isVisible, onClose]);
if (!isVisible) return null;
const bgColor = type === "success" ? "bg-green-600" : "bg-red-600";
return (
<div className="fixed top-4 right-4 z-50">
<div
className={`${bgColor} text-white px-6 py-3 rounded-lg shadow-lg flex items-center gap-3`}
>
<span>{message}</span>
<button
type="button"
onClick={onClose}
className="text-white hover:text-gray-200"
aria-label="Fechar notificação"
>
<svg
className="w-5 h-5"
fill="none"
stroke="currentColor"
viewBox="0 0 24 24"
aria-hidden="true"
>
<path
strokeLinecap="round"
strokeLinejoin="round"
strokeWidth={2}
d="M6 18L18 6M6 6l12 12"
/>
</svg>
</button>
</div>
</div>
);
}