Skip to contentVibraUI

Contact support

Where a reader goes when no article answers — open a ticket or write to support — and the hours support answers in; it reads no rows.

Preview

Install

npx shadcn@latest add @vibra/widget-support-help-contact-card

Needs the @vibra registry in your components.json — set it up once.

Source

app/support/help/components/contact-card.tsx
import Link from "next/link"

import { Callout } from "@/components/ui/callout"
import { Widget } from "@/components/ui/widget"

/** Where a reader goes when nothing on the shelf answers the question. */
export function ContactCard() {
  return (
    <Widget
      data-widget="widget-support-help-contact-card"
      title="Still stuck?"
      description="Two ways to reach a person"
      footer="Support answers between 08:00 and 20:00 UTC on working days."
    >
      <Callout title="Open a ticket and we will pick it up">
        <p>
          A ticket keeps the whole conversation, the workspace it is about, and anything you
          attach, in one place.{" "}
          <Link href="/support" className="text-foreground underline underline-offset-4">
            Open a ticket
          </Link>{" "}
          or write to{" "}
          <a href="mailto:support@northwind.example" className="text-foreground underline underline-offset-4">
            support@northwind.example
          </a>
          .
        </p>
      </Callout>
    </Widget>
  )
}

Its page

On its page the card sits among the rest of the dashboard and shares its range and its data with them.

From the Help centre page