30 lines
586 B
TypeScript
30 lines
586 B
TypeScript
import { ReactNode } from 'react';
|
|
|
|
interface ContainerProps {
|
|
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
center?: boolean;
|
|
children: ReactNode;
|
|
className?: string;
|
|
}
|
|
|
|
export default function Container({
|
|
size = 'lg',
|
|
center = false,
|
|
children,
|
|
className = ''
|
|
}: ContainerProps) {
|
|
const sizeStyles = {
|
|
sm: 'max-w-2xl',
|
|
md: 'max-w-4xl',
|
|
lg: 'max-w-7xl',
|
|
xl: 'max-w-[1400px]'
|
|
};
|
|
|
|
const centerStyles = center ? 'text-center' : '';
|
|
|
|
return (
|
|
<div className={`mx-auto ${sizeStyles[size]} ${centerStyles} ${className}`}>
|
|
{children}
|
|
</div>
|
|
);
|
|
} |