Add transport page
This commit is contained in:
@@ -35,7 +35,7 @@ class Map extends React.Component {
|
|||||||
style={{
|
style={{
|
||||||
height: '360px',
|
height: '360px',
|
||||||
width: '100%',
|
width: '100%',
|
||||||
'max-width': '480px',
|
maxWidth: '480px',
|
||||||
overflow: 'hidden',
|
overflow: 'hidden',
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
@@ -45,7 +45,7 @@ class Map extends React.Component {
|
|||||||
style={{
|
style={{
|
||||||
height: '360px',
|
height: '360px',
|
||||||
width: '100%',
|
width: '100%',
|
||||||
'max-width': '480px',
|
maxWidth: '480px',
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,13 +3,21 @@
|
|||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
text-align: center;
|
height: 40px;
|
||||||
background: rgba(0, 0, 0, 0.1);
|
background: rgba(0, 0, 0, 0.1);
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
overflow-x: auto;
|
||||||
|
overflow-y: hidden;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.link {
|
.link {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 8px 8px 6px;
|
padding: 8px 2% 6px;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-size: 1.125em;
|
font-size: 1.125em;
|
||||||
border-bottom: 2px solid transparent;
|
border-bottom: 2px solid transparent;
|
||||||
|
|||||||
@@ -14,10 +14,13 @@ class Navigation extends React.Component {
|
|||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<div className={s.root} role="navigation">
|
<div className={s.root} role="navigation">
|
||||||
|
<div className={s.container}>
|
||||||
<Link className={[s.link, this.props.current === 'home' ? s.active : null].join(' ')} to="/">RSVP</Link>
|
<Link className={[s.link, this.props.current === 'home' ? s.active : null].join(' ')} to="/">RSVP</Link>
|
||||||
<Link className={[s.link, this.props.current === 'ceremony' ? s.active : null].join(' ')} to="/ceremony">Church</Link>
|
<Link className={[s.link, this.props.current === 'ceremony' ? s.active : null].join(' ')} to="/ceremony">Church</Link>
|
||||||
<Link className={[s.link, this.props.current === 'reception' ? s.active : null].join(' ')} to="/reception">Venue</Link>
|
<Link className={[s.link, this.props.current === 'reception' ? s.active : null].join(' ')} to="/reception">Venue</Link>
|
||||||
<Link className={[s.link, this.props.current === 'accomodation' ? s.active : null].join(' ')} to="/accomodation">Hotels</Link>
|
<Link className={[s.link, this.props.current === 'accomodation' ? s.active : null].join(' ')} to="/accomodation">Hotels</Link>
|
||||||
|
<Link className={[s.link, this.props.current === 'transport' ? s.active : null].join(' ')} to="/transport">Transport</Link>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ export default {
|
|||||||
require('./ceremony').default,
|
require('./ceremony').default,
|
||||||
require('./reception').default,
|
require('./reception').default,
|
||||||
require('./accomodation').default,
|
require('./accomodation').default,
|
||||||
|
require('./transport').default,
|
||||||
require('./login').default,
|
require('./login').default,
|
||||||
require('./admin').default,
|
require('./admin').default,
|
||||||
require('./adminPeople').default,
|
require('./adminPeople').default,
|
||||||
|
|||||||
54
src/routes/transport/Transport.css
Normal file
54
src/routes/transport/Transport.css
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
@import '../../components/variables.css';
|
||||||
|
|
||||||
|
.root {
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bgImage {
|
||||||
|
position: fixed;
|
||||||
|
width: 100vw;
|
||||||
|
height: 100vh;
|
||||||
|
background: url('/img/offley_2560.jpg');
|
||||||
|
background-size: cover;
|
||||||
|
background-position-x: 54%;
|
||||||
|
background-color: #c1c1c1;
|
||||||
|
filter: grayscale(1) brightness(0.6);
|
||||||
|
z-index: -1;
|
||||||
|
transition: filter ease-in-out 0.5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
padding-top: 50px;
|
||||||
|
margin: 0 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.headings {
|
||||||
|
max-width: 640px;
|
||||||
|
margin: 0 auto 40px;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
text-shadow: 3px 3px 8px var(--colour-nearblack);
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.headings h1 {
|
||||||
|
margin: 0 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
max-width: 960px;
|
||||||
|
margin: 0 auto;
|
||||||
|
color: #fff;
|
||||||
|
text-shadow: 1px 1px 4px var(--colour-nearblack);
|
||||||
|
}
|
||||||
|
|
||||||
|
.tel {
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
transition: color 0.3s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tel:hover,
|
||||||
|
.tel:focus {
|
||||||
|
color: rgba(255, 255, 255, 1);
|
||||||
|
}
|
||||||
73
src/routes/transport/Transport.js
Normal file
73
src/routes/transport/Transport.js
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import withStyles from 'isomorphic-style-loader/lib/withStyles';
|
||||||
|
import s from './Transport.css';
|
||||||
|
import Map from '../../components/Map';
|
||||||
|
|
||||||
|
const offley = [
|
||||||
|
{
|
||||||
|
title: 'Offley Place',
|
||||||
|
url: 'http://www.offleyplace.com/',
|
||||||
|
lat: 51.9282,
|
||||||
|
lng: -0.3332,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
const stations = [
|
||||||
|
{
|
||||||
|
title: 'Hitchin',
|
||||||
|
lat: 51.9532,
|
||||||
|
lng: -0.2655,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Luton',
|
||||||
|
lat: 51.8820,
|
||||||
|
lng: -0.4171,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Luton Airport Parkway',
|
||||||
|
lat: 51.8724,
|
||||||
|
lng: -0.3984,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
class Transport extends React.Component {
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
|
<div className={s.root}>
|
||||||
|
<div className={s.bgImage} />
|
||||||
|
<div className={s.container}>
|
||||||
|
<div className={s.headings}>
|
||||||
|
<h1>Transport</h1>
|
||||||
|
</div>
|
||||||
|
<div className={s.content}>
|
||||||
|
<h3>Train</h3>
|
||||||
|
<p>There are 3 stations nearby, Hitchin, Luton and Luton Parkway (airport).
|
||||||
|
All trains terminate at London St Pancras or London Kings Cross</p>
|
||||||
|
<Map
|
||||||
|
defaultZoom={11}
|
||||||
|
lat={offley[0].lat}
|
||||||
|
lng={offley[0].lng}
|
||||||
|
markers={stations}
|
||||||
|
/>
|
||||||
|
<h3>Car</h3>
|
||||||
|
<p>Offley Place has secure parking facilities.</p>
|
||||||
|
<p>The following taxi companies are recommended:</p>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
Circuit Cars – <a className={s.tel} href="tel:+441582454545">01582454545</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Tiny’s Taxis (Hitchin) – <a className={s.tel} href="tel:+441462434743">01462434743</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Area Cars (Luton) – <a className={s.tel} href="tel:+441582404040">01582404040</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default withStyles(s)(Transport);
|
||||||
15
src/routes/transport/index.js
Normal file
15
src/routes/transport/index.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import Transport from './Transport';
|
||||||
|
import Layout from '../../components/Layout';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
|
||||||
|
path: '/transport',
|
||||||
|
|
||||||
|
action() {
|
||||||
|
return {
|
||||||
|
title: 'Transport',
|
||||||
|
component: <Layout current="transport"><Transport /></Layout>,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user