Skip to content

Commit 8183bb7

Browse files
authored
Merge pull request redpwn#298 from redpwn/feat/footer
feat(client): add footer with link to rCTF
2 parents 9102953 + b0311bd commit 8183bb7

File tree

2 files changed

+43
-4
lines changed

2 files changed

+43
-4
lines changed

client/src/components/footer.js

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import withStyles from './jss'
2+
3+
const Footer = ({ classes }) => (
4+
<div class={classes.root}>
5+
<span>
6+
Powered by <a href='https://rctf.redpwn.net/' target='_blank' rel='noopener noreferrer'>rCTF</a>
7+
</span>
8+
</div>
9+
)
10+
11+
export default withStyles({
12+
root: {
13+
display: 'flex',
14+
justifyContent: 'center',
15+
padding: '1rem',
16+
'& a': {
17+
display: 'inline',
18+
padding: 0
19+
},
20+
fontSize: '0.85rem',
21+
opacity: 0.5,
22+
'&:hover': {
23+
opacity: 1
24+
},
25+
transition: 'opacity 300ms ease'
26+
}
27+
}, Footer)

client/src/index.js

+16-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import Router from 'preact-router'
44
import 'cirrus-ui'
55
import withStyles from './components/jss'
66
import Header from './components/header'
7+
import Footer from './components/footer'
78

89
import Home from './routes/home'
910
import Registration from './routes/registration'
@@ -24,7 +25,7 @@ function useTriggerRerender () {
2425
return useCallback(() => setToggle(t => !t), [setToggle])
2526
}
2627

27-
function App () {
28+
function App ({ classes }) {
2829
const triggerRerender = useTriggerRerender()
2930

3031
const loggedOut = localStorage.getItem('token') === null
@@ -61,9 +62,12 @@ function App () {
6162
<div id='app'>
6263
<ToastProvider>
6364
<Header paths={currentPaths} />
64-
<Router onChange={triggerRerender}>
65-
{allPaths}
66-
</Router>
65+
<div class={classes.contentWrapper}>
66+
<Router onChange={triggerRerender}>
67+
{allPaths}
68+
</Router>
69+
</div>
70+
<Footer />
6771
</ToastProvider>
6872
</div>
6973
)
@@ -72,5 +76,13 @@ function App () {
7276
export default withStyles({
7377
'@global body': {
7478
overflowX: 'hidden'
79+
},
80+
'@global #app': {
81+
display: 'flex',
82+
flexDirection: 'column',
83+
minHeight: '100%'
84+
},
85+
contentWrapper: {
86+
flex: '1 0 auto'
7587
}
7688
}, App)

0 commit comments

Comments
 (0)