Add example page redirection

This commit is contained in:
Maria Rushkova 2021-11-22 17:03:25 +01:00
parent 450f1a6b09
commit f0ebbb290b
No known key found for this signature in database
GPG Key ID: B9B5728B991FF586
6 changed files with 188 additions and 112 deletions

View File

@ -1,13 +1,19 @@
import React from 'react'
import { useTranslation } from 'react-i18next'
import { Switch, Route, Redirect } from 'react-router-dom'
import { Example } from './pages/Example'
import { Example } from './pages/Example/Example'
import { ExampleNL } from './pages/Example/ExampleNL'
import { Home } from './pages/Home'
export function App() {
const { i18n } = useTranslation()
return (
<Switch>
<Route exact path="/home" component={Home} />
<Route exact path="/example" component={Example} />
<Route exact path="/example">
{i18n.language === 'en' ? <Example /> : <ExampleNL />}
</Route>
<Redirect exact from="/" to="/home" />
</Switch>
)

View File

@ -6,8 +6,8 @@ import arrow from '../../assets/arrow.svg'
import { useTranslation } from 'react-i18next'
export function Navigation() {
const { t, i18n } = useTranslation()
const { t } = useTranslation()
return (
<Nav>
<NavLinks>

View File

@ -44,15 +44,15 @@ const SelectButton = styled.button`
color: ${Colors.White};
font-size: calc(24px + (36 - 24) * ((100vw - 320px) / (1440 - 320)));
text-decoration: underline;
padding-right: 50px;
padding-right: 30px;
&::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 40px;
height: 20px;
width: 30px;
height: 15px;
transform: translateY(-50%);
background: url(${arrowDown}) center no-repeat;
background-size: contain;

104
src/constants/example.ts Normal file
View File

@ -0,0 +1,104 @@
import { Link } from 'react-router-dom'
import styled from 'styled-components'
import { Colors } from '../constants/styles'
import arrowRight from '../assets/arrow-right.svg'
export const HeadingWrapper = styled.div`
border-top: 5px solid ${Colors.Black};
border-bottom: 5px solid ${Colors.Black};
padding: 24px;
@media (max-width: 1024px) {
padding: 2vw;
}
@media (max-width: 769px) {
border-top: 3px solid ${Colors.Black};
border-bottom: 3px solid ${Colors.Black};
}
`
export const Heading = styled.h1`
color: ${Colors.Black};
font-size: calc(24px + (72 - 24) * ((100vw - 320px) / (1440 - 320)));
font-weight: normal;
text-transform: uppercase;
max-width: 1072px;
margin: 0 auto;
@media (min-width: 1440px) {
font-size: 72px;
}
`
export const Navigation = styled.nav`
width: 100%;
display: flex;
margin-bottom: 48px;
@media (max-width: 769px) {
margin-bottom: 24px;
}
`
export const HomeLink = styled(Link)`
color: ${Colors.Black};
font-size: calc(24px + (36 - 24) * ((100vw - 320px) / (1440 - 320)));
text-transform: uppercase;
&:hover {
text-decoration: underline;
opacity: 0.7;
}
@media (min-width: 1440px) {
font-size: 36px;
}
`
export const StyledPageLink = styled(Link)`
color: ${Colors.Black};
font-size: calc(24px + (36 - 24) * ((100vw - 320px) / (1440 - 320)));
text-transform: uppercase;
position: relative;
padding-left: 32px;
@media (max-width: 769px) {
padding-left: 24px;
}
&:before {
content: '';
position: absolute;
width: 30px;
height: 30px;
left: 0;
top: 50%;
transform: translateY(-50%);
background: url(${arrowRight});
background-position: contain;
@media (max-width: 769px) {
width: 24px;
height: 24px;
}
}
&:hover {
text-decoration: underline;
opacity: 0.7;
}
@media (min-width: 1440px) {
font-size: 36px;
}
`
export const Text = styled.p`
font-size: calc(16px + (24 - 16) * ((100vw - 320px) / (1440 - 320)));
margin-bottom: 32px;
@media (min-width: 1440px) {
font-size: 24px;
}
`

View File

@ -1,9 +1,6 @@
import React from 'react'
import { Link } from 'react-router-dom'
import styled from 'styled-components'
import { Page, PageContent } from '../components'
import { Colors } from '../constants'
import arrowRight from '../assets/arrow-right.svg'
import { Page, PageContent } from '../../components'
import { Heading, HeadingWrapper, HomeLink, Navigation, StyledPageLink, Text } from '../../constants/example'
export function Example() {
return (
@ -70,103 +67,3 @@ export function Example() {
</Page>
)
}
const HeadingWrapper = styled.div`
border-top: 5px solid ${Colors.Black};
border-bottom: 5px solid ${Colors.Black};
padding: 24px;
@media (max-width: 1024px) {
padding: 2vw;
}
@media (max-width: 769px) {
border-top: 3px solid ${Colors.Black};
border-bottom: 3px solid ${Colors.Black};
}
`
const Heading = styled.h1`
color: ${Colors.Black};
font-size: calc(24px + (72 - 24) * ((100vw - 320px) / (1440 - 320)));
font-weight: normal;
text-transform: uppercase;
max-width: 1072px;
margin: 0 auto;
@media (min-width: 1440px) {
font-size: 72px;
}
`
const Navigation = styled.nav`
width: 100%;
display: flex;
margin-bottom: 48px;
@media (max-width: 769px) {
margin-bottom: 24px;
}
`
const HomeLink = styled(Link)`
color: ${Colors.Black};
font-size: calc(24px + (36 - 24) * ((100vw - 320px) / (1440 - 320)));
text-transform: uppercase;
&:hover {
text-decoration: underline;
opacity: 0.7;
}
@media (min-width: 1440px) {
font-size: 36px;
}
`
const StyledPageLink = styled(Link)`
color: ${Colors.Black};
font-size: calc(24px + (36 - 24) * ((100vw - 320px) / (1440 - 320)));
text-transform: uppercase;
position: relative;
padding-left: 32px;
@media (max-width: 769px) {
padding-left: 24px;
}
&:before {
content: '';
position: absolute;
width: 30px;
height: 30px;
left: 0;
top: 50%;
transform: translateY(-50%);
background: url(${arrowRight});
background-position: contain;
@media (max-width: 769px) {
width: 24px;
height: 24px;
}
}
&:hover {
text-decoration: underline;
opacity: 0.7;
}
@media (min-width: 1440px) {
font-size: 36px;
}
`
const Text = styled.p`
font-size: calc(16px + (24 - 16) * ((100vw - 320px) / (1440 - 320)));
margin-bottom: 32px;
@media (min-width: 1440px) {
font-size: 24px;
}
`

View File

@ -0,0 +1,69 @@
import React from 'react'
import { Page, PageContent } from '../../components'
import { Heading, HeadingWrapper, HomeLink, Navigation, StyledPageLink, Text } from '../../constants/example'
export function ExampleNL() {
return (
<Page>
<HeadingWrapper>
<Heading>Volkscultuurfeest</Heading>
</HeadingWrapper>
<PageContent>
<Navigation>
<HomeLink to="/">Huis</HomeLink>
<StyledPageLink to="/">Wat betreft</StyledPageLink>
</Navigation>
<main>
<article>
<Text>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam efficitur orci erat, eget viverra justo
egestas id. Vestibulum semper odio vitae dictum aliquam. Maecenas eget purus at ipsum viverra molestie.
Sed egestas leo in massa volutpat maximus at vel nulla. Sed vehicula accumsan mattis. Pellentesque
hendrerit consectetur arcu a condimentum. Integer tortor mauris, laoreet ut ipsum id, scelerisque
dignissim nisl. Etiam nec metus sit amet dolor vestibulum sollicitudin. Curabitur a varius mauris, quis
vestibulum dolor. Etiam vulputate nulla in velit convallis, at tincidunt lacus tincidunt. Cras sit amet
libero egestas, porttitor lacus nec, vulputate lorem. Suspendisse semper tellus sit amet cursus fermentum.
Duis sed risus in sapien fermentum feugiat. Donec nec sodales lorem.{' '}
</Text>
<Text>
Curabitur laoreet et lorem non ultricies. Vivamus cursus neque nulla, et dignissim eros hendrerit et.
Nulla facilisi. Sed in nisi id lectus porttitor gravida. Sed lectus ante, vulputate ut odio sed, blandit
pharetra lectus. Sed porta, mauris vitae aliquet accumsan, quam metus scelerisque purus, quis vestibulum
diam ex a tortor. Mauris eu felis eu turpis placerat dapibus. Donec mauris nunc, laoreet eget est quis,
tincidunt iaculis quam. Vivamus pulvinar viverra lacus, ac pellentesque mi dictum vel. Praesent sit amet
vulputate magna. Integer semper neque lectus, eget volutpat odio auctor sit amet. Maecenas id neque
dignissim, cursus quam et, iaculis orci. Integer congue euismod velit at elementum.{' '}
</Text>
<Text>
Aliquam sollicitudin, augue non gravida interdum, nibh eros dignissim lacus, vel vulputate dolor metus vel
dolor. Nunc id suscipit est. Proin id ligula fringilla, fringilla lectus at, scelerisque odio. Morbi
aliquam finibus nunc vehicula viverra. Nullam nec ipsum ipsum. Cras at ullamcorper arcu, in ultrices nisi.
Integer cursus tincidunt urna, eu lobortis augue volutpat ac. Phasellus posuere sollicitudin est, sit amet
accumsan ex sagittis eu. Quisque ut lectus at tellus efficitur semper a sit amet ante. Pellentesque ornare
libero ex, quis mollis dui sodales vel. Curabitur pretium quam eget odio dignissim, et sagittis tellus
tincidunt. Maecenas dictum venenatis tellus vel malesuada. Sed non varius urna. Phasellus molestie dui
lacus, eu sagittis metus pulvinar id. Sed facilisis urna lacus, ut rutrum nisl blandit id. Integer id nisl
porta, accumsan velit quis, tempus urna. Phasellus non egestas tellus. Quisque viverra, tellus quis luctus
tempus, lacus massa varius est, a luctus ante quam vitae elit. Orci varius natoque penatibus et magnis dis
parturient montes, nascetur ridiculus mus. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
</Text>
<Text>
{' '}
In fermentum est eget laoreet accumsan. Duis nec enim maximus, varius est quis, tincidunt ligula. Fusce
non accumsan quam, sit amet pulvinar urna. Nunc efficitur, arcu vitae molestie placerat, turpis arcu
interdum turpis, eget condimentum sem turpis vel libero. Phasellus auctor turpis leo, quis gravida diam
pharetra et. Maecenas tempus, mi et pharetra pharetra, eros neque ullamcorper nunc, vitae volutpat massa
mi sit amet ipsum. Donec vitae posuere purus. Praesent porta malesuada odio. Nunc fringilla vel purus at
auctor. Ut mollis porttitor tempor. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
posuere cubilia curae; Aenean id luctus felis. Mauris porttitor pharetra tortor, vitae fringilla augue
imperdiet et. In a libero facilisis, dignissim velit vitae, sagittis eros. Mauris in tristique nibh.{' '}
</Text>
</article>
</main>
</PageContent>
</Page>
)
}