Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
184 changes: 93 additions & 91 deletions src/layout/PageLayout/Footer.tsx
Original file line number Diff line number Diff line change
@@ -1,123 +1,125 @@
import React from "react";
import Link from "next/link";
import { Anchor, Container, Divider, Flex, Stack, Text, ThemeIcon } from "@mantine/core";
import { Anchor, Box, Container, Divider, Flex, Stack, Text, ThemeIcon } from "@mantine/core";
import dayjs from "dayjs";
import { FaDiscord, FaGithub, FaLinkedin } from "react-icons/fa";
import { FaXTwitter } from "react-icons/fa6";
import { JSONCrackLogo } from "../JsonCrackLogo";

export const Footer = () => {
return (
<Container mt={60} px={60} pb="xl" bg="black" fluid>
<Divider color="gray.3" mb="xl" mx={-60} />
<Flex justify="space-between">
<Stack gap={4} visibleFrom="sm">
<JSONCrackLogo />
<Anchor href="mailto:[email protected]" fz="xs" c="dimmed">
[email protected]
</Anchor>
</Stack>
<Flex gap={60} visibleFrom="sm">
<Stack gap="xs">
<Text fz="sm" c="white">
Product
</Text>
<Anchor
fz="sm"
c="gray.5"
href="https://marketplace.visualstudio.com/items?itemName=AykutSarac.jsoncrack-vscode"
rel="noopener"
>
VS Code
</Anchor>
<Anchor
href="https://github.com/AykutSarac/jsoncrack.com"
fz="sm"
c="gray.5"
target="_blank"
rel="noopener"
>
Open Source
</Anchor>
<Anchor
href="https://todiagram.com?utm_source=jsoncrack&utm_medium=footer"
fz="sm"
c="gray.5"
rel="noopener"
>
ToDiagram
</Anchor>
</Stack>
<Stack gap="xs">
<Text fz="sm" c="white">
Resources
</Text>
<Anchor component={Link} prefetch={false} fz="sm" c="gray.5" href="/#faq">
FAQ
</Anchor>
<Anchor component={Link} prefetch={false} fz="sm" c="gray.5" href="/docs">
Docs
<Box w="100%" mt={60} bg="black">
<Divider color="gray.3" mb="xl" />
<Container px={{ base: 16, sm: 60 }} pb="xl">
<Flex justify="space-between">
<Stack gap={4} visibleFrom="sm">
<JSONCrackLogo />
<Anchor href="mailto:[email protected]" fz="xs" c="dimmed">
[email protected]
</Anchor>
</Stack>
<Stack gap="xs">
<Text fz="sm" c="white">
Social
</Text>
<Flex gap="xs">
<Flex gap={60} visibleFrom="sm">
<Stack gap="xs">
<Text fz="sm" c="white">
Product
</Text>
<Anchor
aria-label="LinkedIn"
href="https://www.linkedin.com/company/jsoncrack"
fz="sm"
c="gray.5"
href="https://marketplace.visualstudio.com/items?itemName=AykutSarac.jsoncrack-vscode"
rel="noopener"
>
<ThemeIcon variant="transparent" color="gray.5">
<FaLinkedin size={20} />
</ThemeIcon>
</Anchor>
<Anchor aria-label="X" fz="sm" href="https://x.com/jsoncrack" rel="noopener">
<ThemeIcon variant="transparent" color="gray.5">
<FaXTwitter size={20} />
</ThemeIcon>
VS Code
</Anchor>
<Anchor
aria-label="GitHub"
href="https://github.com/AykutSarac/jsoncrack.com"
fz="sm"
c="gray.5"
target="_blank"
rel="noopener"
>
<ThemeIcon variant="transparent" color="gray.5">
<FaGithub size={20} />
</ThemeIcon>
Open Source
</Anchor>
<Anchor
aria-label="Discord"
href="https://todiagram.com?utm_source=jsoncrack&utm_medium=footer"
fz="sm"
href="https://discord.com/invite/yVyTtCRueq"
c="gray.5"
rel="noopener"
>
<ThemeIcon variant="transparent" color="gray.5">
<FaDiscord size={20} />
</ThemeIcon>
ToDiagram
</Anchor>
</Flex>
</Stack>
</Stack>
<Stack gap="xs">
<Text fz="sm" c="white">
Resources
</Text>
<Anchor component={Link} prefetch={false} fz="sm" c="gray.5" href="/#faq">
FAQ
</Anchor>
<Anchor component={Link} prefetch={false} fz="sm" c="gray.5" href="/docs">
Docs
</Anchor>
</Stack>
<Stack gap="xs">
<Text fz="sm" c="white">
Social
</Text>
<Flex gap="xs">
<Anchor
aria-label="LinkedIn"
href="https://www.linkedin.com/company/jsoncrack"
fz="sm"
rel="noopener"
>
<ThemeIcon variant="transparent" color="gray.5">
<FaLinkedin size={20} />
</ThemeIcon>
</Anchor>
<Anchor aria-label="X" fz="sm" href="https://x.com/jsoncrack" rel="noopener">
<ThemeIcon variant="transparent" color="gray.5">
<FaXTwitter size={20} />
</ThemeIcon>
</Anchor>
<Anchor
aria-label="GitHub"
href="https://github.com/AykutSarac/jsoncrack.com"
fz="sm"
rel="noopener"
>
<ThemeIcon variant="transparent" color="gray.5">
<FaGithub size={20} />
</ThemeIcon>
</Anchor>
<Anchor
aria-label="Discord"
fz="sm"
href="https://discord.com/invite/yVyTtCRueq"
rel="noopener"
>
<ThemeIcon variant="transparent" color="gray.5">
<FaDiscord size={20} />
</ThemeIcon>
</Anchor>
</Flex>
</Stack>
</Flex>
</Flex>
</Flex>
<Flex gap="xl">
<Text fz="sm" c="dimmed">
© {dayjs().get("year")} JSON Crack
</Text>
<Anchor component={Link} prefetch={false} fz="sm" c="dimmed" href="/legal/terms">
<Text fz="sm" c="dimmed">
Terms
</Text>
</Anchor>
<Anchor component={Link} prefetch={false} fz="sm" c="dimmed" href="/legal/privacy">
<Flex gap="xl" mt="xl">
<Text fz="sm" c="dimmed">
Privacy
© {dayjs().get("year")} JSON Crack
</Text>
</Anchor>
</Flex>
</Container>
<Anchor component={Link} prefetch={false} fz="sm" c="dimmed" href="/legal/terms">
<Text fz="sm" c="dimmed">
Terms
</Text>
</Anchor>
<Anchor component={Link} prefetch={false} fz="sm" c="dimmed" href="/legal/privacy">
<Text fz="sm" c="dimmed">
Privacy
</Text>
</Anchor>
</Flex>
</Container>
</Box>
);
};
9 changes: 8 additions & 1 deletion src/layout/PageLayout/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,21 @@ const inter = Inter({
const StyledLayoutWrapper = styled.div`
background: #fff;
font-family: ${inter.style.fontFamily};
display: flex;
flex-direction: column;
min-height: 100vh;
`;

const ContentWrapper = styled.div`
flex: 1;
`;

const PageLayout = ({ children }: React.PropsWithChildren) => {
return (
<ThemeProvider theme={lightTheme}>
<StyledLayoutWrapper>
<Navbar />
{children}
<ContentWrapper>{children}</ContentWrapper>
<Footer />
</StyledLayoutWrapper>
</ThemeProvider>
Expand Down