mirror of
https://github.com/mitchell/mjfs.us.git
synced 2025-12-19 13:47:22 +00:00
Componentized experience and projects containers into job and project;
used them in the aforementioned containers; version bump
This commit is contained in:
parent
ab5f6fb062
commit
f38e67281b
9 changed files with 210 additions and 198 deletions
31
src/components/Job/index.css
Normal file
31
src/components/Job/index.css
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
.job-container {
|
||||
border-bottom: 2px solid rgb(139, 191, 209);
|
||||
flex: 1 0 90%;
|
||||
font-size: 0.9rem;
|
||||
margin: auto 5%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.job-company {
|
||||
color: rgb(216, 221, 234);
|
||||
}
|
||||
|
||||
.job-title {
|
||||
font-size: 1.2rem;
|
||||
margin-top: 2%;
|
||||
}
|
||||
|
||||
.small-text {
|
||||
margin-bottom: 1%;
|
||||
}
|
||||
|
||||
.job-container ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 500px) {
|
||||
.job-container {
|
||||
flex: 1 0 100%;
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
36
src/components/Job/index.js
Normal file
36
src/components/Job/index.js
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
// @flow
|
||||
import * as React from "react"
|
||||
|
||||
import SmallText from "../../components/SmallText"
|
||||
import "./index.css"
|
||||
|
||||
type Props = {
|
||||
title: string,
|
||||
company: string,
|
||||
timeSpan: string,
|
||||
bullets: Array<string>
|
||||
}
|
||||
|
||||
class Experience extends React.PureComponent<Props> {
|
||||
listedBullets: Array<React.Element<string>>
|
||||
|
||||
constructor(props: Props) {
|
||||
super(props)
|
||||
this.listedBullets = this.props.bullets.map((bullet, index) => (
|
||||
<li key={index}>{bullet}</li>
|
||||
))
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div className="job-container">
|
||||
<div className="job-title">{this.props.title}</div>
|
||||
<div className="job-company">{this.props.company}</div>
|
||||
<SmallText>{this.props.timeSpan}</SmallText>
|
||||
<ul>{this.listedBullets}</ul>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Experience
|
||||
21
src/components/Project/index.css
Normal file
21
src/components/Project/index.css
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
.project-container {
|
||||
border-bottom: 2px solid rgb(139, 191, 209);
|
||||
flex: 1 0 45%;
|
||||
margin: 2.5%;
|
||||
padding-bottom: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.project-container h4 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.project-container p {
|
||||
margin-top: 3%;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 500px) {
|
||||
.project-container {
|
||||
flex: 1 0 95%;
|
||||
}
|
||||
}
|
||||
26
src/components/Project/index.js
Normal file
26
src/components/Project/index.js
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
// @flow
|
||||
import React from "react"
|
||||
|
||||
import ClearButton from "../../components/ClearButton"
|
||||
|
||||
import "./index.css"
|
||||
|
||||
type Props = {
|
||||
title: string,
|
||||
children: string,
|
||||
repoUrl: string
|
||||
}
|
||||
|
||||
class Project extends React.PureComponent<Props> {
|
||||
render() {
|
||||
return (
|
||||
<div className="project-container">
|
||||
<h4>{this.props.title}</h4>
|
||||
<p>{this.props.children}</p>
|
||||
<ClearButton href={this.props.repoUrl}>Repository</ClearButton>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Project
|
||||
Loading…
Add table
Add a link
Reference in a new issue