From b089f08458a75f399f4086d74f30d7a9cf5cd5ac Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Wed, 25 Dec 2024 11:42:43 -0700 Subject: [PATCH] sync --- index.html | 4 ++ package-lock.json | 88 +++++++++++++++++++++++++++++++ package.json | 4 ++ public/images/one-ai-cropped.png | Bin 0 -> 58215 bytes src/App.jsx | 42 ++++++++++++--- src/Primary.jsx | 9 ++-- src/Projects.jsx | 32 ++++++++++- src/components/ProjectCard.jsx | 23 +++++++- src/components/SkillCard.jsx | 2 + src/main.css | 55 +++++++++++++++++++ 10 files changed, 244 insertions(+), 15 deletions(-) create mode 100644 public/images/one-ai-cropped.png diff --git a/index.html b/index.html index 4fe55b3e..a4b611c7 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,10 @@ rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" /> + Josh Ashton diff --git a/package-lock.json b/package-lock.json index 322516c7..73affaf7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,10 @@ "name": "portfolio", "version": "0.0.1", "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.7.2", + "@fortawesome/free-brands-svg-icons": "^6.7.2", + "@fortawesome/free-solid-svg-icons": "^6.7.2", + "@fortawesome/react-fontawesome": "^0.2.2", "react": "^18.2.0", "react-dom": "^18.2.0", "swiper": "^10.0.0" @@ -390,6 +394,64 @@ "node": ">=12" } }, + "node_modules/@fortawesome/fontawesome-common-types": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz", + "integrity": "sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/fontawesome-svg-core": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.2.tgz", + "integrity": "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==", + "license": "MIT", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.7.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-brands-svg-icons": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.7.2.tgz", + "integrity": "sha512-zu0evbcRTgjKfrr77/2XX+bU+kuGfjm0LbajJHVIgBWNIDzrhpRxiCPNT8DW5AdmSsq7Mcf9D1bH0aSeSUSM+Q==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.7.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/free-solid-svg-icons": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.7.2.tgz", + "integrity": "sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==", + "license": "(CC-BY-4.0 AND MIT)", + "dependencies": { + "@fortawesome/fontawesome-common-types": "6.7.2" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@fortawesome/react-fontawesome": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.2.tgz", + "integrity": "sha512-EnkrprPNqI6SXJl//m29hpaNzOp1bruISWaOiRtkMi/xSvHJlzc2j2JAYS7egxt/EbjSNV/k6Xy0AQI6vB2+1g==", + "license": "MIT", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "@fortawesome/fontawesome-svg-core": "~1 || ~6", + "react": ">=16.3" + } + }, "node_modules/esbuild": { "version": "0.18.20", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", @@ -480,6 +542,15 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -516,6 +587,17 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", @@ -541,6 +623,12 @@ "react": "^18.3.1" } }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" + }, "node_modules/rollup": { "version": "3.29.5", "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.5.tgz", diff --git a/package.json b/package.json index 75dcf369..7fa2e039 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,9 @@ { "dependencies": { + "@fortawesome/fontawesome-svg-core": "^6.7.2", + "@fortawesome/free-brands-svg-icons": "^6.7.2", + "@fortawesome/free-solid-svg-icons": "^6.7.2", + "@fortawesome/react-fontawesome": "^0.2.2", "react": "^18.2.0", "react-dom": "^18.2.0", "swiper": "^10.0.0" diff --git a/public/images/one-ai-cropped.png b/public/images/one-ai-cropped.png new file mode 100644 index 0000000000000000000000000000000000000000..5234b4a411df60b3d29e57d6ef1f12d58f5d18e2 GIT binary patch literal 58215 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 literal 0 HcmV?d00001 diff --git a/src/App.jsx b/src/App.jsx index 8461640d..0c9a082b 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,4 +1,4 @@ -import React, { useRef, useState } from "react"; +import React, { useEffect, useState } from "react"; import VerticalSlider from "./components/VerticalSlider"; import Primary from "./Primary"; import Skills from "./Skills"; @@ -12,9 +12,38 @@ import "./main.css"; * TODO: Read in data from a plain text file for easier editing in the future. */ export default function App() { - const cards = [, , ]; + // FUNCTION DATA + const [isMobile, setIsMobile] = useState(window.innerWidth <= 790); - const skills = { + useEffect(() => { + const handleResize = () => setIsMobile(window.innerWidth <= 790); + window.addEventListener("resize", handleResize); + return () => window.removeEventListener("resize", handleResize); + }, []); + + const initState = isMobile ? [true, false, false] : [true, true, true]; + + // DATA VARIABLES + /* + { + title: "", + description: "", + image: "", + imageGallery: null, + url: "" + }, +*/ + const projectData = [ + { + title: "One AI", + description: "ASDF", + image: "/images/projects/one-ai.png", + imageGallery: null, + url: "https://github.com/quaxlyqueen/one-ai", + }, + ]; + + const skillsData = { languages: ["Java", "JavaScript", "Go", "Dart", "Python", "C#"], tools: [ "Git & GitHub", @@ -40,11 +69,10 @@ export default function App() { secondaryText="Junior full-stack developer." callToAction="Here's my resume." image="/images/profile.jpg" - skills={skills} + skills={skillsData} + initState={initState} />, - , - , - , + , ]; return ; } diff --git a/src/Primary.jsx b/src/Primary.jsx index 8ec042e5..35b7585b 100644 --- a/src/Primary.jsx +++ b/src/Primary.jsx @@ -1,4 +1,4 @@ -// TODO: Replace h4 callToAction with a button callToAction. +// TODO: Replace h4 callToAction with a GREEN button callToAction. import React, { useState } from "react"; import SkillCard from "./components/SkillCard"; @@ -8,6 +8,7 @@ export default function Primary({ callToAction, image, skills, + initState, }) { return ( <> @@ -28,19 +29,19 @@ export default function Primary({ header="Languages" symbol="code" list={skills.languages} - initState={true} + initState={initState[0]} /> diff --git a/src/Projects.jsx b/src/Projects.jsx index 741c0ecf..3fe59b8f 100644 --- a/src/Projects.jsx +++ b/src/Projects.jsx @@ -1,5 +1,33 @@ import React from "react"; +import ProjectCard from "./components/ProjectCard"; -export default function Projects() { - return

TODO: Projects()

; +export default function Projects({ cardData }) { + return ( + <> +
+
+
+

Projects

+ +

+ Here are some projects of mine. Lorem ipsum odor amet, + consectetuer adipiscing elit. Purus molestie vel ornare volutpat + elit et per montes. Lacus fames diam a non taciti sem. +

+
+
+ {cardData.map((c) => ( + + ))} +
+
+
+ + ); } diff --git a/src/components/ProjectCard.jsx b/src/components/ProjectCard.jsx index e2e44d82..ee6de7ac 100644 --- a/src/components/ProjectCard.jsx +++ b/src/components/ProjectCard.jsx @@ -1,5 +1,24 @@ import React from "react"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { faGithub } from "@fortawesome/free-brands-svg-icons"; -export default function ProjectCard() { - return

TODO: Need to implement ProjectCard

; +export default function ProjectCard({ + title, + description, + image, + imageGallery, + url, +}) { + return ( +
+ +
+
+

{title}

+ +
+

{description}

+
+
+ ); } diff --git a/src/components/SkillCard.jsx b/src/components/SkillCard.jsx index 7c469bff..b22cf055 100644 --- a/src/components/SkillCard.jsx +++ b/src/components/SkillCard.jsx @@ -1,5 +1,7 @@ import React, { useState } from "react"; +// TODO: Add state which only allows one skill card at a time to be expanded. +// TODO: Ensure that the expandability of the skill card is only an option when @media max-width 790px (mobile) export default function SkillCard({ header, symbol, list, initState }) { const [isExpanded, setIsExpanded] = useState(initState); // Initial state diff --git a/src/main.css b/src/main.css index d76577d5..6b7e0bbb 100644 --- a/src/main.css +++ b/src/main.css @@ -51,6 +51,12 @@ body { overflow: hidden; } +.slide-container { + display: flex; + flex-direction: row; + justify-content: center; +} + .swiper-pagination-bullet { width: 18px; height: 18px; @@ -73,6 +79,55 @@ body { column-gap: 1vh; } +#project-container { + height: 100vh; + width: 100%; + display: flex; + flex-direction: row; + justify-content: center; + margin: 5vw; +} + +.project-grid-container { + margin: 2vw; + display: grid; + grid-template-columns: 100%; + grid-template-rows: 1% 90%; + row-gap: 2vh; +} + +.project-card { + background-color: #ebd2ff; + height: 70%; + display: grid; + grid-template-columns: 40% 40%; + grid-template-rows: 100%; + column-gap: 20vw; +} + +.project-text { + display: grid; + grid-template-columns: 100%; + grid-template-rows: 20% 70%; + align-text: left; +} + +.project-text h3 { + font-size: clamp(2rem, 2.5vw, 3rem); +} + +.row { + display: flex; + flex-direction: row; + justify-content: center; +} + +#project-cards-section { + display: flex; + flex-direction: column; + justify-content: center; +} + #header { width: 100%; overflow: hidden;