Sonner/sonner-promise-

PreviousNext

A sonner/sonner-promise- example

Docs
shadcnblocksblock

Preview

Loading preview…
code/example/sonner/sonner-promise-3.tsx
"use client";

import { toast } from "sonner";

import { Button } from "@/components/ui/button";

export const title = "Promise Toast with Error";

const Example = () => {
  const handleClick = () => {
    const promise = new Promise((_, reject) => {
      setTimeout(() => reject(new Error("Network error")), 2000);
    });

    toast.promise(promise, {
      loading: "Saving changes...",
      success: "Changes saved successfully",
      error: (err) => `Error: ${err.message}`,
    });
  };

  return (
    <Button onClick={handleClick} variant="outline">
      Save Changes
    </Button>
  );
};

export default Example;

Installation

npx shadcn@latest add @shadcnblocks/sonner-sonner-promise-3

Usage

import { SonnerSonnerPromise3 } from "@/components/sonner-sonner-promise-3"
<SonnerSonnerPromise3 />