8-bit Chapter Intro
8bitcn/chapter-introFreeBlock
A cinematic chapter/level intro with pixel art background.
Install it
npx shadcn@latest add https://www.8bitcn.com/r/chapter-intro.jsonSource
1import { cn } from "@/lib/utils";23import { Card, CardContent } from "@/components/ui/8bit/card";45export interface ChapterIntroProps extends React.ComponentProps<"div"> {6 title: string;7 subtitle?: string;8 backgroundSrc?: string;9 align?: "left" | "center" | "right";10 height?: "sm" | "md" | "lg";11 darken?: number;12}1314export default function ChapterIntro({15 className,16 title,17 subtitle,18 backgroundSrc = "/placeholder.svg",19 align = "center",20 height = "md",21 darken = 0.5,22 ...props23}: ChapterIntroProps) {24 const heightClass =25 height === "lg"26 ? "min-h-[420px] md:min-h-[640px]"27 : height === "sm"28 ? "min-h-[240px] md:min-h-[360px]"29 : "min-h-[320px] md:min-h-[480px]";3031 const alignClass =32 align === "left"33 ? "justify-start text-left"34 : align === "right"35 ? "justify-end text-right"36 : "justify-center text-center";3738 return (39 <Card className={cn(className)} {...props}>40 <CardContent className={cn("relative p-0")}>41 <div className={cn("relative w-full", heightClass)}>42 {/* Background image */}43 <img44 src={backgroundSrc}45 alt=""46 className="absolute inset-0 h-full w-full object-cover dark:brightness-[0.7]"47 style={{ imageRendering: "pixelated" }}48 />4950 {/* Darken/gradient overlay for readability */}51 <div52 className="absolute inset-0 bg-background/60 mix-blend-multiply"53 style={{ opacity: darken }}54 aria-hidden="true"55 />5657 {/* Cinematic letterbox bars */}58 <div59 className="absolute top-0 left-0 right-0 h-6 md:h-10 bg-secondary/40"60 aria-hidden="true"61 />62 <div63 className="absolute bottom-0 left-0 right-0 h-6 md:h-10 bg-secondary/80"64 aria-hidden="true"65 />6667 {/* Content overlay */}68 <div69 className={cn(70 "relative z-10 flex h-full items-center p-8 md:p-12",71 alignClass72 )}73 >74 <div className="mx-auto max-w-3xl">75 <h1 className="text-2xl md:text-4xl lg:text-5xl font-bold leading-tight drop-shadow-[0_3px_0_rgba(0,0,0,0.8)]">76 {title}77 </h1>78 {subtitle && (79 <p className="mt-4 text-xs md:text-base text-secondary/90 dark:text-muted-foreground/90 drop-shadow-[0_2px_0_rgba(0,0,0,0.8)]">80// … truncated
What it pulls in
Other registry items
Files it writes
More from 8bitcn
All 121 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| 8-bit Advanced 1advanced1 | 8bitcn | Blocks | Free | no deps · 3 files | |
| 8-bit Advanced 2advanced2 | 8bitcn | Blocks | Free | no deps · 5 files | |
| 8-bit Advanced 3advanced3 | 8bitcn | Blocks | Free | no deps · 6 files | |
| 8-bit Audio Settingsaudio-settings | 8bitcn | Blocks | Free | 2 deps · 7 files | |
| 8-bit Character Sheetcharacter-sheet | 8bitcn | Blocks | Free | no deps · 9 files | |
| 8-bit Chartchart | 8bitcn | Blocks | Free | no deps · 3 files | |
| 8-bit Chart Area Stepchart-area-step | 8bitcn | Blocks | Free | no deps · 3 files | |
| 8-bit Chart Barchart-bar | 8bitcn | Blocks | Free | no deps · 3 files |
