Staaarter

Course Certificate Display

Certificate showcase card presenting the course name, issuing institution, completion date, a row of skill badges earned, and a monospace credential ID, alongside decorative Verify and Download buttons.

By Staaarter Team
Education
Docs
Live preview

Docs

Installation

A real shadcn registry command, not a copy-paste stand-in: it fetches this block plus its badge, button dependencies and any missing npm packages, and installs them straight into your project.

npx shadcn add https://staaarter.com/r/course-certificate-display.json

Prefer not to use the CLI? Copy the source from the Code toggle above into src/components/blocks/education/education13.tsx instead.

Usage

The file also exports education13Demo, the exact props behind the preview above. Spread it to get a working section in one line, then replace it with your own data.

import { Education13, education13Demo } from "@/components/blocks/education/education13";

export default function Page() {
  return <Education13 {...education13Demo} />;
}

Props

PropTypeDefaultDescription
badge{ label: string; variant?: BadgeVariant }nonePill above the heading; only rendered when badge or heading is truthy.
headingReactNodeundefinedOptional section heading above the certificate card.
courseNamestringnoneName of the completed course.
institutionstringnoneIssuing institution name.
recipientNamestringnoneName of the person the certificate was issued to.
completionDatestringnoneCompletion date, already formatted (e.g. "June 2, 2026").
skillsstring[][]Skill badges earned, rendered as a tag row.
credentialIdstringnoneUnique credential identifier, rendered in monospace.
classNamestringnoneExtra classes for the outer section element.

Behavior notes

  • Fully static: this is a Server Component, so neither the "Verify credential" nor "Download PDF" button has an onClick or any other event handler attached; they're purely decorative, matching every other CTA-without-a-backend elsewhere in the Blocks categories.
  • The dashed border and centered layout are meant to visually read as a printable certificate, not an interactive dashboard card.
  • skills only renders its tag row when the array is non-empty.
  • completionDate is a plain pre-formatted string prop; no date parsing or formatting happens inside the component.