From cc360597f8eec3895c35bca19b3cddfb93a2cdf3 Mon Sep 17 00:00:00 2001 From: dunemask Date: Sat, 23 Sep 2023 15:41:02 +0000 Subject: [PATCH] [FEATURE] Adjusted Social Styling and Prepared References (#8) Co-authored-by: dunemask Reviewed-on: https://gitea.dunemask.net/elysium/nile/pulls/8 --- index.html | 2 +- public/images/logo-micro.png | Bin 0 -> 25743 bytes src/Navbar.jsx | 2 +- src/components/LogoBackground.jsx | 2 +- src/css/contact.css | 17 +++ src/css/footer.css | 1 + src/pages/delta/Contact.jsx | 60 ++++++++ src/pages/delta/ContactStrip.jsx | 40 +++++ src/pages/delta/Delta.jsx | 2 + src/pages/delta/Projects.jsx | 6 +- src/pages/delta/SkillPaper.jsx | 2 +- src/pages/delta/Social.jsx | 209 ++++++++++++++++++++++----- src/pages/references/ContactCard.jsx | 76 ++++++++++ src/pages/references/References.jsx | 61 +++++++- vite.config.js | 3 +- 15 files changed, 439 insertions(+), 44 deletions(-) create mode 100644 public/images/logo-micro.png create mode 100644 src/css/contact.css create mode 100644 src/pages/delta/Contact.jsx create mode 100644 src/pages/delta/ContactStrip.jsx create mode 100644 src/pages/references/ContactCard.jsx 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 0000000000000000000000000000000000000000..a4d6231705f4bb63e84f9534256bf6994ba4deec GIT binary patch literal 25743 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 - + 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") }, }, });