Skip to content

Commit

Permalink
lint
Browse files Browse the repository at this point in the history
noahbjohnson committed Mar 1, 2024
1 parent fc39239 commit 3e2e29a
Showing 9 changed files with 167 additions and 134 deletions.
9 changes: 5 additions & 4 deletions src/app.tsx
Original file line number Diff line number Diff line change
@@ -12,7 +12,8 @@ import Footer from './components/footer/footer'
import React from 'react'

export default app
function app() {

function app () {
return (
<HashRouter>
<PreferencesProvider>
@@ -21,11 +22,11 @@ function app() {
<div className="App">
<NavBar/>
<Switch>
<Route path='/about' component={withTracker(About)}/>
<Route path='/data-science'
<Route path="/about" component={withTracker(About)}/>
<Route path="/data-science"
component={withTracker(() => <DataScience projects={dataScienceProjects}/>)}/>
<Route exact path="/blog/:slug" component={withTracker(BlogEntry)}/>
<Route path='/blog' component={withTracker(Blog)}/>
<Route path="/blog" component={withTracker(Blog)}/>
<Route path={['/apps', '/apps/**']} component={withTracker(Apps)}/>
<Redirect path={'**'} to={'/about'}/>
</Switch>
39 changes: 25 additions & 14 deletions src/components/footer/footer.tsx
Original file line number Diff line number Diff line change
@@ -4,14 +4,14 @@ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import {
faFlickr,
faGithub,
faHackerrank,
faInstagram,
faLinkedin,
faSkype,
faStackOverflow,
faTwitter,
faHackerrank
faTwitter
} from '@fortawesome/free-brands-svg-icons'
import { faComment, faEnvelope, faDna } from '@fortawesome/free-solid-svg-icons'
import { faComment, faDna, faEnvelope } from '@fortawesome/free-solid-svg-icons'
import ReactGA from 'react-ga'
import { PreferencesContext } from '../../contexts/Preferences'
import './footer.css'
@@ -20,48 +20,59 @@ const Footer = () => {
const { darkMode } = useContext(PreferencesContext)
return (
<div className={`footer ${darkMode ? 'dark' : 'light'}`}>
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://www.linkedin.com/in/noahbjohnson/" target="_blank"
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://www.linkedin.com/in/noahbjohnson/"
target="_blank"
eventLabel={'LinkedIn'}>
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faLinkedin}/></Button>
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faLinkedin}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://github.com/noahbjohnson" eventLabel={'github'}
target="_blank">
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faGithub}/></Button>
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faGithub}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://stackoverflow.com/users/5379654/noah-b-johnson"
eventLabel={'stack overflow'}
target="_blank">
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faStackOverflow}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://twitter.com/IAmNoahBJohnson" eventLabel={'twitter'}
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://twitter.com/IAmNoahBJohnson"
eventLabel={'twitter'}
target="_blank">
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faTwitter}/></Button>
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faTwitter}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://www.instagram.com/noahbjohnsonphotos/"
eventLabel={'instagram'} target="_blank">
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faInstagram}/></Button>
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faInstagram}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink rel="noopener noreferrer" to="mailto:noah@noahbjohnson.net" eventLabel={'email'}
target="_blank">
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faEnvelope}/></Button>
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faEnvelope}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://www.flickr.com/noahbjohnson/" eventLabel={'flickr'}
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://www.flickr.com/noahbjohnson/"
eventLabel={'flickr'}
target="_blank">
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faFlickr}/></Button>
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faFlickr}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink rel="noopener noreferrer" to="skype:noah.johnson2015" eventLabel={'skype'}
target="_blank">
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faSkype}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink rel="noopener noreferrer" to="sms:noahbjohnson@icloud.com" eventLabel={'sms'}
target="_blank">
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faComment}/></Button>
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faComment}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink rel="noopener noreferrer" to="https://www.hackerrank.com/noahbjohnson"
eventLabel={'hackerrank'}
target="_blank">
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faHackerrank}/></Button>
<Button variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faHackerrank}/></Button>
</ReactGA.OutboundLink>
<ReactGA.OutboundLink to={'https://github.com/noahbjohnson/dna'} target="_blank" rel="noopener noreferrer"
eventLabel={'dna'}>
3 changes: 2 additions & 1 deletion src/components/navbar/navbar.tsx
Original file line number Diff line number Diff line change
@@ -11,7 +11,8 @@ import { NavLink } from 'react-router-dom'
export const NavBar = () => {
const { darkMode, toggleDark } = useContext(PreferencesContext)
return (
<Navbar bg={darkMode ? 'dark' : 'light'} expand={'md'} variant={darkMode ? 'dark' : 'light'} collapseOnSelect={true}
<Navbar bg={darkMode ? 'dark' : 'light'} expand={'md'} variant={darkMode ? 'dark' : 'light'}
collapseOnSelect={true}
className={'headerFont headerStyles'} fixed={'top'}>
<Navbar.Brand href="#">Noah B. Johnson</Navbar.Brand>
<Navbar.Toggle aria-controls="responsive-navbar-nav"/>
3 changes: 2 additions & 1 deletion src/contexts/Preferences.tsx
Original file line number Diff line number Diff line change
@@ -21,7 +21,8 @@ type ProviderState = {
const defaultContext = {
darkMode: false,
manualDarkModeSet: false,
toggleDark: () => {}
toggleDark: () => {
}
}

export const PreferencesContext = React.createContext(defaultContext)
20 changes: 14 additions & 6 deletions src/pages/about/About.tsx
Original file line number Diff line number Diff line change
@@ -71,12 +71,15 @@ export const About = () => {
<ul>
<li>Integral part of small team addressing tech debt and product stability</li>
<li>Worked extensively in Go to decouple existing services and develop new features</li>
<li>Achieved service restoration when faced with overloaded architecture and upstream services failing</li>
<li>Achieved service restoration when faced with overloaded architecture and upstream
services failing
</li>
</ul>
</div>
<div className={'job'}>
<h4>GCP Software Engineer</h4>
<h6><a href="https://kion.io/">kion.io (previously cloudtamer.io)</a> | Remote | September 2020 - August 2022</h6>
<h6><a href="https://kion.io/">kion.io (previously cloudtamer.io)</a> | Remote | September 2020
- August 2022</h6>
<ul>
<li>Spearheaded support for Google Cloud Platform in Kion's cloud governance solution</li>
<li>Built features from planning to release using Angular, GO, Typescript, and MySQL</li>
@@ -96,18 +99,23 @@ export const About = () => {
<ul>
<li>Built Custom serverless data pipelines and integrations on Google Cloud Platform</li>
<li>Led React application development for client portal and internal tooling</li>
<li>Leveraged Google BigQuery to ensure reliable conversion attribution and segmentation</li>
<li>Leveraged Google BigQuery to ensure reliable conversion attribution and segmentation
</li>
</ul>
</div>
<div className={'job'}>
<h4>Data Integration Analyst - Internship</h4>
<h6>SC Data Center, Inc. | Monroe, Wisconsin | Summer 2018</h6>
<ul>
<li>Developed a data dictionary web application for the data warehouse. Built full-stack on AWS using
<li>Developed a data dictionary web application for the data warehouse. Built full-stack on
AWS using
Node.js and Vue.js
</li>
<li>Provided extensive business value with clear data provenance and metadata for all users</li>
<li>Assisted in company-wide efforts to lift-and-shift cobol mainframe routines to an AWS-hosted Hadoop
<li>Provided extensive business value with clear data provenance and metadata for all
users
</li>
<li>Assisted in company-wide efforts to lift-and-shift cobol mainframe routines to an
AWS-hosted Hadoop
cluster
</li>
</ul>
9 changes: 5 additions & 4 deletions src/pages/apps/apps/reps.tsx
Original file line number Diff line number Diff line change
@@ -80,10 +80,11 @@ export const Reps: FC = () => {
<Accordion> {
Object.entries(voterInfo.divisions).map((division: [string, any], key) => {
return <Card key={key} className={`card ${darkMode ? 'dark' : 'light'}`}>
<Card.Header className={`card-header ${darkMode ? 'dark' : 'light'}`} onClick={() => ReactGA.event({
category: 'Apps',
action: 'Viewed Division Representatives'
})}>
<Card.Header className={`card-header ${darkMode ? 'dark' : 'light'}`}
onClick={() => ReactGA.event({
category: 'Apps',
action: 'Viewed Division Representatives'
})}>
<Accordion.Toggle as={Button} variant="link" eventKey={String(key)}
disabled={!division[1]?.officeIndices}>
{division[1].name}
9 changes: 6 additions & 3 deletions src/pages/apps/apps/reps/officialCard.tsx
Original file line number Diff line number Diff line change
@@ -42,11 +42,13 @@ export const OfficialCard: React.FC<officialCardProps> = (props) => {
{props.official.address
? <><b>Address</b>
<p>
{props.official.address[0].locationName ? <> {props.official.address[0].locationName} <br/></> : ''}
{props.official.address[0].locationName ? <> {props.official.address[0].locationName}
<br/></> : ''}
{props.official.address[0].line1 ? <> {props.official.address[0].line1} <br/></> : ''}
{props.official.address[0].line2 ? <> {props.official.address[0].line2} <br/></> : ''}
{props.official.address[0].line3 ? <> {props.official.address[0].line3} <br/></> : ''}
{props.official.address[0].city}, {props.official.address[0].state} {props.official.address[0].zip} <br/>
{props.official.address[0].city}, {props.official.address[0].state} {props.official.address[0].zip}
<br/>
</p>
</>
: ''}
@@ -76,7 +78,8 @@ export const OfficialCard: React.FC<officialCardProps> = (props) => {
switch (channel.type) {
case 'Facebook':
return <a href={`https://fb.me/${channel.id}`}><Button
variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon icon={faFacebook}/></Button></a>
variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
icon={faFacebook}/></Button></a>
case 'Twitter':
return <a href={`https://twitter.com/${channel.id}`}><Button
variant={darkMode ? 'outline-light' : 'outline-dark'}><FontAwesomeIcon
Loading

0 comments on commit 3e2e29a

Please sign in to comment.