From bd78b8e4d7e66bf2a419c27c3ce05a9a039b32f4 Mon Sep 17 00:00:00 2001 From: cleverbeagle Date: Mon, 29 May 2017 22:48:28 -0500 Subject: [PATCH] add footer --- imports/api/Documents/methods.js | 5 +- .../AccountPageFooter/AccountPageFooter.scss | 2 +- imports/ui/components/Footer/Footer.js | 27 ++++++++++ imports/ui/components/Footer/Footer.scss | 53 +++++++++++++++++++ imports/ui/layouts/App/App.js | 4 ++ imports/ui/layouts/App/App.scss | 3 ++ imports/ui/pages/Documents/Documents.js | 1 - package.json | 2 +- 8 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 imports/ui/components/Footer/Footer.js create mode 100644 imports/ui/components/Footer/Footer.scss create mode 100644 imports/ui/layouts/App/App.scss diff --git a/imports/api/Documents/methods.js b/imports/api/Documents/methods.js index 6a2140c..29fbd8b 100644 --- a/imports/api/Documents/methods.js +++ b/imports/api/Documents/methods.js @@ -24,8 +24,9 @@ Meteor.methods({ }); try { - Documents.update(doc._id, { $set: doc }); - return doc._id; // Return _id so we can redirect to document after update. + const documentId = doc._id; + Documents.update(documentId, { $set: doc }); + return documentId; // Return _id so we can redirect to document after update. } catch (exception) { throw new Meteor.Error('500', exception); } diff --git a/imports/ui/components/AccountPageFooter/AccountPageFooter.scss b/imports/ui/components/AccountPageFooter/AccountPageFooter.scss index 1808d64..0e6b0df 100644 --- a/imports/ui/components/AccountPageFooter/AccountPageFooter.scss +++ b/imports/ui/components/AccountPageFooter/AccountPageFooter.scss @@ -1,7 +1,7 @@ @import '../../stylesheets/colors'; .AccountPageFooter { - margin-top: 25px; + margin: 25px 0 0; padding-top: 20px; border-top: 1px solid $gray-lighter; } diff --git a/imports/ui/components/Footer/Footer.js b/imports/ui/components/Footer/Footer.js new file mode 100644 index 0000000..e5f61b6 --- /dev/null +++ b/imports/ui/components/Footer/Footer.js @@ -0,0 +1,27 @@ +import React from 'react'; +import { year } from '@cleverbeagle/dates'; +import { Link } from 'react-router-dom'; +import { Grid } from 'react-bootstrap'; + +import './Footer.scss'; + +const copyrightYear = () => { + const currentYear = year(); + return currentYear === '2017' ? '2017' : `2017-${currentYear}`; +}; + +const Footer = () => ( +
+ +

© {copyrightYear()} Application Name

+
    +
  • Terms of Service
  • +
  • Privacy Policy
  • +
+
+
+); + +Footer.propTypes = {}; + +export default Footer; diff --git a/imports/ui/components/Footer/Footer.scss b/imports/ui/components/Footer/Footer.scss new file mode 100644 index 0000000..11110bc --- /dev/null +++ b/imports/ui/components/Footer/Footer.scss @@ -0,0 +1,53 @@ +@import '../../stylesheets/mixins'; +@import '../../stylesheets/colors'; + +html { + position: relative; + min-height: 100%; +} + +body { + margin-bottom: 80px; +} + +.Footer { + position: absolute; + bottom: 0; + width: 100%; + height: 60px; + background-color: #fff; + border-top: 1px solid $gray-lighter; + padding: 20px 0; + + p { + color: $gray-light; + } + + ul { + list-style: none; + padding: 0; + } + + ul li { + float: left; + + &:first-child { + margin-right: 15px; + } + + a { + color: $gray-light; + } + + a:hover { + text-decoration: none; + color: $gray; + } + } +} + +@include breakpoint(tablet) { + .Footer ul li:first-child { + margin-right: 30px; + } +} diff --git a/imports/ui/layouts/App/App.js b/imports/ui/layouts/App/App.js index 0d189d9..e3f1986 100644 --- a/imports/ui/layouts/App/App.js +++ b/imports/ui/layouts/App/App.js @@ -20,6 +20,9 @@ import RecoverPassword from '../../pages/RecoverPassword/RecoverPassword'; import ResetPassword from '../../pages/ResetPassword/ResetPassword'; import Profile from '../../pages/Profile/Profile'; import NotFound from '../../pages/NotFound/NotFound'; +import Footer from '../../components/Footer/Footer'; + +import './App.scss'; const App = props => ( @@ -41,6 +44,7 @@ const App = props => ( +