Passed
Push — master ( 569a9a...fc64ad )
by Huu-Phat
26:45 queued 22:41
created

modules/home/components/Footer.js

Complexity

Total Complexity 0
Complexity/F 0

Size

Lines of Code 89
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 0
eloc 47
mnd 0
bc 0
fnc 0
dl 0
loc 89
ccs 10
cts 10
cp 1
bpm 0
cpm 0
noi 0
c 0
b 0
f 0
1
import React from 'react'
2
import styled from 'styled-components/macro'
3
import GoTop from '~/modules/home/components/footer/GoTop'
4
import { Container, Row, Col } from 'react-bootstrap'
5
import { FaGithub } from 'react-icons/fa'
6
7 1
const Footer = () => (
8 1
  <FooterContainer>
9
    <Container>
10
      <Row>
11
        <Col md={4} xs={4}>
12
          <CopyRight>
13
            &copy;&nbsp;<Bold>Phat Ho</Bold>
14
          </CopyRight>
15
        </Col>
16
        <Col
17
          md={{ span: 4, offset: 4 }}
18
          xs={{ span: 4, offset: 4 }}
19
          className="d-flex justify-content-end"
20
        >
21
          <GitLogo
22
            href="https://github.com/DeKal/portfolio-next-js"
23
            aria-label="Github"
24
          >
25
            <FaGithub size="40px"></FaGithub>
26
          </GitLogo>
27
        </Col>
28
        <GoTop />
29
      </Row>
30
    </Container>
31
  </FooterContainer>
32
)
33
34
export default Footer
35
36
const FooterContainer = styled.footer`
37
  position: relative;
38
  z-index: 100;
39
  width: 100%;
40 1
  background-color: ${props => props.theme.colors.colorAccent};
41 1
  color: ${props => props.theme.colors.colorLight};
42 1
  box-shadow: 0 -2px 2px -1px ${props => props.theme.colors.colorAccent};
43 1
  height: ${props => props.theme.footerHeight};
44
45
  &::before {
46
    content: '';
47
    position: absolute;
48
    top: -30px;
49
    left: 50%;
50
    margin-left: -40px;
51 1
    border-bottom: 40px solid ${props => props.theme.colors.colorAccent};
52
    border-left: 40px solid transparent;
53
    border-right: 40px solid transparent;
54
  }
55
`
56
57
const CopyRight = styled.p`
58
  margin-left: 10px;
59
  padding-top: 10px;
60
  float: left;
61
  line-height: 40px;
62
63
  @media screen and (max-width: 600px) {
64
    padding-top: 20px;
65
    line-height: 1;
66
    float: none;
67
    text-align: center;
68
  }
69
`
70
71
const Bold = styled.span`
72
  font-weight: bold;
73
`
74
75
const GitLogo = styled.a`
76 1
  color: ${props => props.theme.colors.colorLight};
77
  padding-top: 5px;
78
  border: none;
79
80
  &:hover {
81 1
    color: ${props => props.theme.colors.colorDark};
82
    text-decoration: none;
83
  }
84
85
  &:active {
86 1
    color: ${props => props.theme.colors.colorDark};
87
  }
88
`
89