Even better now!

React
Cobular 5 years ago
parent 5ce52976f3
commit 75427aec2a

File diff suppressed because one or more lines are too long

@ -48,7 +48,7 @@
<div class="row">
<div class="col-xl-3 col-lg-4 col-sm-6 tall top_buffer">
<div class="image">
<img class="img-fluid" src="images/codedaysd.png" alt="CodeDay SD Logo">
<img class="img-fluid" src="../src/images/codedaysd.png" alt="CodeDay SD Logo">
</div>
<div class="description">
<p>CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges
@ -58,7 +58,7 @@
</div>
<div class="col-xl-3 col-md-4 col-sm-6 tall top_buffer">
<div class="image">
<img class="img-fluid" src="images/codeday-notext-color.svg" alt="Redish Heart, SRND Logo">
<img class="img-fluid" src="../src/images/codeday-notext-color.svg" alt="Redish Heart, SRND Logo">
</div>
<div class="description">
<p>SRND is an educational nonprofit that works to provide CS education to high school and
@ -68,7 +68,7 @@
</div>
<div class="col-xl-3 col-md-4 col-sm-6 tall top_buffer">
<div class="image">
<img class="img-fluid" src="images/distest.svg" alt="Distest Logo">
<img class="img-fluid" src="../src/images/distest.svg" alt="Distest Logo">
</div>
<div class="description">
<p>Distest is a testing library for Discord bots that allows for full integration tests of your bot,
@ -77,7 +77,7 @@
</div>
<div class="col-xl-3 col-md-4 col-sm-6 tall top_buffer">
<div class="image">
<img class="img-fluid" src="images/scoresaver.svg" alt="Red to Blue Gradient w/ White Download Icon">
<img class="img-fluid" src="../src/images/scoresaver.svg" alt="Red to Blue Gradient w/ White Download Icon">
</div>
<div class="description">
<p>A Chrome extension to help you download beatsaber songs directly from ScoreSaber. No more searching
@ -86,7 +86,7 @@
</div>
<div class="col-xs-12 wide top_buffer">
<div class="image">
<img class="img-fluid" src="images/foresightsports.png" alt="ForeSight Sports Logo0">
<img class="img-fluid" src="../src/images/foresightsports.png" alt="ForeSight Sports Logo0">
</div>
<div class="description">
<p>Foresight Sports creates advanced augmented reality sports experiences. I created multiple games

29
package-lock.json generated

@ -1211,6 +1211,35 @@
}
}
},
"@fortawesome/fontawesome-common-types": {
"version": "0.2.32",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.32.tgz",
"integrity": "sha512-ux2EDjKMpcdHBVLi/eWZynnPxs0BtFVXJkgHIxXRl+9ZFaHPvYamAfCzeeQFqHRjuJtX90wVnMRaMQAAlctz3w=="
},
"@fortawesome/fontawesome-svg-core": {
"version": "1.2.32",
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.32.tgz",
"integrity": "sha512-XjqyeLCsR/c/usUpdWcOdVtWFVjPbDFBTQkn2fQRrWhhUoxriQohO2RWDxLyUM8XpD+Zzg5xwJ8gqTYGDLeGaQ==",
"requires": {
"@fortawesome/fontawesome-common-types": "^0.2.32"
}
},
"@fortawesome/free-solid-svg-icons": {
"version": "5.15.1",
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.1.tgz",
"integrity": "sha512-EFMuKtzRMNbvjab/SvJBaOOpaqJfdSap/Nl6hst7CgrJxwfORR1drdTV6q1Ib/JVzq4xObdTDcT6sqTaXMqfdg==",
"requires": {
"@fortawesome/fontawesome-common-types": "^0.2.32"
}
},
"@fortawesome/react-fontawesome": {
"version": "0.1.14",
"resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.14.tgz",
"integrity": "sha512-4wqNb0gRLVaBm/h+lGe8UfPPivcbuJ6ecI4hIgW0LjI7kzpYB9FkN0L9apbVzg+lsBdcTf0AlBtODjcSX5mmKA==",
"requires": {
"prop-types": "^15.7.2"
}
},
"@hapi/address": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",

@ -3,26 +3,27 @@
"version": "0.1.0",
"private": true,
"dependencies": {
"@ant-design/icons": "^4.3.0",
"@testing-library/jest-dom": "^5.11.6",
"@testing-library/react": "^11.2.2",
"@testing-library/user-event": "^12.6.0",
"@types/jest": "^26.0.19",
"@types/masonry-layout": "^4.2.2",
"@types/node": "^12.19.11",
"@types/react": "^16.14.2",
"@types/react-dom": "^16.9.10",
"@types/react-router-dom": "^5.1.7",
"@types/masonry-layout": "^4.2.2",
"antd": "^4.9.4",
"react-router-dom": "^5.2.0",
"include-media": "^1.4.9",
"masonry-layout": "^4.2.2",
"node-sass": "^4.14.1",
"prettier": "^2.2.1",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-router-dom": "^5.2.0",
"react-scripts": "4.0.1",
"include-media": "^1.4.9",
"typescript": "^4.1.3",
"web-vitals": "^0.2.4",
"masonry-layout": "^4.2.2"
"web-vitals": "^0.2.4"
},
"scripts": {
"start": "react-scripts start",

@ -1,5 +1,6 @@
import React from "react";
import "./App.scss";
import { Footer } from "./components/Footer";
import { Header } from "./components/Header";
import { Main } from "./components/Main";
@ -8,6 +9,7 @@ function App() {
<div className="App">
<Header />
<Main />
<Footer />
</div>
);
}

@ -0,0 +1,37 @@
.site-footer {
background: darkgrey;
margin: 10px;
border-radius: 5px;
h2 {
font-family: "Fira Code", monospace;
margin: 0;
}
p {
font-family: "Montserrat", sans-serif;
}
}
.footer-grid {
display: flex;
justify-content: space-evenly;
.footer-links {
padding-left: 0;
margin: 0;
columns: 100px 2;
li {
list-style: none;
}
a {
//color: black;
font-family: "Montserrat", sans-serif;
text-decoration: underline;
}
}
}

@ -0,0 +1,42 @@
import "./Footer.scss"
export const Footer = () => {
return (
<footer className="site-footer">
<div className="footer-grid">
<div className="blurb">
<p className="text-justify">
Made with and by Jake Cover, a CS student who really needs to find something
witty and interesting to put here soon. Feel free to reach out!
<br />
Checklist Icon by Arthur Shlain from the Noun Project
</p>
</div>
<div className="links-container">
<h2>Links and Stuff</h2>
<ul className="footer-links">
<li>
<a href="index.html">Home</a>
</li>
<li>
<a href="contact.html">Contact</a>
</li>
<li>
<a href="about.html">About</a>
</li>
<li>
<a href="resume.html">Resume</a>
</li>
<li>
<a href="https://github.com/JakeCover">GitHub</a>
</li>
</ul>
</div>
</div>
<hr />
<div className="copyright-text">
Copyright &copy; 2020 All Rights Reserved by Jake Cover
</div>
</footer>
);
};

@ -1,15 +1,6 @@
header {
display: flex;
flex-direction: row;
align-content: center;
:nth-child(2) {
margin-left: auto;
}
h2:last-of-type {
margin-right: 5px;
}
margin: 10px;
padding: 10px;
@ -22,7 +13,54 @@ header {
margin: 0 0 0 5px;
}
h2 {
margin: 0
.headerLinks {
display: flex;
flex-direction: row;
align-content: center;
margin-left: auto;
h2 {
margin: 0;
border-radius: 5px;
&:hover {
background: #ddd;
}
&.active {
background-color: #4CAF50;
color: white;
}
}
h2:last-of-type {
margin-right: 5px;
}
/* Hide the link that should open and close the topnav on small screens */
.icon {
display: none;
}
@media screen and (max-width: 660px) {
h2 {
display: none;
}
.icon {
margin-left: auto;
display: block;
}
}
}
@media screen and (max-width: 660px) {
&.responsive {
background: #282c34;
h2 {
display: block;
}
}
}
}

@ -1,32 +1,51 @@
import React from "react";
import "./Header.scss";
import {Button, Space, Typography} from "antd";
import {Link} from "react-router-dom";
import { Space } from "antd";
import { Link } from "react-router-dom";
import {MenuOutlined} from "@ant-design/icons";
const {Title} = Typography;
export const Header = () => {
return (
<header>
<Link to="/" className="navbar-brand">
<h1>Jake Cover</h1>
</Link>
function showHideHamburger() {
var x = document.getElementById("myHeader");
// @ts-ignore
if (x.className === "header") {
// @ts-ignore
x.className += " responsive";
} else {
// @ts-ignore
x.className = "header";
}
}
<Space>
<Link className="nav-link" to="/">
<h2>Home</h2>
</Link>
return (
<header className={"header"} id={"myHeader"}>
<Link to="/" className="navbar-brand">
<h1>Jake Cover</h1>
</Link>
<Link className="nav-link" to="/contact">
<h2>Contact</h2>
</Link>
<Link className="nav-link" to="/resume">
<h2>Resume</h2>
</Link>
<a className="nav-link" href="https://github.com/JakeCover">
<h2>GitHub</h2>
</a>
</Space>
</header>
);
<Space className={"headerLinks"}>
<Link className="nav-link" to="/">
<h2>Home</h2>
</Link>
<Link className="nav-link" to="/contact">
<h2>Contact</h2>
</Link>
<Link className="nav-link" to="/resume">
<h2>Resume</h2>
</Link>
<a className="nav-link" href="https://github.com/JakeCover">
<h2>GitHub</h2>
</a>
<a
href={void(0)}
className="icon"
onClick={() => showHideHamburger()}
>
<MenuOutlined className={"fa fa-bars"}/>
</a>
</Space>
</header>
);
};

@ -6,7 +6,8 @@ export const Home = () => {
<div id={"home"}>
<div id={"about-me"}>
<p>
Hi! I'm Julie, a CS student from the west coast! Take a look at some of my projects below!
Hi! I'm Jake, a CS student from the west coast! Take a look at some of my projects below! <br/>
This site is still under construction, so pardon the duplicate information and the horrendous colors. The final version should be up soon!
</p>
</div>
<ProjectGrid/>

@ -20,13 +20,13 @@ $breakpoints: (x-small: 320px, small: 660px, medium: 900px, large: 1300px, x-lar
//padding: 10px;
@include media("<=x-small") {
.GridSizer, .OneByOne, .FourByOne {
.GridSizer, .OneWide, .FourByOne {
width: 100%;
}
}
@include media(">x-small", "<small") {
.GridSizer, .OneByOne {
.GridSizer, .OneWide {
width: 49%;
}
.FourByOne {
@ -35,7 +35,7 @@ $breakpoints: (x-small: 320px, small: 660px, medium: 900px, large: 1300px, x-lar
}
@include media(">=small", "<medium") {
.GridSizer, .OneByOne {
.GridSizer, .OneWide {
width: 32%;
}
.FourByOne {
@ -44,7 +44,7 @@ $breakpoints: (x-small: 320px, small: 660px, medium: 900px, large: 1300px, x-lar
}
@include media(">=medium", "<large") {
.GridSizer, .OneByOne {
.GridSizer, .OneWide {
width: 24.5%;
}
.FourByOne {
@ -53,60 +53,112 @@ $breakpoints: (x-small: 320px, small: 660px, medium: 900px, large: 1300px, x-lar
}
@include media(">=large", "<x-large") {
.GridSizer, .OneByOne {
.GridSizer, .OneWide {
max-width: 300px;
width: 19.5%;
}
.FourByOne {
width: 79.5%;
max-width: 1200px;
width: 58.5%;
max-width: 900px;
}
}
@include media(">=x-large") {
.GridSizer, .OneByOne {
.GridSizer, .OneWide {
width: 300px;
}
.FourByOne {
width: 1200px;
width: 900px;
}
}
}
.GridElement {
padding: 5px;
.GridElementInternal {
padding: 9px;
border-radius: 5px;
background: lightcyan;
box-shadow: 0 1px 2px rgba(0,0,0,0.15);
transition: box-shadow 0.3s ease-in-out;
}
.GridElementInternal:hover {
box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}
h2 {
font-family: "Fira Code", monospace;
font-weight: 400;
margin-bottom: 0px;
line-height: normal;
}
h3 {
line-height: normal;
color: darkgrey;
margin-bottom: 3px;
}
p {
font-family: "Montserrat", sans-serif;
color: black;
margin-bottom: 0;
}
}
.OneByOne {
.OneWide {
display: flex;
flex-direction: column;
width: available;
padding: 10px;
img {
width: 100%;
}
p {
margin-bottom: 5px;
}
}
.FourByOne {
grid-column: span 2;
display: flex;
flex-direction: row;
.GridElementInternal {
display: flex;
align-items: center;
.image {
flex: 1;
.image {
flex: 1;
img {
width: 100%;
max-width: 100%;
img {
width: 100%;
max-width: 100%;
}
}
}
p {
min-width: 20ch;
width: 30ch;
.description {
min-width: 20ch;
width: 30ch;
}
@include media(">small") {
flex-direction: row;
}
@include media("<=small") {
flex-direction: column;
.description {
width: 95%;
}
}
}
}
.LinkIcon {
position: absolute;
right: 12px;
top: 12px;
font-size: 24px;
color: black;
background: rgba(224,255,255, 0.7);
border-radius: 5px;
}

@ -1,172 +1,256 @@
/**
* TODO:
* - For things that can't be linked, use <ExpandAltOutlined /> to signal that clicking will open a modal https://ant.design/components/modal/
* in order to give a more complex writeup and some pictures
* - Tooltip for modal and linkable items, possibly <QuestionCircleOutlined /> which displays a modal with an example card with tooltips or explanations
* - Footer
* - Responsive top bar
*
*/
import "./ProjectGrid.scss";
import Masonry from "masonry-layout";
import {useEffect} from "react";
import { useEffect } from "react";
import {LinkOutlined} from "@ant-design/icons";
import CodeDaySD from "../images/SanDiego.svg";
import Foresight from "../images/foresightsports.png";
import Distest from "../images/distest.svg";
import Scoresaver from "../images/scoresaver.svg";
type GridElementImageProps = {
image_url: string;
image_alt: string;
title: string;
text: string;
image_url: string;
image_alt: string;
title: string;
text: string;
link?: string;
org?: string;
};
type GridElementProps = {
image_url: string;
image_alt: string;
title: string;
text: string;
title: string;
text: string;
link?: string;
org?: string;
};
const OneWide = ({title, text}: GridElementProps) => {
const OneWide = ({ title, text, link, org }: GridElementProps) => {
if (link === undefined) {
return (
<div className={"OneByOne GridElement"}>
<div className={"title"}>
<h2>{title}</h2>
</div>
<div className={"description"}>
<p>{text}</p>
</div>
<div className={"OneWide GridElement"}>
<div className={"GridElementInternal"}>
<div className={"title"}>
<h2>{title}</h2>
{org && <h3>{org}</h3>}
</div>
<div className={"description"}>
<p>{text}</p>
</div>
</div>
</div>
);
}
return (
<a className={"OneWide GridElement Link"} href={link} rel={"noreferrer"} target={"_blank"}>
<div className={"GridElementInternal"}>
<div className={"title"}>
<h2>{title}</h2>
{org && <h3>{org}</h3>}
<LinkOutlined className={"LinkIcon"}/>
</div>
<div className={"description"}>
<p>{text}</p>
</div>
</div>
</a>
);
};
const OneWidePic = ({
image_url,
image_alt,
title,
text,
}: GridElementImageProps) => {
image_url,
image_alt,
title,
text,
link,
org,
}: GridElementImageProps) => {
if (link === undefined) {
return (
<div className={"OneByOne GridElement"}>
<div className={"image"}>
<img src={image_url} alt={image_alt}/>
</div>
<div className={"description"}>
<h2>{title}</h2>
<p>{text}</p>
</div>
<div className={"OneWide Pic GridElement"}>
<div className={"GridElementInternal"}>
<div className={"image"}>
<img src={image_url} alt={image_alt} />
</div>
<div className={"description"}>
<h2>{title}</h2>
{org && <h3>{org}</h3>}
<p>{text}</p>
</div>
</div>
</div>
);
}
return (
<a className={"OneWide Pic GridElement Link"} href={link} target={"_blank"} rel={"noreferrer"}>
<div className={"GridElementInternal"}>
<div className={"image"}>
<img src={image_url} alt={image_alt} />
<LinkOutlined className={"LinkIcon"}/>
</div>
<div className={"description"}>
<h2>{title}</h2>
{org && <h3>{org}</h3>}
<p>{text}</p>
</div>
</div>
</a>
);
};
const FourByOneGridElement = ({
image_url,
image_alt,
title,
text,
}: GridElementImageProps) => {
image_url,
image_alt,
title,
text,
link,
org,
}: GridElementImageProps) => {
if (link === undefined) {
return (
<div className={"FourByOne GridElement"}>
<div className={"image"}>
<img src={image_url} alt={image_alt}/>
</div>
<div className={"description"}>
<h2>{title}</h2>
<p>{text}</p>
</div>
<div className={"FourByOne GridElement"}>
<div className={"GridElementInternal"}>
<div className={"image"}>
<img src={image_url} alt={image_alt} />
</div>
<div className={"description"}>
<h2>{title}</h2>
{org && <h3>{org}</h3>}
<p>{text}</p>
</div>
</div>
</div>
);
}
return (
<a className={"FourByOne GridElement Link"} href={link} target={"_blank"} rel={"noreferrer"}>
<div className={"GridElementInternal"}>
<div className={"image"}>
<img src={image_url} alt={image_alt} />
<LinkOutlined className={"LinkIcon"}/>
</div>
<div className={"description"}>
<h2>{title}</h2>
{org && <h3>{org}</h3>}
<p>{text}</p>
</div>
</div>
</a>
);
};
export const ProjectGrid = () => {
useEffect(() => {
var elem = document.querySelector("#project-grid");
useEffect(() => {
var elem = document.querySelector("#project-grid");
// @ts-ignore
var msnry = new Masonry(elem, {
itemSelector: ".GridElement",
gutter: 5,
columnWidth: ".GridSizer",
percentPosition: true,
});
// @ts-ignore
var msnry = new Masonry(elem, {
itemSelector: ".GridElement",
gutter: 0,
columnWidth: ".GridSizer",
percentPosition: true,
});
});
return (
<div id={"project-grid-parent"}>
<div id={"project-grid"}>
<div className={"GridSizer"}/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
<FourByOneGridElement
image_url={"http://jakecover.me/images/foresightsports.png"}
image_alt={"Foresight Sports Logo"}
title={"Foresight Sports"}
text={
"Foresight Sports creates advanced augmented reality sports experiences. I created multiple games using Unity that took data from their launch monitor technology and translated it into a seamless experience."
}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
</div>
</div>
);
return (
<div id={"project-grid-parent"}>
<div id={"project-grid"}>
<div className={"GridSizer"} />
<OneWide
title={"ElaticMatch"}
org={"CodeDay"}
text={"A set of tools, including a custom suggestion and weighting system, as well as a custom matching algorithm that I wrote and used to match around 350 students to the best-fitting mentors in the CodeDay Labs summer internship program in 2020."}
link={"https://github.com/codeday/labs-elastic-match"}
/>
<OneWide
title={"John Peter"}
org={"CodeDay"}
text={
"John Peter is a Discord bot used for moderation and server management for Virtual CodeDay. It has a very extensive featureset, and has been used for multiple CodeDays and has worked with over 1000 students."
}
link={"https://github.com/codeday/johnpeter-discord"}
/>
<OneWide
title={"CopyMoji"}
org={"BetterDiscord"}
text={
"An extension for the alternate discord client BetterDiscord that changes the functionality of copying emoji to copy the actual emoji characters rather than their names from the discord client."
}
link={"https://github.com/JakeCover/BetterDiscordExtensions/tree/main/plugins/CopyMoji"}
/>
<OneWidePic
image_url={CodeDaySD}
image_alt={"CodeDay San Diego Logo"}
org={"CodeDay"}
title={"CodeDay San Diego"}
text={
"A 24 hour hackathon occurring around the world a few times a year. I volunteered for and then later ran the San Diego event."
}
link={"https://event.codeday.org/sandiego"}
/>
<FourByOneGridElement
image_url={Foresight}
image_alt={"Foresight Sports Logo"}
title={"Foresight Sports"}
text={
"Foresight Sports creates advanced augmented reality sports experiences. I created multiple games using Unity that took data from their launch monitor technology and translated it into a seamless experience."
}
/>
<OneWidePic
image_url={Distest}
image_alt={"Distest Logo"}
title={"Distest"}
org={"Random Projects"}
text={
"Distest is a testing library I wrote for Discord bots that allows for full integration tests of bots, improving the discord bot development workflow significantly. As far as I know, it's the only tool available for this sort of testing."
}
link={"https://github.com/JakeCover/distest"}
/>
<OneWidePic
image_url={Scoresaver}
image_alt={"Scoresaver Logo"}
title={"ScoreSaver"}
org={"Random Projects"}
text={
"A Chrome extension to help you download beatsaber songs directly from ScoreSaber. No more searching for mapper names on BeatSaver, just download the newest ranked songs directly!"
}
link={"https://github.com/JakeCover/ScoreSaverExtention"}
/>
<OneWide
title={"Personal Website"}
org={"Random Projects"}
text={
"You're looking at it! There's not a whole lot to this, it's just a React site hosted on GitHub Pages, but I didn't know React before starting on this so I'm pretty proud of it."
}
link={"https://github.com/JakeCover/PersonalWebsite_Static"}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
<OneWidePic
image_url={"http://jakecover.me/images/codedaysd.png"}
image_alt={"CodeDay San Diego Logo"}
title={"CodeDay"}
text={
"CodeDay, an event by SRND, is a beginner-friendly 24 hour event for students that challenges\n attendees to create a game or an app."
}
/>
</div>
</div>
);
};

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 429 KiB

After

Width:  |  Height:  |  Size: 429 KiB

Before

Width:  |  Height:  |  Size: 3.3 MiB

After

Width:  |  Height:  |  Size: 3.3 MiB

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Loading…
Cancel
Save