Skip to content

Commit 6ed783c

Browse files
committed
* Yarn upgrade
* Added context for keeping track of current page * Added Footer component * Dependency upgrades
1 parent 3b22631 commit 6ed783c

File tree

37 files changed

+4901
-5422
lines changed

37 files changed

+4901
-5422
lines changed

.yarn/releases/yarn-2.2.2.cjs

Lines changed: 0 additions & 55 deletions
This file was deleted.

.yarn/releases/yarn-2.4.0.cjs

Lines changed: 55 additions & 0 deletions
Large diffs are not rendered by default.

.yarnrc.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ nodeLinker: node-modules
22

33
plugins:
44
- path: .yarn/plugins/yarn-up-all-plugin.cjs
5-
spec: "https://github.com/e5mode/yarn-up-all/releases/download/1.0.2/index.js"
5+
spec: "https://github.com/e5mode/yarn-up-all/releases/download/1.0.3/index.js"
66

7-
yarnPath: .yarn/releases/yarn-2.2.2.cjs
7+
yarnPath: .yarn/releases/yarn-2.4.0.cjs

gatsby-browser.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
import React from 'react';
2+
import MainContextProvider from './src/contexts/MainContextProvider';
3+
4+
export const wrapRootElement = ({ element }) => (
5+
<MainContextProvider>
6+
{element}
7+
</MainContextProvider>
8+
);

gatsby-ssr.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const React = require('react');
2+
const MainContextProvider = require('./src/contexts/MainContextProvider');
3+
4+
exports.wrapRootElement = ({ element }) => (
5+
// eslint-disable-next-line react/jsx-filename-extension
6+
<MainContextProvider>
7+
{element}
8+
</MainContextProvider>
9+
);

package.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,23 @@
1414
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1"
1515
},
1616
"dependencies": {
17-
"@material-ui/core": "^4.11.0",
18-
"@material-ui/icons": "^4.9.1",
19-
"gatsby": "^2.24.52",
20-
"gatsby-image": "^2.4.16",
21-
"gatsby-plugin-sharp": "^2.6.30",
22-
"gatsby-source-filesystem": "^2.3.27",
17+
"@material-ui/core": "^4.11.3",
18+
"@material-ui/icons": "^4.11.2",
19+
"gatsby": "^2.31.1",
20+
"gatsby-image": "^2.10.0",
21+
"gatsby-plugin-sharp": "^2.13.2",
22+
"gatsby-source-filesystem": "^2.10.0",
2323
"gatsby-theme-material-ui": "^1.0.13",
24-
"gatsby-transformer-sharp": "^2.5.13",
25-
"react": "^16.13.1",
26-
"react-dom": "^16.13.1"
24+
"gatsby-transformer-sharp": "^2.11.0",
25+
"react": "^17.0.1",
26+
"react-dom": "^17.0.1"
2727
},
2828
"devDependencies": {
29-
"eslint-config-airbnb": "^18.2.0",
30-
"eslint-plugin-import": "^2.22.0",
31-
"eslint-plugin-jsx-a11y": "^6.3.1",
32-
"eslint-plugin-react": "^7.20.6",
33-
"eslint-plugin-react-hooks": "^4.1.0"
29+
"eslint-config-airbnb": "^18.2.1",
30+
"eslint-plugin-import": "^2.22.1",
31+
"eslint-plugin-jsx-a11y": "^6.4.1",
32+
"eslint-plugin-react": "^7.22.0",
33+
"eslint-plugin-react-hooks": "^4.2.0"
3434
},
3535
"repository": {
3636
"type": "git",

src/components/Footer/index.jsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import React from 'react';
2+
import BottomNavigation from '@material-ui/core/BottomNavigation';
3+
import BottomNavigationAction from '@material-ui/core/BottomNavigationAction';
4+
5+
const Footer = () => {
6+
const currentYear = new Date().getFullYear();
7+
8+
return (
9+
<BottomNavigation showLabels style={{ marginTop: 20 }}>
10+
<BottomNavigationAction label={`Copyright © ${currentYear} CodeDead`} />
11+
</BottomNavigation>
12+
);
13+
};
14+
15+
export default Footer;

src/components/Layout/index.jsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import React from 'react';
22
import { graphql, useStaticQuery } from 'gatsby';
3+
import { CssBaseline } from '@material-ui/core';
34
import DefaultAppBar from '../DefaultAppBar';
5+
import Footer from '../Footer';
46

57
const Layout = ({ children }) => {
68
const data = useStaticQuery(graphql`query {
@@ -17,13 +19,15 @@ const Layout = ({ children }) => {
1719

1820
return (
1921
<>
22+
<CssBaseline />
2023
<DefaultAppBar
2124
title={data.site.siteMetadata.title}
2225
githubUrl={data.site.siteMetadata.github}
2326
twitterUrl={data.site.siteMetadata.twitter}
2427
facebookUrl={data.site.siteMetadata.facebook}
2528
/>
2629
{children}
30+
<Footer />
2731
</>
2832
);
2933
};

src/components/NavigationDrawer/index.jsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import React, { useContext } from 'react';
22
import Drawer from '@material-ui/core/Drawer';
33
import List from '@material-ui/core/List';
44
import ListItem from '@material-ui/core/ListItem';
@@ -15,6 +15,7 @@ import AnnouncementIcon from '@material-ui/icons/Announcement';
1515
import InfoIcon from '@material-ui/icons/Info';
1616
import EmailIcon from '@material-ui/icons/Email';
1717
import { navigate } from 'gatsby';
18+
import { MainContext } from '../../contexts/MainContextProvider';
1819

1920
const useStyles = makeStyles((theme) => ({
2021
drawer: {
@@ -34,8 +35,11 @@ const useStyles = makeStyles((theme) => ({
3435
}));
3536

3637
const NavigationDrawer = ({ open, onClose }) => {
38+
const [state,] = useContext(MainContext);
3739
const classes = useStyles();
3840

41+
const { pageIndex } = state;
42+
3943
/**
4044
* Close the drawer
4145
* @param e The event argument
@@ -62,7 +66,7 @@ const NavigationDrawer = ({ open, onClose }) => {
6266
</div>
6367
<Divider />
6468
<List>
65-
<ListItem button onClick={() => navigate('/')}>
69+
<ListItem button onClick={() => navigate('/')} selected={pageIndex === 0}>
6670
<ListItemIcon><HomeIcon /></ListItemIcon>
6771
<ListItemText>
6872
Home
@@ -71,29 +75,29 @@ const NavigationDrawer = ({ open, onClose }) => {
7175
</List>
7276
<Divider />
7377
<List>
74-
<ListItem button onClick={() => navigate('/software')}>
78+
<ListItem button onClick={() => navigate('/software')} selected={pageIndex === 1}>
7579
<ListItemIcon><BuildIcon /></ListItemIcon>
7680
<ListItemText>Software</ListItemText>
7781
</ListItem>
7882
</List>
7983
<Divider />
8084
<List>
81-
<ListItem button onClick={() => navigate('/blog')}>
85+
<ListItem button onClick={() => navigate('/blog')} selected={pageIndex === 2}>
8286
<ListItemIcon><AnnouncementIcon /></ListItemIcon>
8387
<ListItemText>Blog</ListItemText>
8488
</ListItem>
8589
</List>
8690
<Divider />
8791
<List>
88-
<ListItem button onClick={() => navigate('/donate')}>
92+
<ListItem button onClick={() => navigate('/donate')} selected={pageIndex === 3}>
8993
<ListItemIcon><AttachMoneyIcon /></ListItemIcon>
9094
<ListItemText>Donate</ListItemText>
9195
</ListItem>
92-
<ListItem button onClick={() => navigate('/about')}>
96+
<ListItem button onClick={() => navigate('/about')} selected={pageIndex === 4}>
9397
<ListItemIcon><InfoIcon /></ListItemIcon>
9498
<ListItemText>About</ListItemText>
9599
</ListItem>
96-
<ListItem button onClick={() => navigate('/contact')}>
100+
<ListItem button onClick={() => navigate('/contact')} selected={pageIndex === 5}>
97101
<ListItemIcon><EmailIcon /></ListItemIcon>
98102
<ListItemText>Contact</ListItemText>
99103
</ListItem>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
import React, { useReducer, createContext } from 'react';
2+
import MainReducer from '../../reducers/MainReducer';
3+
4+
const initState = {
5+
pageIndex: 0,
6+
};
7+
8+
export const MainContext = createContext(initState);
9+
10+
const MainContextProvider = ({ children }) => {
11+
const [state, dispatch] = useReducer(MainReducer, initState);
12+
return (
13+
<MainContext.Provider value={[state, dispatch]}>
14+
{children}
15+
</MainContext.Provider>
16+
);
17+
};
18+
19+
export default MainContextProvider;

0 commit comments

Comments
 (0)