toaster.tsx 780 B

123456789101112131415161718192021222324252627282930313233
  1. import {
  2. Toast,
  3. ToastClose,
  4. ToastDescription,
  5. ToastProvider,
  6. ToastTitle,
  7. ToastViewport,
  8. } from "@/components/ui/toast"
  9. import { useToast } from "@/components/ui/use-toast"
  10. export function Toaster() {
  11. const { toasts } = useToast()
  12. return (
  13. <ToastProvider>
  14. {toasts.map(function ({ id, title, description, action, ...props }) {
  15. return (
  16. <Toast key={id} {...props}>
  17. <div className="grid gap-1">
  18. {title && <ToastTitle>{title}</ToastTitle>}
  19. {description && (
  20. <ToastDescription>{description}</ToastDescription>
  21. )}
  22. </div>
  23. {action}
  24. <ToastClose />
  25. </Toast>
  26. )
  27. })}
  28. <ToastViewport />
  29. </ToastProvider>
  30. )
  31. }