diff --git a/public/img/offley_2560.jpg b/public/img/offley_2560.jpg new file mode 100644 index 0000000..e45ed4d Binary files /dev/null and b/public/img/offley_2560.jpg differ diff --git a/src/components/CeremonyMap/CeremonyMap.js b/src/components/CeremonyMap/CeremonyMap.js deleted file mode 100644 index a847974..0000000 --- a/src/components/CeremonyMap/CeremonyMap.js +++ /dev/null @@ -1,31 +0,0 @@ -import React from 'react'; -import { withGoogleMap, GoogleMap, Marker } from 'react-google-maps'; - -class CeremonyMap extends React.Component { - render() { - const CeremonyGoogleMap = withGoogleMap(() => ( - - - - )); - return ( - - } - mapElement={ -
- } - /> - ); - } -} - -export default CeremonyMap; diff --git a/src/components/CeremonyMap/package.json b/src/components/CeremonyMap/package.json deleted file mode 100644 index 61e15ea..0000000 --- a/src/components/CeremonyMap/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "CeremonyMap", - "version": "0.0.0", - "private": true, - "main": "./CeremonyMap.js" -} diff --git a/src/components/Map/Map.js b/src/components/Map/Map.js new file mode 100644 index 0000000..7247d4a --- /dev/null +++ b/src/components/Map/Map.js @@ -0,0 +1,44 @@ +import React, { PropTypes } from 'react'; +import { withGoogleMap, GoogleMap, Marker } from 'react-google-maps'; + +class Map extends React.Component { + static propTypes = { + defaultZoom: PropTypes.number.isRequired, + lat: PropTypes.number.isRequired, + lng: PropTypes.number.isRequired, + markers: PropTypes.arrayOf(PropTypes.shape({ + title: PropTypes.string.isRequired, + lat: PropTypes.number.isRequired, + lng: PropTypes.number.isRequired, + })).isRequired, + }; + + render() { + const CeremonyGoogleMap = withGoogleMap(() => ( + + {this.props.markers.map((props, index) => ( + + ))} + + )); + return ( + + } + mapElement={ +
+ } + /> + ); + } +} + +export default Map; diff --git a/src/components/Map/package.json b/src/components/Map/package.json new file mode 100644 index 0000000..ca6270d --- /dev/null +++ b/src/components/Map/package.json @@ -0,0 +1,6 @@ +{ + "name": "Map", + "version": "0.0.0", + "private": true, + "main": "./Map.js" +} diff --git a/src/components/Navigation/Navigation.js b/src/components/Navigation/Navigation.js index 7ced71f..86ec808 100644 --- a/src/components/Navigation/Navigation.js +++ b/src/components/Navigation/Navigation.js @@ -16,6 +16,7 @@ class Navigation extends React.Component {
RSVP Church + Venue
); } diff --git a/src/routes/ceremony/Ceremony.js b/src/routes/ceremony/Ceremony.js index 5e8d1a9..5400137 100644 --- a/src/routes/ceremony/Ceremony.js +++ b/src/routes/ceremony/Ceremony.js @@ -1,7 +1,15 @@ import React from 'react'; import withStyles from 'isomorphic-style-loader/lib/withStyles'; import s from './Ceremony.css'; -import CeremonyMap from '../../components/CeremonyMap'; +import Map from '../../components/Map'; + +const markers = [ + { + title: 'All Saints\' Church', + lat: 51.7109, + lng: -0.4479, + }, +]; class Ceremony extends React.Component { constructor(props) { @@ -35,7 +43,12 @@ class Ceremony extends React.Component { Parking is available across the road at the Rose and Crown pub (Dan may be there before 1pm 😉).

- +

About the church

All Saints Church is a medieval church with parts dating from the 13th century. diff --git a/src/routes/index.js b/src/routes/index.js index 20837f7..17697c7 100644 --- a/src/routes/index.js +++ b/src/routes/index.js @@ -10,6 +10,7 @@ export default { require('./home').default, require('./rsvp').default, require('./ceremony').default, + require('./reception').default, require('./login').default, require('./admin').default, require('./adminPeople').default, diff --git a/src/routes/reception/Reception.css b/src/routes/reception/Reception.css new file mode 100644 index 0000000..e3740f0 --- /dev/null +++ b/src/routes/reception/Reception.css @@ -0,0 +1,56 @@ +@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; +} + +.bgImageFocus { + filter: grayscale(0.4) brightness(1); +} + +.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; +} + +.subheading { + font-family: var(--font-family-cursive); +} + +.content { + max-width: 960px; + margin: 0 auto; + color: #fff; + text-shadow: 1px 1px 4px var(--colour-nearblack); +} + +.map { + width: 360px; +} diff --git a/src/routes/reception/Reception.js b/src/routes/reception/Reception.js new file mode 100644 index 0000000..9bc5e4b --- /dev/null +++ b/src/routes/reception/Reception.js @@ -0,0 +1,62 @@ +import React from 'react'; +import withStyles from 'isomorphic-style-loader/lib/withStyles'; +import s from './Reception.css'; +import Map from '../../components/Map'; + +const markers = [ + { + title: 'Offley Place', + lat: 51.9282, + lng: -0.3332, + }, +]; + +class Reception extends React.Component { + constructor(props) { + super(props); + this.state = {}; + } + + focusBgImage = (focus) => { + this.setState({ focusBgImage: focus }); + } + + render() { + return ( +

+
+
+
+

Offley Place

+

Kings Walden Road
+ Great Offley
+ Hitchin
+ SG5 3DX

+
+
+

When

+

The Reception will begin at 3pm, Wedding breakfast at 5pm + followed by music until late.

+

Where

+

The venue is approximately 30 minute drive from the Church.

+
+ +
+
+
+
+ ); + } +} + +export default withStyles(s)(Reception); diff --git a/src/routes/reception/index.js b/src/routes/reception/index.js new file mode 100644 index 0000000..2f702bb --- /dev/null +++ b/src/routes/reception/index.js @@ -0,0 +1,15 @@ +import React from 'react'; +import Reception from './Reception'; +import Layout from '../../components/Layout'; + +export default { + + path: '/reception', + + action() { + return { + title: 'Reception', + component: , + }; + }, +};