diff --git a/src/components/PageNavigation/index.tsx b/src/components/PageNavigation/index.tsx new file mode 100644 index 0000000..e80927f --- /dev/null +++ b/src/components/PageNavigation/index.tsx @@ -0,0 +1,45 @@ +import React, { FC } from "react" +import * as SC from "./styles" + +interface IPageNavigationPage { + relativePath: string + title: string +} + +interface IPageContentProps { + next?: IPageNavigationPage + previous?: IPageNavigationPage +} + +export const PageNavigation: FC = ({ previous, next }) => { + return ( + + {previous ? ( + + Previous + + + + {previous.title} + + + + ) : ( +
+ )} + {next ? ( + + Next + + + {next.title} + + + + + ) : ( +
+ )} +
+ ) +} diff --git a/src/components/PageNavigation/styles.tsx b/src/components/PageNavigation/styles.tsx new file mode 100644 index 0000000..c68e3f6 --- /dev/null +++ b/src/components/PageNavigation/styles.tsx @@ -0,0 +1,72 @@ +import styled from "styled-components" +import { Link } from "gatsby" +import fontFamily from "../../design/typography" +import ArrowRight from "../../icons/arrow-right.svg" + +export const PageNavigationContent = styled.div` + display: flex; + justify-content: space-between; + align-content: center; +} +` + +export const PageNavigationText = styled.p` + font-family: ${fontFamily.body}; + font-weight: 700; + font-size: 18px; + margin: 0 19px 7px 17px; +` + +export const PageNavigationLink = styled(Link)` + display: flex; + text-decoration: none; + text-align: right; + + & > svg ~ p { + text-align: left; + } + + &:hover, + &:focus { + color: ${(props) => props.theme.main.foreground}; + text-decoration: underline; + } +` + +export const PageNavigationPageContent = styled.div` + width: 200px; + display: flex; + flex-direction: column; + + &:last-of-type { + align-items: flex-end; + } + + & > div { + display: flex; + justify-content: start; + } +` + +export const PageNavigationPageTitle = styled(PageNavigationText)` + margin: 0 10px; + margin-bottom: 0; + background: -webkit-linear-gradient(91.81deg, #feaf6d 0%, #ff70a5 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; +` + +export const NextArrow = styled(ArrowRight)` + width: 8px; + path { + fill: #ff74a2; + } +` + +export const PreviousArrow = styled(ArrowRight)` + width: 8px; + transform: rotate(180deg); + path { + fill: #feac71; + } +`