From f45bbfec995a37f4a05522b48528fb62ebf1b4e2 Mon Sep 17 00:00:00 2001 From: dunemask Date: Fri, 27 Oct 2023 20:44:37 +0000 Subject: [PATCH] [FEATURE] New References (#13) Co-authored-by: dunemask Reviewed-on: https://gitea.dunemask.dev/elysium/nile/pulls/13 --- src/Navbar.jsx | 2 +- src/Routing.jsx | 2 +- src/hooks.jsx | 12 +++- src/pages/delta/About.jsx | 2 +- src/pages/delta/Delta.jsx | 3 +- src/pages/resume/ReferenceCard.jsx | 89 ++++++++++++++++++++++++++++++ src/pages/resume/References.jsx | 43 ++++++--------- 7 files changed, 120 insertions(+), 33 deletions(-) create mode 100644 src/pages/resume/ReferenceCard.jsx diff --git a/src/Navbar.jsx b/src/Navbar.jsx index 31e05eb..c36dd11 100644 --- a/src/Navbar.jsx +++ b/src/Navbar.jsx @@ -22,7 +22,7 @@ const links = [ { url: "/#portfolio", title: "Portfolio" }, // { url: "/#achievements", title: "Achievements" }, { url: "/#contact", title: "Contact" }, - // { url: "/resume", title: "Resume" }, + { url: "/resume", title: "Resume" }, ]; export default function Navbar() { diff --git a/src/Routing.jsx b/src/Routing.jsx index f212955..81d0657 100644 --- a/src/Routing.jsx +++ b/src/Routing.jsx @@ -16,7 +16,7 @@ export default function Routing() { } /> - {/* } /> */} + } /> {redirects.map((r, i) => ( } /> ))} diff --git a/src/hooks.jsx b/src/hooks.jsx index 1a229a7..f8d6fb0 100644 --- a/src/hooks.jsx +++ b/src/hooks.jsx @@ -5,8 +5,9 @@ export function useScrollToLocation() { const navigate = useNavigate(); const { hash } = useLocation(); const hashRef = React.useRef(hash); + const hashRetry = 100; - React.useEffect(() => { + function scrollToHash() { if (!hash) { window.scrollTo(0, 0); return; @@ -18,12 +19,17 @@ export function useScrollToLocation() { if (scrolledRef.current) return; const id = hash.replace("#", ""); const element = document.getElementById(id); - if (!element) return; + if (!element) { + setTimeout(scrollToHash, hashRetry); + return; + } + element.scrollIntoView({ behavior: "smooth", block: "start", inline: "nearest", }); scrolledRef.current = true; - }); + } + React.useEffect(scrollToHash); } diff --git a/src/pages/delta/About.jsx b/src/pages/delta/About.jsx index 46c58f5..64d990e 100644 --- a/src/pages/delta/About.jsx +++ b/src/pages/delta/About.jsx @@ -106,7 +106,7 @@ export default function About() { href="mailto:elijahglennparker@outlook.com" style={{ textDecoration: "none", fontSize: "14px" }} > - elijah@dunemask.net + elijahglennparker@outlook.com } /> diff --git a/src/pages/delta/Delta.jsx b/src/pages/delta/Delta.jsx index f176110..2174632 100644 --- a/src/pages/delta/Delta.jsx +++ b/src/pages/delta/Delta.jsx @@ -15,7 +15,6 @@ export default function Delta() { return (
- @@ -26,8 +25,8 @@ export default function Delta() { + - ); } diff --git a/src/pages/resume/ReferenceCard.jsx b/src/pages/resume/ReferenceCard.jsx new file mode 100644 index 0000000..5290172 --- /dev/null +++ b/src/pages/resume/ReferenceCard.jsx @@ -0,0 +1,89 @@ +import { Link } from "react-router-dom"; +import Box from "@mui/material/Box"; +import Chip from "@mui/material/Chip"; +import useMediaQuery from "@mui/material/useMediaQuery"; +import { useTheme } from "@mui/material/styles"; +/*import ContactCard from "./ContactCard.jsx"; +*/ +import Typography from "@mui/material/Typography"; +export default function ReferenceCard(props) { + const { name, title, linkedin, reference } = props; + const theme = useTheme(); + const smallMode = true; //useMediaQuery(theme.breakpoints.down("md")); + + return ( + +
+
+
+ + {name} + + {title} +
+
+
+ + +
+ + {reference} + +
+
+
+ ); + i; +} diff --git a/src/pages/resume/References.jsx b/src/pages/resume/References.jsx index ab73fd2..4b444b6 100644 --- a/src/pages/resume/References.jsx +++ b/src/pages/resume/References.jsx @@ -2,34 +2,30 @@ import React from "react"; import Box from "@mui/material/Box"; import Typography from "@mui/material/Typography"; import ContactCard from "./ContactCard.jsx"; - +import ReferenceCard from "./ReferenceCard.jsx"; const people = [ { name: "Ethan Maughan", - title: "Manager, Podium", - email: "mailto:notready@dunemask.net", + title: "Team Manager, Podium", linkedin: "https://www.linkedin.com/in/ethan-maughan-87469214a", - description: "Manager at Podium", - avatar: - "https://media.licdn.com/dms/image/C5603AQGfl31FXYzSrA/profile-displayphoto-shrink_400_400/0/1638318798590?e=1700697600&v=beta&t=ReByv6irpv3DUQKMbP6INBSipueU_QZAwlNviIYnxzI", + reference: `When I worked with Elijah he proved that he not only was incredibly driven and dedicated to the team, but also someone who can learn and adapt very quickly. He goes about each task with a "can do" mentality, and he helped us achieve team goals faster than expected more than once.`, }, - { + /* { name: "Josh Butler", title: "Coworker, Podium", - email: "mailto:notready@dunemask.net", linkedin: "https://www.linkedin.com/in/josh-butler-7372a97", - description: "Coworker at Podium", - avatar: - "https://media.licdn.com/dms/image/D5635AQHg-Vy1WMNYhA/profile-framedphoto-shrink_400_400/0/1691598798461?e=1695823200&v=beta&t=jDuGypWxBoRFJTZvFxPxdk7y8U24tdtS8Wio0Fsofx4", - }, + },*/ { name: "Trevor Ah Sue", title: "Coworker, Podium", - email: "mailto:notready@dunemask.net", linkedin: "https://www.linkedin.com/in/trevor-ah-sue/", - description: "Coworker at Podium", - avatar: - "https://media.licdn.com/dms/image/C5603AQFfjR3jtnYw6Q/profile-displayphoto-shrink_400_400/0/1653795453273?e=1700697600&v=beta&t=5jO7XQGuH-KK4FwgiyeLfHZSyUaRfnr2-C3DK0pK1jk", + reference: `I had the privilege of working closely with Elijah Parker on the QA team over the course of his tenure at Podium. He is a very diligent and dedicated individual and he is more than qualified for any software engineering role. Elijah started at Podium as an intern but was quickly able to start contributing as a valued team member. In just weeks, he became very comfortable working in our codebase and learned the ins and outs of our team. + +One of Elijah’s greatest strengths is his ability to manage large-scale projects. I worked with Elijah closely on our team's API testing project. We had started this project a few months before he joined the team. He was able to quickly learn the project and start making some major contributions to it. He mainly worked on refactoring the code base to make it more structured as we added more API tests to the project. His changes were essential and helped our team by consolidating redundant code. He made some major changes to our original code that helped with readability and efficiency. + +I was also impressed by Elijah’s dedication to writing clean code and his focus on documentation. Before leaving Podium, he wrote clear documents for each project he worked on. He provided documents, training videos, and flowcharts to easily communicate his work to the team after he was gone. + +In summary, Elijah is an exceptional engineer who embodies qualities of diligence, knowledge, quick learning, and versatility. I have no doubt that he will be a tremendous asset to any organization or project. If you have any further questions or need additional information, please feel free to contact me.`, }, ]; @@ -38,10 +34,9 @@ export default function References() {
- References + Primary References
- {people.map((p, i) => ( - ))}