added all components and assembeled an okayish looking website
6
.idea/inspectionProfiles/Project_Default.xml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<profile version="1.0">
|
||||||
|
<option name="myName" value="Project Default" />
|
||||||
|
<inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
</profile>
|
||||||
|
</component>
|
6
.idea/vcs.xml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
35718
package-lock.json
generated
Normal file
13
package.json
|
@ -3,16 +3,29 @@
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@material-ui/core": "^4.11.4",
|
||||||
"@testing-library/jest-dom": "^5.11.4",
|
"@testing-library/jest-dom": "^5.11.4",
|
||||||
"@testing-library/react": "^11.1.0",
|
"@testing-library/react": "^11.1.0",
|
||||||
"@testing-library/user-event": "^12.1.10",
|
"@testing-library/user-event": "^12.1.10",
|
||||||
"@types/jest": "^26.0.15",
|
"@types/jest": "^26.0.15",
|
||||||
"@types/node": "^12.0.0",
|
"@types/node": "^12.0.0",
|
||||||
"@types/react": "^17.0.0",
|
"@types/react": "^17.0.0",
|
||||||
|
"@types/react-animate-on-scroll": "^2.1.2",
|
||||||
"@types/react-dom": "^17.0.0",
|
"@types/react-dom": "^17.0.0",
|
||||||
|
"@types/react-slick": "^0.23.4",
|
||||||
|
"@types/react-tabs": "^2.3.2",
|
||||||
|
"@types/react-typing-animation": "^1.6.2",
|
||||||
|
"bootstrap": "^4.6.0",
|
||||||
|
"node-sass": "^6.0.1",
|
||||||
|
"pure-react-carousel": "^1.27.6",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
|
"react-animate-on-scroll": "^2.1.5",
|
||||||
|
"react-bootstrap": "^1.6.1",
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
"react-scripts": "4.0.3",
|
"react-scripts": "4.0.3",
|
||||||
|
"react-slick": "^0.28.1",
|
||||||
|
"react-tabs": "^3.2.2",
|
||||||
|
"react-typing-animation": "^1.6.2",
|
||||||
"typescript": "^4.1.2",
|
"typescript": "^4.1.2",
|
||||||
"web-vitals": "^1.0.1"
|
"web-vitals": "^1.0.1"
|
||||||
},
|
},
|
||||||
|
|
|
@ -2,42 +2,25 @@
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
|
<link
|
||||||
|
rel="stylesheet"
|
||||||
|
href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
|
||||||
|
integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l"
|
||||||
|
crossorigin="anonymous"
|
||||||
|
/>
|
||||||
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
|
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
<meta name="theme-color" content="#000000" />
|
<meta name="theme-color" content="#000000" />
|
||||||
<meta
|
<meta
|
||||||
name="description"
|
name="description"
|
||||||
content="Web site created using create-react-app"
|
content="Nicholas Orlowsky's personal website"
|
||||||
/>
|
/>
|
||||||
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
|
||||||
<!--
|
|
||||||
manifest.json provides metadata used when your web app is installed on a
|
|
||||||
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
|
|
||||||
-->
|
|
||||||
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
|
||||||
<!--
|
<title>Nicholas Orlowsky</title>
|
||||||
Notice the use of %PUBLIC_URL% in the tags above.
|
|
||||||
It will be replaced with the URL of the `public` folder during the build.
|
|
||||||
Only files inside the `public` folder can be referenced from the HTML.
|
|
||||||
|
|
||||||
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
|
|
||||||
work correctly both with client-side routing and a non-root public URL.
|
|
||||||
Learn how to configure a non-root public URL by running `npm run build`.
|
|
||||||
-->
|
|
||||||
<title>React App</title>
|
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
<noscript>You need to enable JavaScript to run this app. (are you using an outdated browser or just very privacy focused?) <!-- or are you looking at the source?--></noscript>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
<!--
|
|
||||||
This HTML file is a template.
|
|
||||||
If you open it directly in the browser, you will see an empty page.
|
|
||||||
|
|
||||||
You can add webfonts, meta tags, or analytics to this file.
|
|
||||||
The build step will place the bundled scripts into the <body> tag.
|
|
||||||
|
|
||||||
To begin the development, run `npm start` or `yarn start`.
|
|
||||||
To create a production bundle, use `npm run build` or `yarn build`.
|
|
||||||
-->
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
183
src/App.css
|
@ -1,38 +1,165 @@
|
||||||
.App {
|
.App {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
background-color: black;
|
||||||
|
|
||||||
.App-logo {
|
|
||||||
height: 40vmin;
|
|
||||||
pointer-events: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (prefers-reduced-motion: no-preference) {
|
|
||||||
.App-logo {
|
|
||||||
animation: App-logo-spin infinite 20s linear;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.App-header {
|
|
||||||
background-color: #282c34;
|
|
||||||
min-height: 100vh;
|
min-height: 100vh;
|
||||||
display: flex;
|
width: 100vw !important;
|
||||||
flex-direction: column;
|
max-width: 100vw !important;
|
||||||
align-items: center;
|
font-size: calc(20px);
|
||||||
justify-content: center;
|
|
||||||
font-size: calc(10px + 2vmin);
|
|
||||||
color: white;
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.App-link {
|
.row {
|
||||||
color: #61dafb;
|
margin: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes App-logo-spin {
|
html {
|
||||||
from {
|
background-color: black;
|
||||||
transform: rotate(0deg);
|
}
|
||||||
}
|
|
||||||
to {
|
/* we do this because scroll snapping is broken on moz://a for some reason */
|
||||||
transform: rotate(360deg);
|
@supports (-moz-appearance:none){
|
||||||
|
html {
|
||||||
|
scroll-snap-type: none !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* mobile won't play with snapping too well so we need to make it prox not mandatory */
|
||||||
|
@media only screen and (max-width: 600px) {
|
||||||
|
html {
|
||||||
|
scroll-snap-type: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.child {
|
||||||
|
scroll-snap-align: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-up-anim {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
transform: translateY(40px);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity:1;
|
||||||
|
transform: translateY(0px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media only screen and (max-width: 993px) {
|
||||||
|
.fade-up-md {
|
||||||
|
opacity: 0;
|
||||||
|
animation: fade-up-anim 2s forwards 200ms !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-up-md-2 {
|
||||||
|
opacity: 0;
|
||||||
|
animation: fade-up-anim 2s forwards 400ms !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-up-md-3 {
|
||||||
|
opacity: 0;
|
||||||
|
animation: fade-up-anim 2s forwards 600ms !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
.fade-up {
|
||||||
|
opacity: 0;
|
||||||
|
animation: fade-up-anim 2s forwards 200ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-up-2 {
|
||||||
|
opacity: 0;
|
||||||
|
animation: fade-up-anim 2s forwards 400ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-up-3 {
|
||||||
|
opacity: 0;
|
||||||
|
animation: fade-up-anim 2s forwards 600ms;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-up {
|
||||||
|
opacity: 0;
|
||||||
|
animation: fade-up-anim 2s forwards 200ms;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-up-d3s {
|
||||||
|
opacity: 0;
|
||||||
|
animation: fade-up-anim 2s forwards 3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-in-tx-anim {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
opacity:1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-in-tx {
|
||||||
|
animation: fade-in-tx-anim 1s ease-in;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-out{
|
||||||
|
0% {
|
||||||
|
opacity: 1;
|
||||||
|
z-index: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
99% {
|
||||||
|
opacity: .1;
|
||||||
|
z-index: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity:0;
|
||||||
|
z-index: -500;
|
||||||
|
display: none;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.fade-out {
|
||||||
|
animation: fade-out 1s ease-in forwards;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes move-left-atx-anim {
|
||||||
|
0% {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
margin-left: -17px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.move-left-atx {
|
||||||
|
animation: move-left-atx-anim 1s forwards;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul {
|
||||||
|
list-style-type: none;
|
||||||
|
margin-left: -35px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
html {
|
||||||
|
scroll-snap-type: y proximity;
|
||||||
|
}
|
||||||
|
|
||||||
|
.child {
|
||||||
|
scroll-snap-align: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.pfp {
|
||||||
|
border-radius: 100%;
|
||||||
|
width: 25%
|
||||||
|
}
|
||||||
|
|
47
src/App.tsx
|
@ -1,26 +1,33 @@
|
||||||
import React from 'react';
|
import React, {useState} from 'react';
|
||||||
import logo from './logo.svg';
|
|
||||||
import './App.css';
|
import './App.css';
|
||||||
|
import Footer from "./components/footer/Footer";
|
||||||
|
import Hero from "./components/hero/Hero";
|
||||||
|
import AboutMe from "./components/about-me/AboutMe";
|
||||||
|
import Jobs from "./components/jobs/Jobs";
|
||||||
|
import Projects from "./components/projects/Projects";
|
||||||
|
import Hobbies from "./components/hobbies/Hobbies";
|
||||||
|
import Contact from "./components/contact/Contact";
|
||||||
|
import Terminal from "./components/terminal/Terminal";
|
||||||
|
|
||||||
function App() {
|
function App() {
|
||||||
return (
|
const [isTerminalVisible, setIsTerminalVisible] = useState(false);
|
||||||
<div className="App">
|
|
||||||
<header className="App-header">
|
return (
|
||||||
<img src={logo} className="App-logo" alt="logo" />
|
<div className="App">
|
||||||
<p>
|
<Terminal isTerminalVisible={isTerminalVisible} setIsTerminalVisible={setIsTerminalVisible}/>
|
||||||
Edit <code>src/App.tsx</code> and save to reload.
|
{!isTerminalVisible &&
|
||||||
</p>
|
<div>
|
||||||
<a
|
<Hero/>
|
||||||
className="App-link"
|
<AboutMe/>
|
||||||
href="https://reactjs.org"
|
<Jobs/>
|
||||||
target="_blank"
|
<Projects/>
|
||||||
rel="noopener noreferrer"
|
<Hobbies/>
|
||||||
>
|
<Contact/>
|
||||||
Learn React
|
<Footer/>
|
||||||
</a>
|
</div>
|
||||||
</header>
|
}
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default App;
|
export default App;
|
||||||
|
|
30
src/components/about-me/AboutMe.tsx
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default function AboutMe() {
|
||||||
|
return (
|
||||||
|
<div className={"child"} style={{minHeight: "100vh"}}>
|
||||||
|
<div className={"row"} style={{
|
||||||
|
alignItems: "center",
|
||||||
|
alignContent: "center",
|
||||||
|
justifyContent: "center",
|
||||||
|
minHeight: "50rem"
|
||||||
|
}}>
|
||||||
|
<h1 className={"col-12"} style={{marginBottom: 20}}>About Me</h1>
|
||||||
|
<div className={"col-12"} style={{width: "100vw", justifyContent: "center", display: "flex"}}>
|
||||||
|
<p className={"col-12"} style={{maxWidth: 600}}>
|
||||||
|
I was born and raised in Austin, Texas. I've been writing code for nearly 7 years and I'm
|
||||||
|
currently going to <b>The University of Texas at Austin</b> and working as a <b>Software
|
||||||
|
Engineer</b> at <b>Chicks Gold</b>.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={"col-12"} style={{width: "100vw", justifyContent: "center", display: "flex"}}><p
|
||||||
|
style={{maxWidth: 600}}>Previously, I founded a startup called <b>CavCash</b> where I wrote a
|
||||||
|
majority of our software.</p></div>
|
||||||
|
<div className={"col-12"} style={{width: "100vw", justifyContent: "center", display: "flex"}}><p
|
||||||
|
style={{maxWidth: 600}}>I primarily do backend work and love working with databases. I'm also an
|
||||||
|
avid runner and entrepreneur.</p></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
15
src/components/contact/Contact.tsx
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default function Contact() {
|
||||||
|
return (
|
||||||
|
<div className={"child"} style={{minHeight: "90vh"}}>
|
||||||
|
<div style={{minHeight: "90vh", display: "flex", alignItems: "center", justifyContent: "center"}}>
|
||||||
|
<div>
|
||||||
|
<h1>Contact</h1>
|
||||||
|
<p style={{maxWidth: 500}}>If you need: startup advice, tech/programming help, an employee (me!), or just someone to talk to, feel free to email me at:</p>
|
||||||
|
<a href={"mailto:nickorlow@nickorlow.com"}>nickorlow@nickorlow.com</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
14
src/components/footer/Footer.tsx
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default function Footer() {
|
||||||
|
return (
|
||||||
|
<footer>
|
||||||
|
<div style={{minHeight: "10vh"}}>
|
||||||
|
<p className={"m-0"}>Copyright © 2021 Nicholas Orlowsky</p>
|
||||||
|
<p className={"m-0"}>Licensed under GNU General Public License v3</p>
|
||||||
|
<p className={"m-0"}>Original source available <a
|
||||||
|
href={"https://github.com/nickorlow/personal-site"}>here</a></p>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
)
|
||||||
|
}
|
29
src/components/hero/Hero.tsx
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
import TexasIcon from "../../static/images/texas-icon.png";
|
||||||
|
import SocialBar from "../social-bar/SocialBar";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default function Hero() {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<div className={"child"} style={{
|
||||||
|
height: "95vh",
|
||||||
|
display: "flex",
|
||||||
|
alignContent: "center",
|
||||||
|
justifyContent: "center",
|
||||||
|
flexDirection: "column",
|
||||||
|
alignItems: "center"
|
||||||
|
}}>
|
||||||
|
<img alt="github profile" src={"https://avatars.githubusercontent.com/u/85139485?v=4"}
|
||||||
|
style={{height: "30vh", width: "auto"}} className={"pfp"}/>
|
||||||
|
<h1 className={"m-0 font-weight-bold"}>Nicholas Orlowsky</h1>
|
||||||
|
<h4 className={"m-0"}>Software Engineer</h4>
|
||||||
|
<div className={"row"}>
|
||||||
|
<img alt={"github profile"} className={"fade-in-tx"} src={TexasIcon} style={{height: 50}}/>
|
||||||
|
<p className={"move-left-atx"} style={{marginTop: 11}}>Austin, Texas</p>
|
||||||
|
</div>
|
||||||
|
<SocialBar style={{justifyContent: "center", width: "60vmin"}}/>
|
||||||
|
</div>
|
||||||
|
<p className={"fade-up-d3s"}>scroll for more</p>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
23
src/components/hobbies/Hobbies.tsx
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
import {AllHobbies} from "../../static/data/Hobbies";
|
||||||
|
import InfoCard from "../info-card/InfoCard";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default function Hobbies () {
|
||||||
|
return (
|
||||||
|
<div className={"child"} style={{minHeight: "100vh"}}>
|
||||||
|
<div style={{
|
||||||
|
display: "flex",
|
||||||
|
justifyContent: "center",
|
||||||
|
flexDirection: "column",
|
||||||
|
width: "96vw",
|
||||||
|
minHeight: "100vh",
|
||||||
|
alignContent: "center",
|
||||||
|
alignItems: "center"
|
||||||
|
}}>
|
||||||
|
<h1>Other Hobbies</h1>
|
||||||
|
{AllHobbies.map((hobby) => <InfoCard style={{textAlign: "left", maxWidth: "50vmax", margin: 50}}
|
||||||
|
info={hobby}/>)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
22
src/components/info-card/InfoCard.tsx
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
import React from "react";
|
||||||
|
import InfoCardProps from "../../types/InfoCardProps";
|
||||||
|
|
||||||
|
export default function InfoCard(props: {style?: any, className?: string, info: InfoCardProps}) {
|
||||||
|
return (
|
||||||
|
<div style={props.style} className={props.className}>
|
||||||
|
<div style={{maxWidth: "100vw"}}>
|
||||||
|
<h3>{props.info.title}</h3>
|
||||||
|
<p>
|
||||||
|
{props.info.description}
|
||||||
|
</p>
|
||||||
|
<div>
|
||||||
|
<h4>{props.info.listTitle}</h4>
|
||||||
|
<div className={"row"} style={{color: "green", fontFamily: "monospace"}}>
|
||||||
|
{props.info.list.map(s => <p className={"col-6 "+(props.info.listClassName || "col-md-4")}>{s}</p>)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{props.info.link != null && <a href={props.info.link}>{props.info.linkTitle || "Relevant Link"}</a>}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
13
src/components/job-card/JobCard.css
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
@media only screen and (min-width: 993px) {
|
||||||
|
.center-card {
|
||||||
|
border-left: .5px rgba(255,255,255,.25) solid;
|
||||||
|
border-right: .5px rgba(255,255,255,.25) solid;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 768px) {
|
||||||
|
|
||||||
|
.job-card {
|
||||||
|
margin-top: 100px;
|
||||||
|
}
|
||||||
|
}
|
21
src/components/job-card/JobCard.tsx
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
import ScrollAnimation from "react-animate-on-scroll";
|
||||||
|
import React from "react";
|
||||||
|
import Job from "../../types/Job";
|
||||||
|
import "./JobCard.css";
|
||||||
|
|
||||||
|
export default function JobCard(props: {style?: any, className?: string, job: Job, isCenter: boolean}){
|
||||||
|
return (
|
||||||
|
<ScrollAnimation className={"job-card "+(props.isCenter ? "center-card " : "")+(props.className || "")} style={props.style} animateIn="fade-up" duration={2} animateOnce={true} offset={50} delay={200}>
|
||||||
|
<div style={{padding: 20}}>
|
||||||
|
<img alt={props.job.company+" company logo"} src={props.job.image} style={{maxHeight: 70, padding: 10,width: "auto", maxWidth: "100%"}}/>
|
||||||
|
<h2>{props.job.title}</h2>
|
||||||
|
{props.job.uri == null && <h5>{props.job.company}</h5>}
|
||||||
|
{props.job.uri != null && <a href={props.job.uri}><h5>{props.job.company}</h5></a>}
|
||||||
|
<p>{props.job.timespan}</p>
|
||||||
|
<ul>
|
||||||
|
{props.job.items.map((s) => <li>{s}</li>)}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</ScrollAnimation>
|
||||||
|
);
|
||||||
|
}
|
24
src/components/jobs/Jobs.css
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
.react-tabs__tab--selected {
|
||||||
|
transition: 1s;
|
||||||
|
border-top: 1px #00AA00 solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab-btn {
|
||||||
|
background-color: #121212;
|
||||||
|
transition: 1s;
|
||||||
|
|
||||||
|
|
||||||
|
border-bottom: 1px #FFFFFF solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-beg {
|
||||||
|
border-bottom-left-radius: 10px;
|
||||||
|
border-top-left-radius: 10px;
|
||||||
|
border-left: 1px #FFFFFF solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-end {
|
||||||
|
border-bottom-right-radius: 10px;
|
||||||
|
border-top-right-radius: 10px;
|
||||||
|
border-right: 1px #FFFFFF solid;
|
||||||
|
}
|
18
src/components/jobs/Jobs.tsx
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import {AllJobs} from "../../static/data/Jobs";
|
||||||
|
import JobCard from "../job-card/JobCard";
|
||||||
|
import React from "react";
|
||||||
|
import "./Jobs.css";
|
||||||
|
|
||||||
|
export default function Jobs() {
|
||||||
|
return (
|
||||||
|
<div className={"child"} style={{minHeight: "100vh"}}>
|
||||||
|
<div className={"row"} style={{justifyContent: "center", alignItems: "center", alignContent: "center"}}>
|
||||||
|
<h1 className={"col-12"} style={{marginBottom: 20}}>Work</h1>
|
||||||
|
|
||||||
|
{AllJobs.map((job, i) =><JobCard className={"col-md-4"} job={job}
|
||||||
|
isCenter={i % 2 === 1}/>)}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
29
src/components/projects/Projects.tsx
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
import {AllProjects} from "../../static/data/Projects";
|
||||||
|
import InfoCard from "../info-card/InfoCard";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
|
export default function Projects() {
|
||||||
|
return (
|
||||||
|
<div className={"child"} style={{minHeight: "100vh"}}>
|
||||||
|
|
||||||
|
<div style={{
|
||||||
|
display: "flex",
|
||||||
|
justifyContent: "center",
|
||||||
|
flexDirection: "column",
|
||||||
|
width: "100vw",
|
||||||
|
minHeight: "100vh",
|
||||||
|
alignContent: "center",
|
||||||
|
alignItems: "center"
|
||||||
|
}}>
|
||||||
|
<h1>Projects</h1>
|
||||||
|
<p>(writing code is my biggest hobby)</p>
|
||||||
|
<div className={"row m-0"} style={{justifyContent: "center", padding: 20}}>
|
||||||
|
{AllProjects.map((project) => <InfoCard className={"col-md-6"} style={{textAlign: "left",marginTop: 35, paddingLeft: 20, paddingRight: 20}}
|
||||||
|
info={project}/>)}
|
||||||
|
</div>
|
||||||
|
<a href={"https://github.com/nickorlow"}>More on GitHub</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
31
src/components/social-bar/SocialBar.css
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
.icon {
|
||||||
|
transition: 1s !important;
|
||||||
|
fill: #FFFFFF;
|
||||||
|
height: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon:hover {
|
||||||
|
transform: translateY(-2px);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.insta-icon:hover {
|
||||||
|
fill: #DD2A7B;
|
||||||
|
}
|
||||||
|
|
||||||
|
.twitter-icon:hover {
|
||||||
|
fill: #1DA1F2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.github-icon:hover {
|
||||||
|
fill: #F1502F;
|
||||||
|
}
|
||||||
|
|
||||||
|
.linkedin-icon:hover {
|
||||||
|
fill: #0077B5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mail-icon:hover {
|
||||||
|
fill: #EA4335;
|
||||||
|
}
|
28
src/components/social-bar/SocialBar.tsx
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
import React from "react";
|
||||||
|
import './SocialBar.css';
|
||||||
|
|
||||||
|
export default function SocialBar(props: {style: any}) {
|
||||||
|
return (
|
||||||
|
<div className={"row"} style={props.style}>
|
||||||
|
<div className={"col-md-2 col-4 fade-up-3 fade-up-md-2"} style={{display: "flex", justifyContent: "center"}}>
|
||||||
|
<svg onClick={ () => window.location.href="https://instagram.com/nickorlow"} className={"insta-icon icon"} viewBox="0 0 50 50" width="100px" height="100px"> <path d="M 16 3 C 8.83 3 3 8.83 3 16 L 3 34 C 3 41.17 8.83 47 16 47 L 34 47 C 41.17 47 47 41.17 47 34 L 47 16 C 47 8.83 41.17 3 34 3 L 16 3 z M 37 11 C 38.1 11 39 11.9 39 13 C 39 14.1 38.1 15 37 15 C 35.9 15 35 14.1 35 13 C 35 11.9 35.9 11 37 11 z M 25 14 C 31.07 14 36 18.93 36 25 C 36 31.07 31.07 36 25 36 C 18.93 36 14 31.07 14 25 C 14 18.93 18.93 14 25 14 z M 25 16 C 20.04 16 16 20.04 16 25 C 16 29.96 20.04 34 25 34 C 29.96 34 34 29.96 34 25 C 34 20.04 29.96 16 25 16 z"/></svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={"col-md-2 col-4 fade-up-2 fade-up-md"} style={{display: "flex", justifyContent: "center"}}>
|
||||||
|
<svg onClick={ () => window.location.href="https://twitter.com/nickorIow"} className={"twitter-icon icon"} viewBox="0 0 50 50" width="100px" height="100px"><path d="M 50.0625 10.4375 C 48.214844 11.257813 46.234375 11.808594 44.152344 12.058594 C 46.277344 10.785156 47.910156 8.769531 48.675781 6.371094 C 46.691406 7.546875 44.484375 8.402344 42.144531 8.863281 C 40.269531 6.863281 37.597656 5.617188 34.640625 5.617188 C 28.960938 5.617188 24.355469 10.21875 24.355469 15.898438 C 24.355469 16.703125 24.449219 17.488281 24.625 18.242188 C 16.078125 17.8125 8.503906 13.71875 3.429688 7.496094 C 2.542969 9.019531 2.039063 10.785156 2.039063 12.667969 C 2.039063 16.234375 3.851563 19.382813 6.613281 21.230469 C 4.925781 21.175781 3.339844 20.710938 1.953125 19.941406 C 1.953125 19.984375 1.953125 20.027344 1.953125 20.070313 C 1.953125 25.054688 5.5 29.207031 10.199219 30.15625 C 9.339844 30.390625 8.429688 30.515625 7.492188 30.515625 C 6.828125 30.515625 6.183594 30.453125 5.554688 30.328125 C 6.867188 34.410156 10.664063 37.390625 15.160156 37.472656 C 11.644531 40.230469 7.210938 41.871094 2.390625 41.871094 C 1.558594 41.871094 0.742188 41.824219 -0.0585938 41.726563 C 4.488281 44.648438 9.894531 46.347656 15.703125 46.347656 C 34.617188 46.347656 44.960938 30.679688 44.960938 17.09375 C 44.960938 16.648438 44.949219 16.199219 44.933594 15.761719 C 46.941406 14.3125 48.683594 12.5 50.0625 10.4375 Z"/></svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={"col-md-2 col-4 fade-up fade-up-md-2"} style={{display: "flex", justifyContent: "center"}}>
|
||||||
|
<svg onClick={ () => window.location.href="https://github.com/nickorlow"} className={"github-icon icon"} viewBox="0 0 50 50" width="100px" height="100px"> <path d="M17.791,46.836C18.502,46.53,19,45.823,19,45v-5.4c0-0.197,0.016-0.402,0.041-0.61C19.027,38.994,19.014,38.997,19,39 c0,0-3,0-3.6,0c-1.5,0-2.8-0.6-3.4-1.8c-0.7-1.3-1-3.5-2.8-4.7C8.9,32.3,9.1,32,9.7,32c0.6,0.1,1.9,0.9,2.7,2c0.9,1.1,1.8,2,3.4,2 c2.487,0,3.82-0.125,4.622-0.555C21.356,34.056,22.649,33,24,33v-0.025c-5.668-0.182-9.289-2.066-10.975-4.975 c-3.665,0.042-6.856,0.405-8.677,0.707c-0.058-0.327-0.108-0.656-0.151-0.987c1.797-0.296,4.843-0.647,8.345-0.714 c-0.112-0.276-0.209-0.559-0.291-0.849c-3.511-0.178-6.541-0.039-8.187,0.097c-0.02-0.332-0.047-0.663-0.051-0.999 c1.649-0.135,4.597-0.27,8.018-0.111c-0.079-0.5-0.13-1.011-0.13-1.543c0-1.7,0.6-3.5,1.7-5c-0.5-1.7-1.2-5.3,0.2-6.6 c2.7,0,4.6,1.3,5.5,2.1C21,13.4,22.9,13,25,13s4,0.4,5.6,1.1c0.9-0.8,2.8-2.1,5.5-2.1c1.5,1.4,0.7,5,0.2,6.6c1.1,1.5,1.7,3.2,1.6,5 c0,0.484-0.045,0.951-0.11,1.409c3.499-0.172,6.527-0.034,8.204,0.102c-0.002,0.337-0.033,0.666-0.051,0.999 c-1.671-0.138-4.775-0.28-8.359-0.089c-0.089,0.336-0.197,0.663-0.325,0.98c3.546,0.046,6.665,0.389,8.548,0.689 c-0.043,0.332-0.093,0.661-0.151,0.987c-1.912-0.306-5.171-0.664-8.879-0.682C35.112,30.873,31.557,32.75,26,32.969V33 c2.6,0,5,3.9,5,6.6V45c0,0.823,0.498,1.53,1.209,1.836C41.37,43.804,48,35.164,48,25C48,12.318,37.683,2,25,2S2,12.318,2,25 C2,35.164,8.63,43.804,17.791,46.836z"/></svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={"col-md-2 col-4 fade-up-2 fade-up-md-3"} style={{display: "flex", justifyContent: "center"}}>
|
||||||
|
<svg onClick={ () => window.location.href="https://www.linkedin.com/in/nicholas-orlowsky-83b24ab8"} className={"linkedin-icon icon"} viewBox="0 0 50 50" width="100px" height="100px"> <path d="M41,4H9C6.24,4,4,6.24,4,9v32c0,2.76,2.24,5,5,5h32c2.76,0,5-2.24,5-5V9C46,6.24,43.76,4,41,4z M17,20v19h-6V20H17z M11,14.47c0-1.4,1.2-2.47,3-2.47s2.93,1.07,3,2.47c0,1.4-1.12,2.53-3,2.53C12.2,17,11,15.87,11,14.47z M39,39h-6c0,0,0-9.26,0-10 c0-2-1-4-3.5-4.04h-0.08C27,24.96,26,27.02,26,29c0,0.91,0,10,0,10h-6V20h6v2.56c0,0,1.93-2.56,5.81-2.56 c3.97,0,7.19,2.73,7.19,8.26V39z"/></svg>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className={"col-md-2 col-4 fade-up-3 fade-up-md-3"} style={{display: "flex", justifyContent: "center"}}>
|
||||||
|
<svg onClick={ () => window.location.href="mailto:nickorlow@nickorlow.com"} className={"mail-icon icon"} viewBox="0 0 100 100" width="100px" height="100px"><g id="surface12014155"><path d="M 28 8 C 16.976562 8 8 16.976562 8 28 L 8 72 C 8 83.023438 16.976562 92 28 92 L 72 92 C 83.023438 92 92 83.023438 92 72 L 92 28 C 92 16.976562 83.023438 8 72 8 Z M 26 32 L 74 32 C 74.359375 32 74.699219 32.039062 75.019531 32.140625 L 55.359375 51.78125 C 52.398438 54.742188 47.582031 54.742188 44.621094 51.78125 L 24.980469 32.140625 C 25.300781 32.039062 25.640625 32 26 32 Z M 22.140625 34.980469 L 37.179688 50 L 22.140625 65.019531 C 22.039062 64.699219 22 64.359375 22 64 L 22 36 C 22 35.640625 22.039062 35.300781 22.140625 34.980469 Z M 77.859375 34.980469 C 77.960938 35.300781 78 35.640625 78 36 L 78 64 C 78 64.359375 77.960938 64.699219 77.859375 65.019531 L 62.800781 50 Z M 40 52.820312 L 41.78125 54.621094 C 44.042969 56.882812 47.019531 58 49.980469 58 C 52.960938 58 55.917969 56.882812 58.179688 54.621094 L 59.980469 52.820312 L 75.019531 67.859375 C 74.699219 67.960938 74.359375 68 74 68 L 26 68 C 25.640625 68 25.300781 67.960938 24.980469 67.859375 Z M 40 52.820312 "/></g></svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
34
src/components/terminal/Terminal.tsx
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
import Typing from "react-typing-animation";
|
||||||
|
import React, {Dispatch} from "react";
|
||||||
|
|
||||||
|
export default function Terminal(props: {isTerminalVisible: boolean, setIsTerminalVisible: Dispatch<boolean>}) {
|
||||||
|
return (
|
||||||
|
<div className={props.isTerminalVisible ? "" : "fade-out"} style={{position: "fixed", top: 0, left: 0, width: "99vw", height: "100vh", backgroundColor: "black",textAlign: "left"}}>
|
||||||
|
<p className={"d-inline"}>nickorlow@macbook ~# </p>
|
||||||
|
<Typing speed={20} className={"d-inline"} onFinishedTyping={() => props.setIsTerminalVisible(false)}>
|
||||||
|
<p className={"d-inline"}>git clone <p className={"d-inline"} style={{color: "#00aaee"}}>https://github.com/nickorlow/personal-site</p></p>
|
||||||
|
<Typing.Speed ms={0} />
|
||||||
|
<p/>
|
||||||
|
<p className={"m-0"}>Cloning into 'personal-site'...</p>
|
||||||
|
<p className={"m-0"}>remote: Enumerating objects: 334, done.</p>
|
||||||
|
<p className={"m-0"}>remote: Counting objects: 100% (334/334), done.</p>
|
||||||
|
<p className={"m-0"}>remote: Compressing objects: 100% (185/185), done.</p>
|
||||||
|
<p className={"m-0"}>remote: Total 334 (delta 132), reused 324 (delta 127), pack-reused 0</p>
|
||||||
|
<p className={"m-0"}>Receiving objects: 100% (334/334), 29.68 MiB | 5.50 MiB/s, done.</p>
|
||||||
|
<p className={"m-0"}>Resolving deltas: 100% (132/132), done.</p>
|
||||||
|
<p/>
|
||||||
|
<p className={"d-inline"}>nickorlow@macbook ~# </p>
|
||||||
|
<Typing.Speed ms={10} />
|
||||||
|
<p className={"d-inline"}>cd persona-site</p>
|
||||||
|
<Typing.Backspace speed={10} count={5}/>
|
||||||
|
<p className={"d-inline"}>l-site</p>
|
||||||
|
<p/>
|
||||||
|
<Typing.Speed ms={0} />
|
||||||
|
<p className={"d-inline"}>nickorlow@macbook ~# </p>
|
||||||
|
<Typing.Delay ms={200}/>
|
||||||
|
<Typing.Speed ms={100} />
|
||||||
|
<p className={"d-inline"}>npm run start</p>
|
||||||
|
</Typing>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
21
src/static/data/Hobbies.ts
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
import InfoCardProps from "../../types/InfoCardProps";
|
||||||
|
|
||||||
|
const RunningHobby: InfoCardProps = {
|
||||||
|
title: "Running",
|
||||||
|
description: "I started running cross country in 7th grade after wanting to beat my friend in the mile. I kept running all the way through to my senior year of high school. I made varsity my sophomore year. Today, I just run with friends casually along with other physical activity like lifting, biking, and kayaking.",
|
||||||
|
listTitle: "Personal Records",
|
||||||
|
list:["1600 - 4:34", "3200 - 10:11", "5K XC - 16:42"],
|
||||||
|
link: "https://tx.milesplit.com/athletes/7325388-nicholas-orlowsky/stats",
|
||||||
|
linkTitle: "Milesplit Profile",
|
||||||
|
listClassName: "col-12"
|
||||||
|
}
|
||||||
|
|
||||||
|
const VideogameHobby: InfoCardProps = {
|
||||||
|
title: "Video Games",
|
||||||
|
description: "Video games are what got me interested in programming in the first place. I tend to play them a lot less now in favor of programming though, I'll occasionally sink a couple hours into a game.",
|
||||||
|
listTitle: "Favorites",
|
||||||
|
list: ["Galaga", "Clone Hero", "Minecraft"]
|
||||||
|
}
|
||||||
|
|
||||||
|
export const AllHobbies: InfoCardProps[] = [RunningHobby, VideogameHobby];
|
||||||
|
|
51
src/static/data/Jobs.ts
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
import Job from "../../types/Job";
|
||||||
|
import VrboImage from "../images/vrbo-logo-min.png";
|
||||||
|
import CavImage from "../images/cavcash-logo-min.png";
|
||||||
|
import ChicksImage from "../images/chicks-logo.svg";
|
||||||
|
|
||||||
|
const VrboJob: Job = {
|
||||||
|
title: "Data Scientist",
|
||||||
|
company: "Vrbo, a part of Expedia Group",
|
||||||
|
uri: "https://vrbo.com",
|
||||||
|
timespan: "August 2019 - January 2021",
|
||||||
|
items: [
|
||||||
|
"Worked on Natural Language Processing chatbot",
|
||||||
|
"Worked with team to identify dataset patterns",
|
||||||
|
"Helped reduce wait times",
|
||||||
|
"Reduced offsite booking attempts"
|
||||||
|
],
|
||||||
|
image: VrboImage
|
||||||
|
}
|
||||||
|
|
||||||
|
const CavCashJob: Job = {
|
||||||
|
title: "CEO & Software Engineer",
|
||||||
|
company: "CavCash Inc",
|
||||||
|
timespan: "May 2017 - Present",
|
||||||
|
items: [
|
||||||
|
"Founded the company",
|
||||||
|
"Wrote a C# webAPI",
|
||||||
|
"Managed mongoDB and MSSQL databases",
|
||||||
|
"Deployed and maintained k8s clusters on bare metal",
|
||||||
|
"Managed CI/CD & DevOps in Azure DevOps",
|
||||||
|
"Ran & migrated services between Azure, AWS, and GCP"
|
||||||
|
],
|
||||||
|
image: CavImage
|
||||||
|
}
|
||||||
|
|
||||||
|
const ChicksJob: Job = {
|
||||||
|
title: "Software Engineer",
|
||||||
|
company: "Chicks Gold",
|
||||||
|
uri: "https://chicksgold.com",
|
||||||
|
timespan: "April 2021 - Present",
|
||||||
|
items: [
|
||||||
|
"Added features & bugfixes to .NET 5 API",
|
||||||
|
"Added features & bugfixes to Aurelia website",
|
||||||
|
"Worked with team to create new feature & bug tickets",
|
||||||
|
"Deployed code to k8s cluster"
|
||||||
|
],
|
||||||
|
image: ChicksImage
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export const AllJobs: Job[] = [VrboJob, CavCashJob, ChicksJob];
|
||||||
|
|
40
src/static/data/Projects.ts
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
import InfoCardProps from "../../types/InfoCardProps";
|
||||||
|
|
||||||
|
const WebsiteProject: InfoCardProps = {
|
||||||
|
title: "personal-site (this website)",
|
||||||
|
description: "As a primairly backend guy, I wrote my last website as a JSON file (imatating a webAPI). Feedback showed that that was a bad idea so I made this pretty neat site (in my opinion). If you like it, feel free to use it yourself!",
|
||||||
|
listTitle: "Technologies & Resources used",
|
||||||
|
list:["React", "Typescript", "Bootstrap", "Icons8", "Docker", "Kubernetes"],
|
||||||
|
link: "https://github.com/nickorlow/personal-site",
|
||||||
|
linkTitle: "GitHub Repo"
|
||||||
|
}
|
||||||
|
|
||||||
|
const CavCashProject: InfoCardProps = {
|
||||||
|
title: "cavcash",
|
||||||
|
description: "CavCash started as a project in 2017 as a way to pay with flashdrives. After recruitinf a few friends to help me, we build ourselves into a PayPal competitor but shutdown due to funding. I continued to re-write the platform as a cryptocurrency.",
|
||||||
|
listTitle: "Technologies Used",
|
||||||
|
list: ["C#", ".NET 5", "MSSQL", "mongoDB", "Kubernetes", "Docker", "nginx", "Azure DevOps", "React", "Cloudflare"],
|
||||||
|
link: "https://cavcash.com",
|
||||||
|
linkTitle: "Project Website"
|
||||||
|
}
|
||||||
|
|
||||||
|
const XenMapProject: InfoCardProps = {
|
||||||
|
title: "xenmap",
|
||||||
|
description: "I wanted to use an old iPad as a HUD in my car similar to tesla and it needed a map to complete it. I made this widget to show your current location as a XenHTML widget.",
|
||||||
|
listTitle: "Technologies Used",
|
||||||
|
list: ["HTML", "JavaScript", "CSS", "XenHTML Framework", "XenInfo API"],
|
||||||
|
link: "https://github.com/nickorlow/MapXenHTML",
|
||||||
|
linkTitle: "GitHub Repo"
|
||||||
|
}
|
||||||
|
|
||||||
|
const SPONODEProject: InfoCardProps = {
|
||||||
|
title: "sponode",
|
||||||
|
description: "App for Android & macOS that added songs people sent you to a playlist. Made so we could have a jukebox type setup during track workouts.",
|
||||||
|
listTitle: "Technologies Used",
|
||||||
|
list: ["Java", "Apple Script", "Spotify API", "node.js"],
|
||||||
|
link: "https://github.com/nickorlow/sponode",
|
||||||
|
linkTitle: "GitHub Repo"
|
||||||
|
}
|
||||||
|
|
||||||
|
export const AllProjects: InfoCardProps[] = [WebsiteProject, CavCashProject, XenMapProject, SPONODEProject];
|
||||||
|
|
BIN
src/static/images/cavcash-logo-min.png
Normal file
After Width: | Height: | Size: 74 KiB |
BIN
src/static/images/cavcash-logo.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
30
src/static/images/chicks-logo.svg
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" id="Chicks_Logo" width="152.29" height="31.163" viewBox="0 0 152.29 31.163">
|
||||||
|
<defs>
|
||||||
|
<style>
|
||||||
|
.cls-1{fill:#b2b3b8}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<g id="Group_3877" transform="translate(-34.915 -20.729)">
|
||||||
|
<g id="Group_3879" transform="translate(223.269 -273.021)">
|
||||||
|
<g id="Group_3878" transform="translate(-80.713 293.75)">
|
||||||
|
<g id="Group_3928">
|
||||||
|
<path id="Rectangle_287" d="M0 0H8.855V1.373H0z" class="cls-1" transform="translate(3.777 14.783)"/>
|
||||||
|
<path id="Rectangle_288" d="M0 0H8.855V0.635H0z" class="cls-1" transform="translate(3.777 13.84)"/>
|
||||||
|
<path id="Path_3334" d="M468.273 297.634a.532.532 0 0 0-.212 1.019l-2.968 5.539h-.661l.876-7.74a.608.608 0 1 0-.14-.014l-2.332 7.7h-.652l-1.032-8.891a.757.757 0 1 0-.206 0l-.908 8.89h-.652l-2.408-7.727a.6.6 0 1 0-.209.039.615.615 0 0 0 .126-.013l.844 7.855h-.669l-3.324-5.652a.529.529 0 1 0-.231.054.509.509 0 0 0 .08-.008l3.166 8.488h8.855l2.578-8.488a.521.521 0 0 0 .079.008.532.532 0 0 0 0-1.064z" class="cls-1" transform="translate(-452.982 -293.75)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g id="Group_3881" transform="translate(35.915 38.821)">
|
||||||
|
<path id="Path_3324" d="M-184.283 393.354a6.466 6.466 0 0 1 2.3.346 8.281 8.281 0 0 1 1.6.808q.423.266.646.062a1.66 1.66 0 0 0 .307-.968h.487q-.043.675-.064 1.625t-.021 2.531h-.487q-.148-.781-.286-1.279a3.235 3.235 0 0 0-.36-.852 3.223 3.223 0 0 0-.6-.693 3.539 3.539 0 0 0-1.5-.924 6.159 6.159 0 0 0-1.884-.284 3.9 3.9 0 0 0-1.905.453 3.95 3.95 0 0 0-1.387 1.287 6.4 6.4 0 0 0-.857 1.971 9.836 9.836 0 0 0-.3 2.486 9.262 9.262 0 0 0 .317 2.513 5.847 5.847 0 0 0 .921 1.936 4.151 4.151 0 0 0 1.461 1.243 4.171 4.171 0 0 0 1.916.435 5.988 5.988 0 0 0 1.8-.293 3.291 3.291 0 0 0 1.482-.9 2.8 2.8 0 0 0 .815-1.2 10.014 10.014 0 0 0 .37-1.82h.487q0 1.634.021 2.637t.064 1.7h-.487a1.75 1.75 0 0 0-.286-.959q-.2-.2-.667.053a11.757 11.757 0 0 1-1.662.808 6.219 6.219 0 0 1-2.254.346 8.265 8.265 0 0 1-3.662-.764 5.675 5.675 0 0 1-2.434-2.2 6.578 6.578 0 0 1-.868-3.463 6.605 6.605 0 0 1 .9-3.48 6.257 6.257 0 0 1 2.466-2.327 7.583 7.583 0 0 1 3.611-.834z" class="cls-1" transform="translate(190.269 -393.354)"/>
|
||||||
|
<path id="Path_3325" d="M-98.578 407.437v-.354a4.523 4.523 0 0 0 1.033-.142.657.657 0 0 0 .456-.425 3.1 3.1 0 0 0 .111-.957v-8.786a3.081 3.081 0 0 0-.111-.965.685.685 0 0 0-.466-.425 3.826 3.826 0 0 0-1.023-.133v-.354q.465.018 1.2.035t1.59.018q.77 0 1.509-.018t1.225-.035v.354a3.7 3.7 0 0 0-1.013.133.713.713 0 0 0-.466.425 2.833 2.833 0 0 0-.122.965v8.786a2.847 2.847 0 0 0 .122.957.685.685 0 0 0 .466.425 4.43 4.43 0 0 0 1.013.142v.354q-.486-.035-1.225-.044t-1.509-.009q-.851 0-1.59.009t-1.2.044zm3.017-6.129v-.354h8v.354zm5.488 6.129v-.354a4.524 4.524 0 0 0 1.033-.142.657.657 0 0 0 .456-.425 3.1 3.1 0 0 0 .111-.957v-8.786a3.081 3.081 0 0 0-.111-.965.685.685 0 0 0-.466-.425 3.827 3.827 0 0 0-1.023-.133v-.354q.506.018 1.266.035t1.509.018q.851 0 1.579-.018t1.175-.035v.354a3.7 3.7 0 0 0-1.013.133.713.713 0 0 0-.466.425 2.833 2.833 0 0 0-.122.965v8.786a2.847 2.847 0 0 0 .122.957.685.685 0 0 0 .466.425 4.428 4.428 0 0 0 1.013.142v.354q-.446-.035-1.175-.044t-1.579-.009q-.749 0-1.509.009t-1.265.044z" class="cls-1" transform="translate(113.581 -394.631)"/>
|
||||||
|
<path id="Path_3326" d="M9.551 394.895v.354a3.927 3.927 0 0 0-1.044.133.728.728 0 0 0-.481.425 2.753 2.753 0 0 0-.125.965v8.786a2.766 2.766 0 0 0 .125.957.7.7 0 0 0 .481.425 4.7 4.7 0 0 0 1.044.142v.354q-.5-.035-1.264-.044t-1.556-.009q-.877 0-1.64.009t-1.243.044v-.354a4.8 4.8 0 0 0 1.065-.142.67.67 0 0 0 .47-.425 3.006 3.006 0 0 0 .115-.957v-8.786a2.992 2.992 0 0 0-.115-.965.7.7 0 0 0-.48-.425 4.062 4.062 0 0 0-1.055-.133v-.354q.48.018 1.243.035t1.64.018q.794 0 1.556-.018t1.264-.035z" class="cls-1" transform="translate(27.92 -394.631)"/>
|
||||||
|
<path id="Path_3327" d="M66.723 393.354a5.757 5.757 0 0 1 2.161.346 7.627 7.627 0 0 1 1.5.808q.4.266.608.062a1.728 1.728 0 0 0 .289-.968h.458q-.04.675-.06 1.625t-.02 2.531H71.2q-.14-.781-.269-1.279a3.347 3.347 0 0 0-.339-.852 3.175 3.175 0 0 0-.568-.693 3.3 3.3 0 0 0-1.414-.924 5.482 5.482 0 0 0-1.773-.284 3.5 3.5 0 0 0-1.793.453 3.815 3.815 0 0 0-1.3 1.287 6.613 6.613 0 0 0-.807 1.971 10.423 10.423 0 0 0-.279 2.486 9.811 9.811 0 0 0 .3 2.513 6.012 6.012 0 0 0 .867 1.936 3.979 3.979 0 0 0 1.374 1.243 3.735 3.735 0 0 0 1.8.435 5.331 5.331 0 0 0 1.693-.293 3.072 3.072 0 0 0 1.394-.9 2.818 2.818 0 0 0 .767-1.2 10.582 10.582 0 0 0 .348-1.82h.458q0 1.634.02 2.637t.06 1.7h-.458a1.828 1.828 0 0 0-.269-.959q-.189-.2-.627.053a10.8 10.8 0 0 1-1.564.808 5.539 5.539 0 0 1-2.121.346 7.39 7.39 0 0 1-3.446-.764 5.471 5.471 0 0 1-2.291-2.2 7.663 7.663 0 0 1 .03-6.943 6.055 6.055 0 0 1 2.32-2.327 6.793 6.793 0 0 1 3.41-.834z" class="cls-1" transform="translate(-19.589 -393.354)"/>
|
||||||
|
<path id="Path_3328" d="M158.438 394.895v.354a3.787 3.787 0 0 0-1.025.133.719.719 0 0 0-.472.425 2.8 2.8 0 0 0-.123.965v8.786a2.815 2.815 0 0 0 .123.957.69.69 0 0 0 .472.425 4.534 4.534 0 0 0 1.025.142v.354q-.492-.035-1.24-.044t-1.527-.009q-.861 0-1.609.009t-1.22.044v-.354a4.632 4.632 0 0 0 1.045-.142.662.662 0 0 0 .461-.425 3.06 3.06 0 0 0 .113-.957v-8.786a3.046 3.046 0 0 0-.113-.965.691.691 0 0 0-.471-.425 3.917 3.917 0 0 0-1.035-.133v-.354q.471.018 1.22.035t1.609.018q.779 0 1.527-.018t1.24-.035zm6.724 0v.354a4.354 4.354 0 0 0-1.3.4 4.461 4.461 0 0 0-1.3 1.019l-3.936 4.251.7-1.081 4.92 6.165a2.918 2.918 0 0 0 .707.673 3.372 3.372 0 0 0 .974.407v.354q-.554-.035-1.333-.044t-1.374-.009q-.369 0-.912.009t-1.363.044v-.354a1.611 1.611 0 0 0 .933-.212q.174-.177-.154-.585l-2.973-3.986a5.2 5.2 0 0 0-.656-.753 1.442 1.442 0 0 0-.594-.337 3.651 3.651 0 0 0-.759-.1v-.372a3.387 3.387 0 0 0 1.486-.337 4.722 4.722 0 0 0 1.179-.868l1.7-1.86a4.328 4.328 0 0 0 .923-1.3.7.7 0 0 0-.1-.824 1.786 1.786 0 0 0-1.148-.3v-.354l1.281.035q.646.018 1.3.018 1.143 0 1.799-.053z" class="cls-1" transform="translate(-97.077 -394.631)"/>
|
||||||
|
<path id="Path_3329" d="M250.861 393.574a4.308 4.308 0 0 1 1.537.213 5.947 5.947 0 0 1 .93.461q.228.125.37.186a.683.683 0 0 0 .275.062q.3 0 .418-.781h.437q-.019.319-.048.754t-.038 1.145q-.01.71-.009 1.864h-.433a5.089 5.089 0 0 0-.408-1.687 3.272 3.272 0 0 0-1.025-1.332 2.749 2.749 0 0 0-1.718-.515 2.387 2.387 0 0 0-1.6.542 1.785 1.785 0 0 0-.636 1.429 2.025 2.025 0 0 0 .418 1.3 4.428 4.428 0 0 0 1.148.977q.73.453 1.661 1 .949.569 1.708 1.128a4.764 4.764 0 0 1 1.2 1.234 2.943 2.943 0 0 1 .437 1.634 3.046 3.046 0 0 1-.579 1.909 3.472 3.472 0 0 1-1.547 1.128 5.872 5.872 0 0 1-2.126.373 5.406 5.406 0 0 1-1.689-.213 7.37 7.37 0 0 1-1.063-.444 1.432 1.432 0 0 0-.645-.249q-.3 0-.418.781h-.437q.038-.39.047-.914t.019-1.376q.009-.852.009-2.148h.437a7.439 7.439 0 0 0 .427 2.06 3.389 3.389 0 0 0 1.082 1.536 3.05 3.05 0 0 0 1.945.577 2.787 2.787 0 0 0 1.689-.542 1.96 1.96 0 0 0 .74-1.7 2.315 2.315 0 0 0-.807-1.8 12.483 12.483 0 0 0-2.116-1.465q-.892-.532-1.67-1.065a4.485 4.485 0 0 1-1.243-1.243 3.007 3.007 0 0 1-.465-1.687 2.8 2.8 0 0 1 .541-1.776 3.237 3.237 0 0 1 1.4-1.03 5.042 5.042 0 0 1 1.845-.326z" class="cls-1" transform="translate(-173.97 -393.536)"/>
|
||||||
|
<path id="Path_3330" d="M374.908 393.354a5.04 5.04 0 0 1 2.031.346 8.087 8.087 0 0 1 1.424.808.759.759 0 0 0 .38.178q.36 0 .474-1.083h.437q-.038.675-.057 1.625t-.019 2.531h-.437a11.9 11.9 0 0 0-.351-1.581 2.834 2.834 0 0 0-.75-1.243 3.432 3.432 0 0 0-1.338-.888 4.615 4.615 0 0 0-1.68-.32 3.343 3.343 0 0 0-1.746.453 3.822 3.822 0 0 0-1.281 1.287 6.647 6.647 0 0 0-.8 1.962 10.447 10.447 0 0 0-.275 2.477 8.192 8.192 0 0 0 1.053 4.68 3.641 3.641 0 0 0 3.179 1.483 3.126 3.126 0 0 0 1.053-.16 4.082 4.082 0 0 0 .712-.319 1.127 1.127 0 0 0 .418-.417 1.3 1.3 0 0 0 .095-.542v-1.723a3.31 3.31 0 0 0-.142-1.128.833.833 0 0 0-.56-.5 4.558 4.558 0 0 0-1.215-.151v-.355q.361.018.854.027l1.034.018q.541.009.978.009.683 0 1.243-.018t.92-.036v.355a.963.963 0 0 0-.759.284 2.715 2.715 0 0 0-.171 1.243v3.516h-.38a2.508 2.508 0 0 0-.142-.657q-.124-.355-.37-.355a.783.783 0 0 0-.275.053 3.315 3.315 0 0 0-.484.266 6.792 6.792 0 0 1-1.386.684 4.845 4.845 0 0 1-1.632.257 6.4 6.4 0 0 1-4.745-1.678 6.316 6.316 0 0 1-1.671-4.662 7.329 7.329 0 0 1 .826-3.569 5.9 5.9 0 0 1 2.259-2.335 6.478 6.478 0 0 1 3.296-.822z" class="cls-1" transform="translate(-277.349 -393.354)"/>
|
||||||
|
<path id="Path_3331" d="M471.6 393.354a8.208 8.208 0 0 1 3.633.764 5.671 5.671 0 0 1 2.432 2.193 6.6 6.6 0 0 1 .863 3.472 6.7 6.7 0 0 1-.885 3.48 6.131 6.131 0 0 1-2.464 2.327 7.59 7.59 0 0 1-3.6.835 8.186 8.186 0 0 1-3.643-.764 5.655 5.655 0 0 1-2.422-2.2 7.293 7.293 0 0 1 .032-6.943 6.238 6.238 0 0 1 2.454-2.329 7.512 7.512 0 0 1 3.6-.835zm-.084.32a3.464 3.464 0 0 0-2.275.8 5.1 5.1 0 0 0-1.5 2.2 9.222 9.222 0 0 0-.526 3.25 8.367 8.367 0 0 0 .589 3.276 5.064 5.064 0 0 0 1.6 2.149 3.674 3.674 0 0 0 2.253.755 3.424 3.424 0 0 0 2.264-.8 5.222 5.222 0 0 0 1.5-2.211 9.077 9.077 0 0 0 .537-3.241 8.22 8.22 0 0 0-.6-3.285 5.191 5.191 0 0 0-1.6-2.14 3.634 3.634 0 0 0-2.242-.753z" class="cls-1" transform="translate(-357.18 -393.354)"/>
|
||||||
|
<path id="Path_3332" d="M569.04 394.895v.354a3.823 3.823 0 0 0-1.031.133.71.71 0 0 0-.47.425 2.863 2.863 0 0 0-.12.965v8.857a2.79 2.79 0 0 0 .11.9.627.627 0 0 0 .44.4 3.552 3.552 0 0 0 .951.1h1.3a3.777 3.777 0 0 0 1.841-.381 2.469 2.469 0 0 0 1.041-1.16 6.976 6.976 0 0 0 .52-1.984h.46a14.694 14.694 0 0 0-.06 1.488q0 .355.03 1.036t.11 1.408q-1.02-.035-2.3-.044t-2.281-.009h-1.651q-1.031 0-2.2.009t-2.191.044v-.354a4.421 4.421 0 0 0 1.021-.142.652.652 0 0 0 .45-.425 3.124 3.124 0 0 0 .11-.957v-8.786a3.109 3.109 0 0 0-.11-.965.68.68 0 0 0-.46-.425 3.736 3.736 0 0 0-1.01-.133v-.354q.46.018 1.191.035t1.571.018q.76 0 1.511-.018t1.227-.035z" class="cls-1" transform="translate(-438.334 -394.631)"/>
|
||||||
|
<path id="Path_3333" d="M652.231 394.895q3.652 0 5.429 1.585a5.772 5.772 0 0 1 1.777 4.544 6.419 6.419 0 0 1-.869 3.375 5.793 5.793 0 0 1-2.517 2.241 9.12 9.12 0 0 1-4 .8q-.435 0-1.293-.027t-1.51-.027q-.75 0-1.471.009t-1.175.044v-.354a4.306 4.306 0 0 0 1.007-.142.647.647 0 0 0 .444-.425 3.154 3.154 0 0 0 .109-.957v-8.786a3.14 3.14 0 0 0-.109-.965.674.674 0 0 0-.454-.425 3.641 3.641 0 0 0-1-.133v-.354l1.175.044q.721.027 1.431.009t1.589-.036q.885-.015 1.437-.02zm-.336.319a1.65 1.65 0 0 0-1.185.3 1.9 1.9 0 0 0-.276 1.222v8.857a1.847 1.847 0 0 0 .286 1.222 1.69 1.69 0 0 0 1.194.3 5.786 5.786 0 0 0 3.1-.7 3.749 3.749 0 0 0 1.559-2.046 10.332 10.332 0 0 0 .454-3.277 7.1 7.1 0 0 0-1.145-4.429q-1.144-1.449-3.982-1.449z" class="cls-1" transform="translate(-508.147 -394.631)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 10 KiB |
1
src/static/images/icons/README.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
All of these .svg files are not used directly, instead the svg information is copied inline so we can apply CSS classes to them.
|
1
src/static/images/icons/icons8-docker.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="100px" height="100px"><path d="M 20 9 L 20 14 L 10 14 L 10 19 L 5 19 L 5 24 L 1.125 24 C 0.640625 24 0.242188 24.335938 0.15625 24.8125 C 0.148438 24.847656 0 25.683594 0 26.75 C 0 27.449219 0.0664063 28.210938 0.1875 28.96875 C 1.332031 28.695313 3.429688 28.285156 3.0625 26.9375 C 5.035156 29.222656 9.769531 28.53125 10.96875 27.40625 C 12.308594 29.347656 20.113281 28.605469 20.65625 27.09375 C 22.335938 29.0625 27.542969 29.0625 29.21875 27.09375 C 29.761719 28.605469 37.535156 29.347656 38.875 27.40625 C 39.300781 27.804688 40.1875 28.136719 41.21875 28.3125 C 41.566406 27.652344 41.886719 26.988281 42.1875 26.28125 C 48.539063 26.203125 49.910156 21.636719 49.96875 21.4375 C 50.078125 21.054688 49.929688 20.660156 49.625 20.40625 C 49.519531 20.316406 47.175781 18.414063 43.375 19.0625 C 42.308594 15.589844 39.5625 14.007813 39.4375 13.9375 C 39.078125 13.734375 38.632813 13.765625 38.3125 14.03125 C 38.210938 14.113281 35.847656 16.117188 36.21875 20.21875 C 36.3125 21.25 36.582031 22.160156 37 22.96875 C 36.179688 23.425781 34.769531 24 32.5 24 L 32 24 L 32 19 L 27 19 L 27 9 Z M 41.21875 28.3125 C 41.097656 28.546875 40.941406 28.773438 40.8125 29 L 49.84375 29 C 48.757813 28.726563 46.425781 28.359375 46.8125 26.9375 C 45.535156 28.414063 43.109375 28.632813 41.21875 28.3125 Z M 40.8125 29 L 0.1875 29 C 0.429688 30.46875 0.929688 32.007813 1.6875 33.5 C 7.117188 34.777344 12.816406 32.832031 12.875 32.8125 C 13.398438 32.628906 13.945313 32.917969 14.125 33.4375 C 14.308594 33.957031 14.050781 34.539063 13.53125 34.71875 C 13.339844 34.785156 9.90625 35.9375 5.6875 35.9375 C 4.851563 35.9375 3.972656 35.890625 3.09375 35.78125 C 5.71875 39.261719 10.167969 42 17 42 C 27.804688 42 36.113281 37.410156 40.8125 29 Z M 0.1875 29 C 0.183594 28.984375 0.191406 28.984375 0.1875 28.96875 C 0.121094 28.984375 0.0585938 28.984375 0 29 Z M 22 11 L 25 11 L 25 14 L 22 14 Z M 12 16 L 15 16 L 15 19 L 12 19 Z M 17 16 L 20 16 L 20 19 L 17 19 Z M 22 16 L 25 16 L 25 19 L 22 19 Z M 7 21 L 10 21 L 10 24 L 7 24 Z M 12 21 L 15 21 L 15 24 L 12 24 Z M 17 21 L 20 21 L 20 24 L 17 24 Z M 22 21 L 25 21 L 25 24 L 22 24 Z M 27 21 L 30 21 L 30 24 L 27 24 Z M 16 31 C 16.128906 31 16.261719 31.019531 16.375 31.0625 C 16.253906 31.132813 16.15625 31.253906 16.15625 31.40625 C 16.15625 31.632813 16.335938 31.84375 16.5625 31.84375 C 16.714844 31.84375 16.867188 31.75 16.9375 31.625 C 16.988281 31.742188 17 31.863281 17 32 C 17 32.550781 16.550781 33 16 33 C 15.449219 33 15 32.550781 15 32 C 15 31.449219 15.449219 31 16 31 Z"/></svg>
|
After Width: | Height: | Size: 2.6 KiB |
1
src/static/images/icons/icons8-github(2).svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0"?><svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="100px" height="100px"> <path d="M17.791,46.836C18.502,46.53,19,45.823,19,45v-5.4c0-0.197,0.016-0.402,0.041-0.61C19.027,38.994,19.014,38.997,19,39 c0,0-3,0-3.6,0c-1.5,0-2.8-0.6-3.4-1.8c-0.7-1.3-1-3.5-2.8-4.7C8.9,32.3,9.1,32,9.7,32c0.6,0.1,1.9,0.9,2.7,2c0.9,1.1,1.8,2,3.4,2 c2.487,0,3.82-0.125,4.622-0.555C21.356,34.056,22.649,33,24,33v-0.025c-5.668-0.182-9.289-2.066-10.975-4.975 c-3.665,0.042-6.856,0.405-8.677,0.707c-0.058-0.327-0.108-0.656-0.151-0.987c1.797-0.296,4.843-0.647,8.345-0.714 c-0.112-0.276-0.209-0.559-0.291-0.849c-3.511-0.178-6.541-0.039-8.187,0.097c-0.02-0.332-0.047-0.663-0.051-0.999 c1.649-0.135,4.597-0.27,8.018-0.111c-0.079-0.5-0.13-1.011-0.13-1.543c0-1.7,0.6-3.5,1.7-5c-0.5-1.7-1.2-5.3,0.2-6.6 c2.7,0,4.6,1.3,5.5,2.1C21,13.4,22.9,13,25,13s4,0.4,5.6,1.1c0.9-0.8,2.8-2.1,5.5-2.1c1.5,1.4,0.7,5,0.2,6.6c1.1,1.5,1.7,3.2,1.6,5 c0,0.484-0.045,0.951-0.11,1.409c3.499-0.172,6.527-0.034,8.204,0.102c-0.002,0.337-0.033,0.666-0.051,0.999 c-1.671-0.138-4.775-0.28-8.359-0.089c-0.089,0.336-0.197,0.663-0.325,0.98c3.546,0.046,6.665,0.389,8.548,0.689 c-0.043,0.332-0.093,0.661-0.151,0.987c-1.912-0.306-5.171-0.664-8.879-0.682C35.112,30.873,31.557,32.75,26,32.969V33 c2.6,0,5,3.9,5,6.6V45c0,0.823,0.498,1.53,1.209,1.836C41.37,43.804,48,35.164,48,25C48,12.318,37.683,2,25,2S2,12.318,2,25 C2,35.164,8.63,43.804,17.791,46.836z"/></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
src/static/images/icons/icons8-icons8.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0"?><svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="100px" height="100px"> <path d="M 5 4 C 4.448 4 4 4.447 4 5 L 4 45 C 4 45.553 4.448 46 5 46 L 24 46 C 24.552 46 25 45.553 25 45 L 25 35.5 L 25 14.5 L 25 5 C 25 4.447 24.552 4 24 4 L 5 4 z M 25 14.5 C 25 20.29 29.71 25 35.5 25 C 41.29 25 46 20.29 46 14.5 C 46 8.71 41.29 4 35.5 4 C 29.71 4 25 8.71 25 14.5 z M 35.5 25 C 29.71 25 25 29.71 25 35.5 C 25 41.29 29.71 46 35.5 46 C 41.29 46 46 41.29 46 35.5 C 46 29.71 41.29 25 35.5 25 z"/></svg>
|
After Width: | Height: | Size: 546 B |
1
src/static/images/icons/icons8-instagram(1).svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0"?><svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="100px" height="100px"> <path d="M 16 3 C 8.83 3 3 8.83 3 16 L 3 34 C 3 41.17 8.83 47 16 47 L 34 47 C 41.17 47 47 41.17 47 34 L 47 16 C 47 8.83 41.17 3 34 3 L 16 3 z M 37 11 C 38.1 11 39 11.9 39 13 C 39 14.1 38.1 15 37 15 C 35.9 15 35 14.1 35 13 C 35 11.9 35.9 11 37 11 z M 25 14 C 31.07 14 36 18.93 36 25 C 36 31.07 31.07 36 25 36 C 18.93 36 14 31.07 14 25 C 14 18.93 18.93 14 25 14 z M 25 16 C 20.04 16 16 20.04 16 25 C 16 29.96 20.04 34 25 34 C 29.96 34 34 29.96 34 25 C 34 20.04 29.96 16 25 16 z"/></svg>
|
After Width: | Height: | Size: 614 B |
1
src/static/images/icons/icons8-kubernetes.svg
Normal file
After Width: | Height: | Size: 10 KiB |
1
src/static/images/icons/icons8-linkedin.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<?xml version="1.0"?><svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="100px" height="100px"> <path d="M41,4H9C6.24,4,4,6.24,4,9v32c0,2.76,2.24,5,5,5h32c2.76,0,5-2.24,5-5V9C46,6.24,43.76,4,41,4z M17,20v19h-6V20H17z M11,14.47c0-1.4,1.2-2.47,3-2.47s2.93,1.07,3,2.47c0,1.4-1.12,2.53-3,2.53C12.2,17,11,15.87,11,14.47z M39,39h-6c0,0,0-9.26,0-10 c0-2-1-4-3.5-4.04h-0.08C27,24.96,26,27.02,26,29c0,0.91,0,10,0,10h-6V20h6v2.56c0,0,1.93-2.56,5.81-2.56 c3.97,0,7.19,2.73,7.19,8.26V39z"/></svg>
|
After Width: | Height: | Size: 518 B |
6
src/static/images/icons/icons8-mail.svg
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" width="100px" height="100px">
|
||||||
|
<g id="surface12014155">
|
||||||
|
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 28 8 C 16.976562 8 8 16.976562 8 28 L 8 72 C 8 83.023438 16.976562 92 28 92 L 72 92 C 83.023438 92 92 83.023438 92 72 L 92 28 C 92 16.976562 83.023438 8 72 8 Z M 26 32 L 74 32 C 74.359375 32 74.699219 32.039062 75.019531 32.140625 L 55.359375 51.78125 C 52.398438 54.742188 47.582031 54.742188 44.621094 51.78125 L 24.980469 32.140625 C 25.300781 32.039062 25.640625 32 26 32 Z M 22.140625 34.980469 L 37.179688 50 L 22.140625 65.019531 C 22.039062 64.699219 22 64.359375 22 64 L 22 36 C 22 35.640625 22.039062 35.300781 22.140625 34.980469 Z M 77.859375 34.980469 C 77.960938 35.300781 78 35.640625 78 36 L 78 64 C 78 64.359375 77.960938 64.699219 77.859375 65.019531 L 62.800781 50 Z M 40 52.820312 L 41.78125 54.621094 C 44.042969 56.882812 47.019531 58 49.980469 58 C 52.960938 58 55.917969 56.882812 58.179688 54.621094 L 59.980469 52.820312 L 75.019531 67.859375 C 74.699219 67.960938 74.359375 68 74 68 L 26 68 C 25.640625 68 25.300781 67.960938 24.980469 67.859375 Z M 40 52.820312 "/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
1
src/static/images/icons/icons8-react.svg
Normal file
After Width: | Height: | Size: 5.4 KiB |
1
src/static/images/icons/icons8-twitter.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="100px" height="100px"><path d="M 50.0625 10.4375 C 48.214844 11.257813 46.234375 11.808594 44.152344 12.058594 C 46.277344 10.785156 47.910156 8.769531 48.675781 6.371094 C 46.691406 7.546875 44.484375 8.402344 42.144531 8.863281 C 40.269531 6.863281 37.597656 5.617188 34.640625 5.617188 C 28.960938 5.617188 24.355469 10.21875 24.355469 15.898438 C 24.355469 16.703125 24.449219 17.488281 24.625 18.242188 C 16.078125 17.8125 8.503906 13.71875 3.429688 7.496094 C 2.542969 9.019531 2.039063 10.785156 2.039063 12.667969 C 2.039063 16.234375 3.851563 19.382813 6.613281 21.230469 C 4.925781 21.175781 3.339844 20.710938 1.953125 19.941406 C 1.953125 19.984375 1.953125 20.027344 1.953125 20.070313 C 1.953125 25.054688 5.5 29.207031 10.199219 30.15625 C 9.339844 30.390625 8.429688 30.515625 7.492188 30.515625 C 6.828125 30.515625 6.183594 30.453125 5.554688 30.328125 C 6.867188 34.410156 10.664063 37.390625 15.160156 37.472656 C 11.644531 40.230469 7.210938 41.871094 2.390625 41.871094 C 1.558594 41.871094 0.742188 41.824219 -0.0585938 41.726563 C 4.488281 44.648438 9.894531 46.347656 15.703125 46.347656 C 34.617188 46.347656 44.960938 30.679688 44.960938 17.09375 C 44.960938 16.648438 44.949219 16.199219 44.933594 15.761719 C 46.941406 14.3125 48.683594 12.5 50.0625 10.4375 Z"/></svg>
|
After Width: | Height: | Size: 1.3 KiB |
1
src/static/images/icons/icons8-typescript.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg fill="#000000" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="100px" height="100px"><path d="M45,4H5C4.447,4,4,4.448,4,5v40c0,0.552,0.447,1,1,1h40c0.553,0,1-0.448,1-1V5C46,4.448,45.553,4,45,4z M29,26.445h-5V42h-4 V26.445h-5V23h14V26.445z M30.121,41.112v-4.158c0,0,2.271,1.712,4.996,1.712c2.725,0,2.62-1.782,2.62-2.026 c0-2.586-7.721-2.586-7.721-8.315c0-7.791,11.25-4.717,11.25-4.717l-0.14,3.704c0,0-1.887-1.258-4.018-1.258s-2.9,1.013-2.9,2.096 c0,2.795,7.791,2.516,7.791,8.141C42,44.955,30.121,41.112,30.121,41.112z"/></svg>
|
After Width: | Height: | Size: 545 B |
BIN
src/static/images/texas-icon.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
src/static/images/vrbo-logo-min.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
src/static/images/vrbo-logo.png
Normal file
After Width: | Height: | Size: 554 KiB |
9
src/types/InfoCardProps.ts
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
export default interface InfoCardProps {
|
||||||
|
title: string,
|
||||||
|
description: string,
|
||||||
|
listTitle: string,
|
||||||
|
list: string[],
|
||||||
|
linkTitle?: string,
|
||||||
|
link?: string,
|
||||||
|
listClassName?: string
|
||||||
|
}
|
8
src/types/Job.ts
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
export default interface Job {
|
||||||
|
title: string,
|
||||||
|
company: string,
|
||||||
|
uri?: string,
|
||||||
|
timespan: string,
|
||||||
|
items: string[]
|
||||||
|
image: string
|
||||||
|
}
|