mirror of
https://github.com/MetaFam/TheGame.git
synced 2026-01-12 08:08:25 -05:00
76 lines
1.5 KiB
TypeScript
76 lines
1.5 KiB
TypeScript
import { Flex, FlexProps, Stack, StackProps } from '@metafam/ds';
|
|
|
|
import { HeadComponent } from './Seo';
|
|
|
|
const PageContainer: React.FC<FlexProps> = ({ children, ...props }) => (
|
|
<Flex
|
|
w="100%"
|
|
h="100%"
|
|
p={{ base: 3, sm: 8, lg: 12 }}
|
|
direction="column"
|
|
align="center"
|
|
pos="relative"
|
|
bgImage={''}
|
|
{...props}
|
|
>
|
|
{children}
|
|
</Flex>
|
|
);
|
|
|
|
export default PageContainer;
|
|
|
|
export const FlexContainer: React.FC<StackProps> = ({ children, ...props }) => (
|
|
<Stack w="full" align="center" justify="center" spacing={[6, 8]} {...props}>
|
|
{children}
|
|
</Stack>
|
|
);
|
|
|
|
type EmbedProps = {
|
|
title: string;
|
|
description: string;
|
|
url: string;
|
|
} & FlexProps;
|
|
|
|
export const EmbedContainer: React.FC<EmbedProps> = ({
|
|
title,
|
|
description,
|
|
url,
|
|
...props
|
|
}) => (
|
|
<Flex w="100%" h="100%" direction="column" {...props}>
|
|
<HeadComponent title={title} description={description} url={url} />
|
|
<iframe
|
|
title={title}
|
|
src={url}
|
|
style={{
|
|
width: '100%',
|
|
height: '100%',
|
|
}}
|
|
/>
|
|
</Flex>
|
|
);
|
|
|
|
export const FullPageContainer: React.FC<
|
|
StackProps & { bgImageUrl?: string }
|
|
> = ({ bgImageUrl, sx, children, ...props }) => (
|
|
<FlexContainer
|
|
minH="100vh"
|
|
bg="dark"
|
|
bgImage={bgImageUrl && `url(${bgImageUrl})`}
|
|
bgPosition="center"
|
|
bgAttachment="fixed"
|
|
bgSize="cover"
|
|
overflowX="hidden"
|
|
spacing={0}
|
|
p={{ base: 4, md: 8, lg: 12 }}
|
|
sx={{
|
|
scrollSnapAlign: 'start',
|
|
scrollSnapStop: 'normal',
|
|
...sx,
|
|
}}
|
|
{...props}
|
|
>
|
|
{children}
|
|
</FlexContainer>
|
|
);
|