diff --git a/components/Footer/LastUpdated.jsx b/components/Footer/LastUpdated.jsx
index 3f3d70349..dbdde2283 100644
--- a/components/Footer/LastUpdated.jsx
+++ b/components/Footer/LastUpdated.jsx
@@ -4,7 +4,7 @@ import Typography from '@mui/material/Typography';
import makeStyles from '@mui/styles/makeStyles';
import DbContext from '@db/DbContext';
import ddbh from '@utils/duckDbHelpers.js';
-import { isEmpty } from '@utils';
+import { isEmpty, toNonBreakingSpaces } from '@utils';
const useStyles = makeStyles(theme => ({
lastUpdated: {
@@ -39,8 +39,9 @@ function LastUpdated() {
lastUpdated && (
- Data last updated
- {moment(lastUpdated).format('MM/DD/YY')}
+ {toNonBreakingSpaces(
+ `Data last updated ${moment(lastUpdated).format('MM/DD/YY')}`
+ )}
)
diff --git a/components/Footer/index.jsx b/components/Footer/index.jsx
index 1635e9605..e3d51f4ec 100644
--- a/components/Footer/index.jsx
+++ b/components/Footer/index.jsx
@@ -1,10 +1,12 @@
-import React from 'react';
+import React, { Fragment } from 'react';
import { connect } from 'react-redux';
import Typography from '@mui/material/Typography';
import makeStyles from '@mui/styles/makeStyles';
import { Link } from 'react-router-dom';
import LastUpdated from '@components/Footer/LastUpdated';
import SocialMediaLinks from '@components/Footer/SocialMediaLinks';
+import { toNonBreakingSpaces } from '@utils';
+import HFLALogo from '@assets/hack_for_la_logo.png';
// Footer should make use of style overrides to look the same regardless of light/dark theme.
const useStyles = makeStyles(theme => ({
@@ -20,6 +22,8 @@ const useStyles = makeStyles(theme => ({
height: theme.footer.height,
},
copyright: {
+ display: 'flex',
+ gap: theme.spacing(1),
fontWeight: theme.typography.fontWeightMedium,
lineHeight: theme.footer.height,
color: theme.palette.text.dark,
@@ -32,34 +36,57 @@ const useStyles = makeStyles(theme => ({
},
copyrightContainer: {
display: 'flex',
- flexDirection: 'row',
- justifyContent: 'center',
+ alignItems: 'center',
},
link: {
color: theme.palette.text.dark,
textDecoration: 'none',
},
+ logo: {
+ marginInline: theme.spacing(1),
+ },
}));
-// TODO: check with UI/UX re placement of social media, privacy policy links
function Footer() {
const classes = useStyles();
const currentDate = new Date();
+ const footerItems = [
+ { text: `\u00a9 ${currentDate.getFullYear()} 311 Data` },
+ { text: 'All Rights Reserved' },
+ { text: 'Privacy Policy', href: '/privacy' },
+ { text: 'Powered by volunteers from Hack for LA' },
+ ];
return (