feat: create content layout with emotion

This commit is contained in:
Sonny
2024-04-27 20:00:46 +02:00
committed by Sonny
parent df4185bd62
commit 08dcd7455f
23 changed files with 630 additions and 52 deletions

View File

@@ -0,0 +1,14 @@
import { Global, ThemeProvider } from '@emotion/react';
import { ReactNode } from 'react';
import documentStyle from '~/styles/document';
import { cssReset } from '~/styles/reset';
import { theme } from '~/styles/theme';
export default function BaseLayout({ children }: { children: ReactNode }) {
return (
<>
<ThemeProvider theme={theme}>{children}</ThemeProvider>
<Global styles={[cssReset, documentStyle]} />
</>
);
}

View File

@@ -0,0 +1,22 @@
import styled from '@emotion/styled';
import { ReactNode } from 'react';
import Navbar from '../navbar/navbar';
import BaseLayout from './_base_layout';
const ContentLayoutStyle = styled.div(({ theme }) => ({
height: 'auto',
width: theme.media.small_desktop,
maxWidth: '100%',
padding: '1em',
}));
const ContentLayout = ({ children }: { children: ReactNode }) => (
<BaseLayout>
<ContentLayoutStyle>
<Navbar />
<main>{children}</main>
</ContentLayoutStyle>
</BaseLayout>
);
export default ContentLayout;