Skip to main content
Deprecated

The @fedibtc/ui library is deprecated and should not be used. This page is kept for reference only.

ToastProvider

Provides the state for toast messages and displays them.

Usage​

1. Add to Layout​

Wrap your application with the ToastProvider component.

import { ToastProvider } from "@fedibtc/ui"

export default function Layout({ children }: { children: React.ReactNode }) {
return <ToastProvider>{children}</ToastProvider>
}

2. Use the useToast hook​

import { useToast, Button } from "@fedibtc/ui"

export default function Page() {
const toast = useToast()

return (
<Button
onClick={() => toast.show({ content: "I am a toast", status: "success" })}
>
Show Toast
</Button>
)
}

useToast examples​

Show a success toast​

toast.show({
content: "Success toast",
status: "success"
})

Show an error toast​

With a string​
toast.show({
content: "Error toast",
status: "error"
})
Formatted error​
try {
throw new Error("This is an error")
} catch (error) {
// The default error message defaults to "An unknown error occurred"
toast.error(error, "An error occurred")
}

Show an info toast​

toast.show({
content: "Info toast"
// status is "info" by default and can be passed optionally
// status: "info"
})

Reference​

ToastProvider​

Provides the state for toast messages and displays them.

Props​

NameTypeDescription
childrenReact.ReactNodeChild React nodes

Signature​

declare function ToastProvider({
children
}: {
children: React.ReactNode
}): JSX.Element

useToast​

Returns the current toast (or null), and functions to show and hide the current toast.

Signature​

declare function useToast(): {
toast: Toast | null
show: (toast: string | ShowToastArgs) => void
error: (error: unknown, defaultMessage?: string) => void
close: () => void
}

interface ShowToastArgs {
content: string
status?: "success" | "error" | "info"
}