XeNote/pages/index.js

153 lines
11 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import Job from "../components/Job";
import Skill from "../components/Skill";
import Project from "../components/Project";
import Head from "next/head";
export default function Landing({ jobs, skills, projects }) {
return (
<div>
<Head>
<body className="bg-gradient-to-b from-slate-900 to-slate-950 container max-w-full mx-auto text-gray-300 py-24 px-8 w-full " />
</Head>
<main className="grid grid-cols-8 gap-4">
<aside className="col-start-1 grid col-span-2 grid-rows-6 gap-3">
<section className="sticky top-10 p-2 bg-slate-500 bg-opacity-10 rounded-xl row-span-1 col-span-6" >
<h3 className="mt-1">Useful Links</h3>
<ul className="list-none m-0 p-0 flex flex-col gap-1">
<a><li className="flex w-full items-baseline gap-1">CSS-Tricks<div className="border flex-1 h-0 border-dashed" />{"->"}</li></a>
<a><li className="flex w-full items-baseline gap-1">Indie Hackers<div className="border flex-1 h-0 border-dashed" />{"->"}</li></a>
<a><li className="flex w-full items-baseline gap-1">W3Schools<div className="border flex-1 h-0 border-dashed" />{"->"}</li></a>
<a href="https://simpleicons.org"><li className="flex w-full items-baseline gap-1">Simple Icons<div className="border flex-1 h-0 border-dashed" />{"->"}</li></a>
<a><li className="flex w-full items-baseline gap-1">Another dummy link<div className="border flex-1 h-0 border-dashed" />{"->"}</li></a>
</ul>
</section>
<section className="grid grid-rows-3 col-start-1 col-span-6 sticky top-72 row-span-1" >
<div className="row-span-1 p-2 bg-slate-500 bg-opacity-10 rounded-xl ">
<ul className="flex gap-2 list-none m-0 p-0 py-4">
<li className="m-auto"><a><svg class="h-7 w-7 text-white" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" /> <path d="M9 19c-4.286 1.35-4.286-2.55-6-3m12 5v-3.5c0-1 .099-1.405-.5-2 2.791-.3 5.5-1.366 5.5-6.04a4.567 4.567 0 0 0 -1.333 -3.21 4.192 4.192 0 00-.08-3.227s-1.05-.3-3.476 1.267a12.334 12.334 0 0 0 -6.222 0C6.462 2.723 5.413 3.023 5.413 3.023a4.192 4.192 0 0 0 -.08 3.227A4.566 4.566 0 004 9.486c0 4.64 2.709 5.68 5.5 6.014-.591.589-.56 1.183-.5 2V21" /></svg></a></li>
<li className="m-auto"><a><svg class="h-7 w-7 text-white" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z" /> <rect x="2" y="9" width="4" height="12" /> <circle cx="4" cy="4" r="2" /></svg></a></li>
<li className="m-auto"><a><svg class="h-7 w-7 text-white" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"> <path d="M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z" /></svg></a></li>
<li className="m-auto"><a><svg class="h-7 w-7 text-white" viewBox="0 0 24 24" stroke="currentcolor" xmlns="http://www.w3.org/2000/svg"><path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z" /></svg></a></li>
<li className="m-auto"><a><svg class="h-7 w-7 text-white" viewBox="0 0 24 24" fill="none" stroke="currentColor" xmlns="http://www.w3.org/2000/svg"><path d="M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z" /></svg></a></li>
</ul>
</div>
</section>
</aside>
<section className="col-start-3 flex gap-1 flex-col col-span-4">
<article>
<div className="flex flex-col gap-2">
<div className="flex gap-4 items-center">
<img className="inline-block h-10 w-10 rounded-full ring-2 ring-white"
src="https://gitlab.com/uploads/-/system/user/avatar/5083849/avatar.png?width=400" alt="" />
<h1 className="text-2xl font-bold">Triston Armstrong</h1>
</div>
<p className="text-sm">Full Stack Software Developer @ <a href="ventrahealth.com"
className="text-blue-500">VentraHealth</a></p>
<div className="w-full border-dashed border-slate-500 my-4 border "></div>
<p className="text-sm">I am a self taught Full Stack Software Developer with an unhealthy addiction to solving
problems using code.</p>
<div className="w-full border-dashed border-gray-700 border-opacity-10 my-4 border "></div>
</div>
</article>
<article>
<h2 className="text-1xl font-bold uppercase">Skills</h2>
<div className="flex gap-2 py-4" id="skills">
{skills.map(skill => <Skill key={skill.label} label={skill.label} color={skill.color} />)}
</div>
</article>
<article>
<h2 className="text-1xl font-bold uppercase">Jobs</h2>
<div className="flex flex-col gap-3 py-4" id="jobs">
{jobs.map(job => <Job key={job.name} logo={job.logo} name={job.name} details={job.details} dateFrom={job.dateFrom} dateTo={job.dateTo} />)}
</div>
</article>
<article>
<h2 className="text-1xl font-bold uppercase">Personal Projects</h2>
<div className="flex flex-col gap-3 py-4" id="projects">
{projects.map(project => <Project key={project.label} label={project.label} date={project.date} url={project.url} />)}
</div>
</article>
<article>
<h2 className="text-1xl font-bold uppercase">Notes</h2>
<p>An endless trail of links to my personal notes</p>
<a href="/notes">Go To Notes {"->"}</a>
</article>
</section>
<section className=" col-span-2">
<h3>Tweets</h3>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">My code is like a fine wine - it only gets better with age... until it turns into vinegar. 🍷🤖 <a href="https://twitter.com/hashtag/CodeAgingGracefully?src=hash&amp;ref_src=twsrc%5Etfw">#CodeAgingGracefully</a></p>&mdash; Triston Armstrong (@triston_armstr) <a href="https://twitter.com/triston_armstr/status/1698395432471462005?ref_src=twsrc%5Etfw">September 3, 2023</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet"><p lang="en" dir="ltr">Now thats a display! Thanks to <a href="https://twitter.com/ImmersedVR?ref_src=twsrc%5Etfw">@ImmersedVR</a> and BetterDisplay! <a href="https://t.co/qLdUGXUK7y">pic.twitter.com/qLdUGXUK7y</a></p>&mdash; Triston Armstrong (@triston_armstr) <a href="https://twitter.com/triston_armstr/status/1590096694951436288?ref_src=twsrc%5Etfw">November 8, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</section>
</main>
</div>
);
}
export function getStaticProps() {
return {
props: {
projects: [
{ label: "Web Window Manager", date: "9/18/2022", url: "https://github.com/tristonarmstrong/web-window-manager" },
{ label: "Component Test Helper", date: "6/18/2022", url: "https://github.com/tristonarmstrong/component-test-helper" },
{ label: "Hive DAPP", date: "3/8/2022", url: "https://github.com/tristonarmstrong/hive-dapp" },
{ label: "Kivy Twisted Input Capture", date: "6/27/2021", url: "https://github.com/tristonarmstrong/KivyTwistedInputCapture" },
{ label: "Plant Monitor Node MCU", date: "6/27/2021", url: "https://github.com/tristonarmstrong/PlantMonitorNodeMCU" },
{ label: "Oppo BDP 103 CLI", date: "4/10/2021", url: "https://github.com/tristonarmstrong/oppo_bdp_103_CLI" },
{ label: "Sony Bravia Pro Server", date: "4/10/2021", url: "https://github.com/tristonarmstrong/sony_bravia_pro_display_mock_server" },
{ label: "Chat IO", date: "6/10/2020", url: "https://github.com/tristonarmstrong/chat.io" },
{ label: "Solar Battery Monitor API", date: "7/18/2023", url: "https://github.com/tristonarmstrong/SolarBatteryMonitorApi" },
{ label: "Zip Code Distance App", date: "1/28/2020", url: "https://github.com/tristonarmstrong/zipapp" },
{ label: "Armstrong Editor", date: "12/14/2022", url: "https://github.com/tristonarmstrong/armstrong-editor" },
],
skills: [
{ label: "Typescript", color: "blue-500" },
{ label: "Python", color: "green-800" },
{ label: "Rust", color: "yellow-800" },
{ label: "Javascript", color: "yellow-500" },
],
jobs: [
{
logo: 'https://ventrahealth.com/wp-content/uploads/2023/08/cropped-Ventra-Health-favicon-circle-192x192.png',
name: 'Ventra Health',
details: 'Maintaining and iterating on an internal web application',
dateFrom: "May 2023",
dateTo: "Present"
}, {
logo: 'https://www.randstadusa.com/themes/custom/bluex/favicon.ico',
name: 'Randstad Technologies',
details: 'Built Web Applications for external clients',
dateFrom: "May 2022",
dateTo: "May 2023"
}, {
logo: 'https://img1.wsimg.com/isteam/ip/9ba626a3-41c9-4092-90b5-cb351983b726/favicon/a8beec51-e35d-4cca-8e88-befa12f687b0.png/:/rs=w:64,h:64,m',
name: 'Damiano Global Corporation',
details: 'Built Web Applications for external clients',
dateFrom: "July 2020",
dateTo: "Nov 2021"
}, {
logo: '#',
name: 'Makers Ladder LLC',
details: 'Did some thangs',
dateFrom: "Dec 2019",
dateTo: "Apr 2022"
},
]
},
}
}