({
className = "",
id,
title,
children,
center = false,
maxWidthClass = "max-w-6xl",
}: SectionProps)
| 16 | }>; |
| 17 | |
| 18 | export default function Section({ |
| 19 | className = "", |
| 20 | id, |
| 21 | title, |
| 22 | children, |
| 23 | center = false, |
| 24 | maxWidthClass = "max-w-6xl", |
| 25 | }: SectionProps) { |
| 26 | const containerClasses = `${maxWidthClass} mx-auto flex flex-col gap-6`; |
| 27 | |
| 28 | return ( |
| 29 | <section id={id} className={className + " px-6"}> |
| 30 | <div className={containerClasses}> |
| 31 | <h2 |
| 32 | className={`text-3xl font-semibold tracking-tight ${center ? "mx-auto text-center" : ""}`} |
| 33 | > |
| 34 | {title} |
| 35 | </h2> |
| 36 | {/* prose class is useful for markdown-like content. For centered sections we don't want automatic left |
| 37 | margin on headings, so we keep it unconditionally; centering is handled by parent flex alignment. */} |
| 38 | <div className="prose prose-neutral dark:prose-invert max-w-none"> |
| 39 | {children} |
| 40 | </div> |
| 41 | </div> |
| 42 | </section> |
| 43 | ); |
| 44 | } |
nothing calls this directly
no outgoing calls
no test coverage detected