Files
shensheshou/components/ui/toaster.tsx
v0 bdf456523b fix: resolve build issues and finalize fixes
Complete Toaster and Skeleton components, add loading.tsx
Update development docs for changes and progress.

Co-authored-by: null <4804959+fnvtk@users.noreply.github.com>
2025-08-08 11:34:42 +00:00

46 lines
1.0 KiB
TypeScript

"use client"
import { useEffect } from "react"
import {
Toast,
ToastAction,
ToastClose,
ToastDescription,
ToastProvider,
ToastTitle,
ToastViewport,
} from "@/components/ui/toast"
import { useToast } from "@/components/ui/use-toast"
export function Toaster() {
const { toasts } = useToast()
// 可选:在开发环境输出调试信息
useEffect(() => {
if (process.env.NODE_ENV === "development") {
// eslint-disable-next-line no-console
console.debug("[Toaster] toasts", toasts)
}
}, [toasts])
return (
<ToastProvider>
{toasts.map(function ({ id, title, description, action, ...props }) {
return (
<Toast key={id} {...props}>
<div className="grid gap-1">
{title && <ToastTitle>{title}</ToastTitle>}
{description && <ToastDescription>{description}</ToastDescription>}
</div>
{action}
<ToastClose />
</Toast>
)
})}
<ToastViewport />
</ToastProvider>
)
}
export { ToastAction }