Campfire
Registry

Closing

Centered thank-you slide.

slides/06-thanks.mdx
---
layout: closing
title: Thanks
---

`camp init my-deck` — and tell your story.

Installation

camp add closing

Or with any shadcn-compatible CLI:

bunx shadcn@latest add https://campfire-deck.vercel.app/r/closing.json

Copy the source into layouts/closing.tsx. It imports cn from @/lib/utils — scaffolded by camp init, or camp add utils:

layouts/closing.tsx
import type { ComponentProps } from "react";
import { cn } from "@/lib/utils";

export type ClosingLayoutProps = ComponentProps<"main"> & {
  /** From the slide's `title` frontmatter. */
  title?: string;
};

/** Centered thank-you slide. */
export default function ClosingLayout({
  title,
  className,
  children,
  ...props
}: ClosingLayoutProps) {
  return (
    <main
      className={cn(
        "flex h-full flex-col items-center justify-center gap-8 p-28 text-center",
        className
      )}
      data-slot="closing-layout"
      {...props}
    >
      {title ? (
        <h1 className="font-bold font-heading text-8xl tracking-tight">
          {title}
        </h1>
      ) : null}
      <div
        className="max-w-3xl text-2xl leading-relaxed opacity-70"
        data-slot="closing-layout-body"
      >
        {children}
      </div>
    </main>
  );
}

Usage

slides/06-thanks.mdx
---
layout: closing
title: Thanks
---

Questions? Find the deck in the repo.

API Reference

Follows the layout contract and exposes data-slot="closing-layout" and closing-layout-body:

Prop

Type

On this page