toaster.tsx 770 B

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