portfolio/components/layouts/SimpleLayout.tsx

41 lines
1.3 KiB
TypeScript
Raw Permalink Normal View History

2023-01-14 19:31:05 +00:00
import {ReactNode} from 'react'
import {Container} from '@/components/common/Container'
2023-02-18 22:37:09 +00:00
import {twMerge} from 'tailwind-merge'
2022-12-06 12:54:34 +00:00
2023-07-29 22:40:36 +00:00
export type SimpleLayoutProps = {
heading: string
description: string
2023-01-14 23:18:52 +00:00
children: ReactNode
gradient: string
}
2023-01-14 19:31:05 +00:00
export function SimpleLayout({
2023-07-29 22:40:36 +00:00
heading,
description,
2023-01-14 19:31:05 +00:00
children,
gradient
2023-07-29 22:40:36 +00:00
}: SimpleLayoutProps) {
2022-12-06 12:54:34 +00:00
return (
<Container className="mt-16 sm:mt-32">
<header className="max-w-2xl">
<h1
2023-02-18 22:37:09 +00:00
className={twMerge(`
text-4xl
font-bold
tracking-tight
text-zinc-800
dark:text-zinc-100
sm:text-5xl
${gradient ? `${gradient} bg-clip-text dark:text-transparent` : ''}
`)}>
2023-07-29 22:40:36 +00:00
{heading}
2022-12-06 12:54:34 +00:00
</h1>
<p className="mt-6 text-base text-zinc-600 dark:text-zinc-400">
2023-07-29 22:40:36 +00:00
{description}
2022-12-06 12:54:34 +00:00
</p>
</header>
<div className="mt-16 sm:mt-20">{children}</div>
</Container>
)
}