add Block component; copyright refactoring

This commit is contained in:
tmshv committed 2020-02-18 14:53:36 +03:00
1 parent 19b54c56e4
commit 01eaffaf14
4 files changed
+46 -27

No files matched your search

+6 -3
View File
@@ -2,15 +2,18 @@ import { NextPage } from 'next'
import { Wrapper } from 'src/components/Wrapper'
import { NotFound } from 'src/components/NotFound'
import { Copyright } from 'src/components/Copyright'
import { Block, Spacer } from 'src/components/Block'
const Page: NextPage = () => (
<Wrapper
header={null}
footer={(
<footer className="footer--centered">
<div className="copyright">
<footer>
<Block direction={'horizontal'}>
<Spacer />
<Copyright />
</div>
<Spacer />
</Block>
</footer>
)}
>
+29
View File
@@ -0,0 +1,29 @@
import { createElement } from 'react'
export type BlockProps = {
style?: React.CSSProperties
direction: 'horizontal' | 'vertical'
}
export const Block: React.FC<BlockProps> = props => {
return (
<div style={props.style}>
<style jsx>{`
div {
display: flex;
flex-wrap: wrap;
align-items: baseline;
justify-content: flex-start;
}
`}</style>
{props.children}
</div>
)
}
export const Spacer: React.FC<{ as?: string }> = ({ as = 'div' }) => createElement(as, {
style: {
flex: 1,
}
})
+11 -4
View File
@@ -1,5 +1,6 @@
import { Copyright } from '../Copyright'
import { Author } from './Author'
import { Block, Spacer } from '../Block'
const mailto = email => `mailto:${email}`
@@ -23,12 +24,18 @@ export const Footer: React.FC<IFooterProps> = props => (
</div>
</div>
<div className="copyright">
<Block direction={'horizontal'} style={{
padding: '1.5em 1em 0.25em',
}}>
<Copyright />
{!props.showAuthor ? null : (
<Author />
<>
<Spacer />
<Author />
</>
)}
</div>
</footer>
</Block>
</footer >
)
-20
View File
@@ -14,24 +14,4 @@ footer {
}
}
.copyright {
display: flex;
flex-wrap: wrap;
align-items: baseline;
justify-content: space-between;
span {
padding: 1.5em 1em 0.25em;
box-sizing: padding-box;
}
}
&.footer--centered {
.copyright {
display: flex;
flex-wrap: wrap;
align-items: baseline;
justify-content: center;
}
}
}