diff --git a/index.html b/index.html index 2b8d804..f910683 100644 --- a/index.html +++ b/index.html @@ -62,7 +62,7 @@
- +
diff --git a/public/images/logo-micro.png b/public/images/logo-micro.png new file mode 100644 index 0000000..a4d6231 Binary files /dev/null and b/public/images/logo-micro.png differ diff --git a/src/Navbar.jsx b/src/Navbar.jsx index abfded3..3b070fb 100644 --- a/src/Navbar.jsx +++ b/src/Navbar.jsx @@ -73,7 +73,7 @@ export default function Navbar() { aria-label="menu" sx={{ mr: -0.5 }} > - + diff --git a/src/components/LogoBackground.jsx b/src/components/LogoBackground.jsx index 5b932a7..ee8efde 100644 --- a/src/components/LogoBackground.jsx +++ b/src/components/LogoBackground.jsx @@ -16,7 +16,7 @@ export default function LogoBackground() { }} > diff --git a/src/css/contact.css b/src/css/contact.css new file mode 100644 index 0000000..a7d1a1a --- /dev/null +++ b/src/css/contact.css @@ -0,0 +1,17 @@ +.contact-icon { + margin: auto 1rem; + margin-top: -0.5rem; + width: 1.5rem; + height: 1.5rem; + padding: 1rem; + border-radius: 50%; + border: 1px solid #f3ac20; + color: #f3ac20; + transition: 0.7s; +} + +.contact-icon:hover { + background-color: #f3ac20; + color: white; + border-color: white; +} diff --git a/src/css/footer.css b/src/css/footer.css index 3a322e0..b3b2d18 100644 --- a/src/css/footer.css +++ b/src/css/footer.css @@ -35,4 +35,5 @@ footer { padding-left: 10px; font-size: 10px; line-height: inherit; + font-family: "Roboto", "Helvetica", "Arial", sans-serif; } diff --git a/src/pages/delta/Contact.jsx b/src/pages/delta/Contact.jsx new file mode 100644 index 0000000..0b5ad14 --- /dev/null +++ b/src/pages/delta/Contact.jsx @@ -0,0 +1,60 @@ +import Box from "@mui/material/Box"; +import Typography from "@mui/material/Typography"; +import TextField from "@mui/material/TextField"; +import MailIcon from "@mui/icons-material/Mail"; +import LocationOnIcon from "@mui/icons-material/LocationOn"; +import PhoneIphoneIcon from "@mui/icons-material/PhoneIphone"; +import ContactStrip from "./ContactStrip.jsx"; +import "@css/contact.css"; +export default function Contact() { + return ( + + + +
+ + Contact + +
+ + + + {/**/} + + {/* + + + + + */} +
+
+
+ ); +} diff --git a/src/pages/delta/ContactStrip.jsx b/src/pages/delta/ContactStrip.jsx new file mode 100644 index 0000000..60b8601 --- /dev/null +++ b/src/pages/delta/ContactStrip.jsx @@ -0,0 +1,40 @@ +import Box from "@mui/material/Box"; +import Typography from "@mui/material/Typography"; +export default function ContactStrip(props) { + const { title, info, icon: Icon } = props; + return ( + + + + + {title} + + + + + {info} + + + + + ); +} diff --git a/src/pages/delta/Delta.jsx b/src/pages/delta/Delta.jsx index e822715..7b8b250 100644 --- a/src/pages/delta/Delta.jsx +++ b/src/pages/delta/Delta.jsx @@ -6,6 +6,7 @@ import ContentWrapper from "@components/ContentWrapper.jsx"; const Skills = React.lazy(() => import("./Skills.jsx")); const Social = React.lazy(() => import("./Social.jsx")); +const Contact = React.lazy(() => import("./Contact.jsx")); export default function Delta() { return ( @@ -15,6 +16,7 @@ export default function Delta() { + ); diff --git a/src/pages/delta/Projects.jsx b/src/pages/delta/Projects.jsx index 9e876f0..04e1e7c 100644 --- a/src/pages/delta/Projects.jsx +++ b/src/pages/delta/Projects.jsx @@ -1,6 +1,6 @@ import { useState } from "react"; import Box from "@mui/material/Box"; - +import Typography from "@mui/material/Typography"; import ProjectTile from "./ProjectTile.jsx"; import PhotoHover from "./PhotoHover.jsx"; @@ -22,7 +22,9 @@ export default function Projects() { alt={"Missing Project Photo"} />
-

Portfolio

+ + Projects +
-

{heading}

+ {heading} { , - }, - { - url: "mailto: elijahglennparker@outlook.com", - icon: , - }, - { - url: "https://gitea.dunemask.net/dunemask", - icon: , - }, - { - url: "https://gitlab.com/dunemask", - icon: , - }, - { - url: "https://github.com/dunemask", - icon: , - }, -]; - export default function Social() { return ( - - -

Social

- - {socialLinks.map((v, i) => ( - + + +
+ + Social + +
+ + - {v.icon} -
- ))} +
+ + + +
+ + + Linkedin + + + Hard working fullstack developer Seeking entry-level part time + position or internship with flexible hours to accommodate + pursuit of a B.S. degree. + + + + +
+ + + +
+ + + Gitea + + + Portfolio showcasing integration with CI/CD and Kubernetes. + Technologies include React, Express, Python, Helm, and Docker + + +
+ + +
+ + + +
+ + + Github + + + Archived projects specializing in Java, Python, Javascript, + HTML, and CSS. Built projects solo and in teams as project + lead, and principal contributor. + + +
+
diff --git a/src/pages/references/ContactCard.jsx b/src/pages/references/ContactCard.jsx new file mode 100644 index 0000000..2b96f77 --- /dev/null +++ b/src/pages/references/ContactCard.jsx @@ -0,0 +1,76 @@ +import Card from "@mui/material/Card"; +import { Link } from "react-router-dom"; +import CardContent from "@mui/material/CardContent"; +import CardActions from "@mui/material/CardActions"; +import Button from "@mui/material/Button"; +import ButtonGroup from "@mui/material/ButtonGroup"; +import Avatar from "@mui/material/Avatar"; +import Chip from "@mui/material/Chip"; +import Typography from "@mui/material/Typography"; +import Box from "@mui/material/Box"; +import IconButton from "@mui/material/IconButton"; + +import LinkedInIcon from "@mui/icons-material/LinkedIn"; +import MailIcon from "@mui/icons-material/Mail"; + +export default function ContactCard(props) { + const { name, title, phone, email, linkedin, description, avatar } = props; + + return ( + + + + + {name} + + {description} + + + + + + + + + + + + ); +} diff --git a/src/pages/references/References.jsx b/src/pages/references/References.jsx index da7a2fd..54d09a5 100644 --- a/src/pages/references/References.jsx +++ b/src/pages/references/References.jsx @@ -1,12 +1,69 @@ import React from "react"; import Box from "@mui/material/Box"; +import Typography from "@mui/material/Typography"; import ContentWrapper from "../../components/ContentWrapper"; +import ContactCard from "./ContactCard.jsx"; + +const people = [ + { + name: "Ethan Maughan", + title: "Manager, Podium", + email: "mailto:notready@dunemask.net", + 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", + }, + { + 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", + }, +]; export default function References() { return ( - + -

References

+ + + + References{" "} + {" "} + + + {people.map((p, i) => ( + + ))} + +
); diff --git a/vite.config.js b/vite.config.js index 7f96f33..b73b8a9 100644 --- a/vite.config.js +++ b/vite.config.js @@ -18,7 +18,8 @@ export default () => { alias: { "@": path.resolve("./src"), "@components": path.resolve("./src/components"), - "@images": path.resolve("./src/images") + "@images": path.resolve("./src/images"), + "@css": path.resolve("./src/css") }, }, });