# Failed Load Error

> Error empty state for data that failed to load, with a destructive alert icon plus Try Again and contact support actions.

A shadcn/ui block from the [@7ovr](https://7ovr.com) registry, listed on [shadcn.exchange](https://shadcn.exchange/r/7ovr/empty-states-4).

- Page, with a live preview: https://shadcn.exchange/r/7ovr/empty-states-4
- Screenshot: https://abzjhwgwpdpz7ua5.public.blob.vercel-storage.com/shots/7ovr/empty-states-4-light-ac43a11dc61a4e3f.png
- Registry item: https://7ovr.com/r/empty-states-4.json
- Categories: empty-states
- Listed: 2026-10-13, source last changed 2026-10-13

## Install

```bash
npx shadcn@latest add https://7ovr.com/r/empty-states-4.json
```

Run it in a project that has shadcn/ui set up. It adds the files below and installs what they depend on.

## Dependencies

- npm packages: `@base-ui/react`
- Registry items: `button`, `empty`, `sonner`

## Files

### `registry/blocks/empty-states/4/empty-states-block.tsx`

```tsx
"use client"
import { toast } from "sonner"

import { Button } from "@/components/ui/button"
import {
  Empty,
  EmptyContent,
  EmptyDescription,
  EmptyHeader,
  EmptyMedia,
  EmptyTitle,
} from "@/components/ui/empty"
import { Toaster } from "@/components/ui/sonner"
import { IconPlaceholder } from "@/components/icons/icon-placeholder"

export default function EmptyStatesBlock() {
  return (
    <section className="flex w-full items-center justify-center bg-muted/30 px-6 py-16 text-foreground">
      <Toaster />
      <div className="w-full max-w-md rounded-lg border border-border bg-card">
        <Empty className="border-0">
          <EmptyHeader>
            <EmptyMedia
              variant="icon"
              className="bg-destructive/10 text-destructive"
            >
              <IconPlaceholder
                lucide="CircleAlert"
                tabler="IconAlertCircle"
                hugeicons="AlertCircleIcon"
                phosphor="WarningCircle"
                remixicon="RiErrorWarningLine"
                className="size-4"
              />
            </EmptyMedia>
            <EmptyTitle>Something went wrong</EmptyTitle>
            <EmptyDescription>
              We hit an unexpected error while loading your data. Check your
              connection and try again in a few moments.
            </EmptyDescription>
          </EmptyHeader>
          <EmptyContent>
            <div className="flex flex-col items-center gap-2 sm:flex-row">
              <Button
                onClick={() =>
                  toast.success("Retrying…", {
                    id: "retrying",
                    description: "Reloading your data.",
                  })
                }
              >
                <IconPlaceholder
                  lucide="RefreshCw"
                  tabler="IconRefresh"
                  hugeicons="RefreshIcon"
                  phosphor="ArrowsClockwise"
                  remixicon="RiRefreshLine"
                  data-icon="inline-start"
                />
                Try Again
              </Button>
              <Button
                variant="outline"
                onClick={() =>
                  toast("Support", {
                    id: "support",
                    description: "Opening a support ticket.",
                  })
                }
              >
                <IconPlaceholder
                  lucide="Headset"
                  tabler="IconHeadset"
                  hugeicons="CustomerSupportIcon"
                  phosphor="Headset"
                  remixicon="RiCustomerService2Line"
                  data-icon="inline-start"
                />
                Contact Support
              </Button>
            </div>
          </EmptyContent>
        </Empty>
      </div>
    </section>
  )
}
```
