mirror of
https://wget.la/https://github.com/leookun/cursor-byok
synced 2026-10-04 02:52:55 +08:00
19 lines
625 B
TypeScript
19 lines
625 B
TypeScript
import type { ElementType, ReactNode } from "react";
|
|
import styles from "./PageLayout.module.scss";
|
|
|
|
type PageLayoutProps = {
|
|
as?: ElementType;
|
|
className?: string;
|
|
header?: ReactNode;
|
|
footer?: ReactNode;
|
|
children: ReactNode;
|
|
};
|
|
|
|
export function PageLayout({ as: Component = "div", className, header, footer, children }: PageLayoutProps) {
|
|
return <Component className={[styles.root, className].filter(Boolean).join(" ")}>
|
|
{header && <div className={styles.header}>{header}</div>}
|
|
<div className={styles.body}>{children}</div>
|
|
{footer && <div className={styles.footer}>{footer}</div>}
|
|
</Component>;
|
|
}
|