diff --git a/package.json b/package.json
index 7277d5f..2a469a7 100644
--- a/package.json
+++ b/package.json
@@ -33,6 +33,7 @@
"query-string": "^4.2.3",
"react": "^15.4.1",
"react-dom": "^15.4.1",
+ "react-google-maps": "6",
"react-icon-base": "^2.0.4",
"react-icons": "^2.2.3",
"rollbar": "^0.6.3",
diff --git a/src/components/CeremonyMap/CeremonyMap.js b/src/components/CeremonyMap/CeremonyMap.js
new file mode 100644
index 0000000..a847974
--- /dev/null
+++ b/src/components/CeremonyMap/CeremonyMap.js
@@ -0,0 +1,31 @@
+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
new file mode 100644
index 0000000..61e15ea
--- /dev/null
+++ b/src/components/CeremonyMap/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "CeremonyMap",
+ "version": "0.0.0",
+ "private": true,
+ "main": "./CeremonyMap.js"
+}
diff --git a/src/components/Html.js b/src/components/Html.js
index 8c56360..6107dbd 100644
--- a/src/components/Html.js
+++ b/src/components/Html.js
@@ -23,6 +23,7 @@ class Html extends React.Component {
{style && }
+
diff --git a/src/components/Layout/Layout.js b/src/components/Layout/Layout.js
index edcd2e5..e60a35b 100644
--- a/src/components/Layout/Layout.js
+++ b/src/components/Layout/Layout.js
@@ -1,15 +1,18 @@
import React, { PropTypes } from 'react';
import withStyles from 'isomorphic-style-loader/lib/withStyles';
import s from './Layout.css';
+import Navigation from '../Navigation';
class Layout extends React.Component {
static propTypes = {
children: PropTypes.node.isRequired,
+ current: PropTypes.string,
};
render() {
return (
+
{this.props.children}
);
diff --git a/src/components/Navigation/Navigation.css b/src/components/Navigation/Navigation.css
new file mode 100644
index 0000000..3ad0bfc
--- /dev/null
+++ b/src/components/Navigation/Navigation.css
@@ -0,0 +1,32 @@
+.root {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ text-align: center;
+ background: rgba(0, 0, 0, 0.1);
+}
+
+.link {
+ display: inline-block;
+ padding: 8px 8px 6px;
+ text-decoration: none;
+ font-size: 1.125em;
+ border-bottom: 2px solid transparent;
+ transition: color 0.3s ease-in, border-color 0.3s ease-in;
+}
+
+.link,
+.link:active,
+.link:visited {
+ color: rgba(255, 255, 255, 0.8);
+}
+
+.link:hover {
+ color: rgba(255, 255, 255, 1);
+ border-color: #fff;
+}
+
+.active {
+ display: none;
+}
diff --git a/src/components/Navigation/Navigation.js b/src/components/Navigation/Navigation.js
new file mode 100644
index 0000000..7ced71f
--- /dev/null
+++ b/src/components/Navigation/Navigation.js
@@ -0,0 +1,24 @@
+import React, { PropTypes } from 'react';
+import withStyles from 'isomorphic-style-loader/lib/withStyles';
+import s from './Navigation.css';
+import Link from '../Link';
+
+class Navigation extends React.Component {
+ static propTypes = {
+ current: PropTypes.string,
+ };
+
+ render() {
+ if (!this.props.current) {
+ return null;
+ }
+ return (
+
+ RSVP
+ Church
+
+ );
+ }
+}
+
+export default withStyles(s)(Navigation);
diff --git a/src/components/Navigation/package.json b/src/components/Navigation/package.json
new file mode 100644
index 0000000..1da1603
--- /dev/null
+++ b/src/components/Navigation/package.json
@@ -0,0 +1,6 @@
+{
+ "name": "Navigation",
+ "version": "0.0.0",
+ "private": true,
+ "main": "./Navigation.js"
+}
diff --git a/src/routes/ceremony/Ceremony.css b/src/routes/ceremony/Ceremony.css
new file mode 100644
index 0000000..c1f2b04
--- /dev/null
+++ b/src/routes/ceremony/Ceremony.css
@@ -0,0 +1,56 @@
+@import '../../components/variables.css';
+
+.root {
+ width: 100vw;
+ height: 100vh;
+}
+
+.bgImage {
+ position: fixed;
+ width: 100vw;
+ height: 100vh;
+ background: url('/img/church_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/ceremony/Ceremony.js b/src/routes/ceremony/Ceremony.js
new file mode 100644
index 0000000..5e8d1a9
--- /dev/null
+++ b/src/routes/ceremony/Ceremony.js
@@ -0,0 +1,53 @@
+import React from 'react';
+import withStyles from 'isomorphic-style-loader/lib/withStyles';
+import s from './Ceremony.css';
+import CeremonyMap from '../../components/CeremonyMap';
+
+class Ceremony extends React.Component {
+ constructor(props) {
+ super(props);
+ this.state = {};
+ }
+
+ focusBgImage = (focus) => {
+ this.setState({ focusBgImage: focus });
+ }
+
+ render() {
+ return (
+
+
+
+
+
All Saints’ Church
+ Church Lane Kings Langley WD4 8JS
+
+
+
When
+
The Ceremony begins at 1pm
+
Where
+
The Church is located at the southern end of Kings Langley high street.
+ 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.
+ The main features of the body of the Church are the beautiful reredos, depicting
+ The Last Supper, and the fine Jacobean pulpit with its intricate carvings.
+ The Tower has a peal of 8 bells that are regularly rung before Services.
+
The church was chosen because it is Dan’s family church.
+
+
+
+ );
+ }
+}
+
+export default withStyles(s)(Ceremony);
diff --git a/src/routes/ceremony/index.js b/src/routes/ceremony/index.js
new file mode 100644
index 0000000..b968ae6
--- /dev/null
+++ b/src/routes/ceremony/index.js
@@ -0,0 +1,15 @@
+import React from 'react';
+import Ceremony from './Ceremony';
+import Layout from '../../components/Layout';
+
+export default {
+
+ path: '/ceremony',
+
+ action() {
+ return {
+ title: 'Ceremony',
+ component: ,
+ };
+ },
+};
diff --git a/src/routes/home/Home.css b/src/routes/home/Home.css
index 91fa042..b74bd91 100644
--- a/src/routes/home/Home.css
+++ b/src/routes/home/Home.css
@@ -23,7 +23,7 @@
}
.container {
- padding-top: 5vh;
+ padding-top: 50px;
margin: 0 20px;
}
diff --git a/src/routes/home/index.js b/src/routes/home/index.js
index 18e5ed2..eb54b44 100644
--- a/src/routes/home/index.js
+++ b/src/routes/home/index.js
@@ -9,7 +9,7 @@ export default {
action() {
return {
title: 'Welcome',
- component: ,
+ component: ,
};
},
};
diff --git a/src/routes/index.js b/src/routes/index.js
index 6e81e67..20837f7 100644
--- a/src/routes/index.js
+++ b/src/routes/index.js
@@ -9,6 +9,7 @@ export default {
children: [
require('./home').default,
require('./rsvp').default,
+ require('./ceremony').default,
require('./login').default,
require('./admin').default,
require('./adminPeople').default,
diff --git a/src/routes/notFound/NotFound.css b/src/routes/notFound/NotFound.css
index 43c9359..f7898e4 100644
--- a/src/routes/notFound/NotFound.css
+++ b/src/routes/notFound/NotFound.css
@@ -7,6 +7,6 @@
.container {
margin: 0 auto;
- padding: 0 0 40px;
+ padding: 50px 0 40px;
max-width: var(--max-content-width);
}
diff --git a/src/routes/rsvp/index.js b/src/routes/rsvp/index.js
index ea6baf8..7142fef 100644
--- a/src/routes/rsvp/index.js
+++ b/src/routes/rsvp/index.js
@@ -38,7 +38,7 @@ export default {
return {
title,
component: (
-
+